Results 11 - 20
of
42
Concurrent METATEM - A Language for Modelling Reactive Systems
- In Parallel Architectures and Languages
, 1993
"... . In this paper, a language based on the notion of concurrent, communicating objects is presented. Each object executes a specification given in temporal logic and communicates with other objects using asynchronousbroadcast message-passing. In contrast to the notions of predicates as processes and s ..."
Abstract
-
Cited by 23 (15 self)
- Add to MetaCart
. In this paper, a language based on the notion of concurrent, communicating objects is presented. Each object executes a specification given in temporal logic and communicates with other objects using asynchronousbroadcast message-passing. In contrast to the notions of predicates as processes and stream parallelism seen in concurrent logic languages, Concurrent METATEM represents a more course-grained approach, where an object consists of a set of temporal rules and communication is achieved by the evaluation of certain types of predicate. Thus, Concurrent METATEM represents a combination of the direct execution of temporal specifications, together with a novel model of concurrent computation and, as such, it provides a new approach to the modelling of complex reactive systems. 1 Introduction A wide variety of computer systems are reactive. Rather than simply reading a set of inputs and producing, on termination, a set of outputs, reactive systems typically consist of nonterminating...
LO and Behold! Concurrent Structured Processes
- In Proc. of OOPSLA /ECOOP'90
, 1990
"... We introduce a novel concurrent logic programming language, which we call LO, based on an extension of Horn logic. This language enhances the process view of objects implementable in Horn-based concurrent logic programming languages with powerful capabilities for knowledge structuring, leading to ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
We introduce a novel concurrent logic programming language, which we call LO, based on an extension of Horn logic. This language enhances the process view of objects implementable in Horn-based concurrent logic programming languages with powerful capabilities for knowledge structuring, leading to a flexible form of variable-structure inheritance. The main novelty about LO is a new kind of OR-concurrency which is dual to the usual AND-concurrency and provides us with the notion of structured process. Such OR-concurrency can be nicely characterized with a sociological metaphor as modelling the internal distribution of tasks inside a complex organization; this complements the external cooperation among different entities accounted for by AND-concurrency.
Concurrency among strangers: Programming in E as plan coordination
- In Trustworthy Global Computing, International Symposium, TGC 2005
, 2005
"... Abstract. Programmers write programs, expressing plans for machines to execute. When composed so that they may cooperate, plans may instead interfere with each other in unanticipated ways. Plan coordination is the art of simultaneously enabling plans to cooperate, while avoiding hazards of destructi ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
Abstract. Programmers write programs, expressing plans for machines to execute. When composed so that they may cooperate, plans may instead interfere with each other in unanticipated ways. Plan coordination is the art of simultaneously enabling plans to cooperate, while avoiding hazards of destructive plan interference. For sequential computation within a single machine, object programming supports plan coordination well. For concurrent computation, this paper shows how hard it is to use locking to prevent plans from interfering without also destroying their ability to cooperate. In Internet-scale computing, machines proceed concurrently, interact across barriers of large latencies and partial failure, and encounter each other’s misbehavior. Each dimension presents new plan coordination challenges. This paper explains how the E language addresses these joint challenges by changing only a few concepts of conventional sequential object programming. Several projects are adapting these insights to existing platforms. 1
Executable Temporal Logic for Distributed A.I.
, 1993
"... This paper describes Concurrent METATEM, a programming language based on temporal logic, and applies it to the study of Distributed Artificial Intelligence (DAI). A Concurrent METATEM system consists of a number of asynchronously executing objects, which are able to communicate through broadcast mes ..."
Abstract
-
Cited by 12 (10 self)
- Add to MetaCart
This paper describes Concurrent METATEM, a programming language based on temporal logic, and applies it to the study of Distributed Artificial Intelligence (DAI). A Concurrent METATEM system consists of a number of asynchronously executing objects, which are able to communicate through broadcast message-passing. Each individual object directly executes a specification of its desired behaviour. Such specifications are given using a set of temporal logic `rules', determining how the object may generate `commitments', which it subsequently attempts to satisfy. This language provides a novel and powerful approach to representing DAI systems, where individual `agents' are specified in a natural way using temporal logic, while groups of agents communicate by broadcasting information. The paper begins by discussing and justifying the Concurrent METATEM approach, and then describes objects and their execution in more detail. Several examples are presented, demonstrating the utility of Concurre...
Methods as Assertions
, 1994
"... . A method definition can be viewed as a logical assertion. Whenever we declare a method as the implementation of an operation, we assert that if the operation is invoked on objects of the appropriate types then the method body will satisfy the specification of the operation. This view of methods as ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
. A method definition can be viewed as a logical assertion. Whenever we declare a method as the implementation of an operation, we assert that if the operation is invoked on objects of the appropriate types then the method body will satisfy the specification of the operation. This view of methods as assertions is simple but general. Among its applications are: methods defined on interfaces as well as on classes; an elementary type system for objects that handles multi-methods; and a mechanism for method dispatch based on the desired output type as well as on the types of arguments. Further, these applications are compatible with traditional execution models and implementation techniques. Logical reasoning about methods plays a role at compile time, then gets out of the way. 1 Introduction An object is commonly characterized as a collection of data together with associated procedures, called methods. Each method implements an operation on the object; an operation may have other impleme...
Parallel Programming with Logic Languages: a Survey
, 1992
"... Formal properties of logic languages are largely studied; however, their impact on the practice of software design and programming is currently minimal. In this paper we survey some interesting representatives of the family of logic languages aiming at comparing the different capabilities they of ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
Formal properties of logic languages are largely studied; however, their impact on the practice of software design and programming is currently minimal. In this paper we survey some interesting representatives of the family of logic languages aiming at comparing the different capabilities they offer for designing and programming parallel systems. The logic languages Prolog, Aurora, Flat Concurrent Prolog, Parlog, GHC, and DeltaProlog were chosen, because a suitable set of relevant examples has been published, mostly by the language designers themselves. A number of sample programs is used to expose and compare the languages with respect to their object oriented programming capabilities for multiprocess coordination, interprocess communication, and resource management. Special attention is devoted also to metaprogramming as well, seen as a useful technique for specifying and building the operating environments of the languages themselves. The paper ends with a discussion on ...
Actor Prolog: an Object-Oriented Language with the Classical Declarative Semantics
- Semantics, Proc. IDL’99 Workshop
, 1999
"... This article considers the following central ideas underlying Actor Prolog: the classes and worlds, the mechanism of repetitive proof of subgoals, the underdetermined sets. The logical means of Actor Prolog cover the definitional possibilities of structural, dynamic and information aspects of the ob ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
This article considers the following central ideas underlying Actor Prolog: the classes and worlds, the mechanism of repetitive proof of subgoals, the underdetermined sets. The logical means of Actor Prolog cover the definitional possibilities of structural, dynamic and information aspects of the object-oriented programming. The most interesting idea of Actor Prolog is the repetitive proof of subgoals, that allows implementation of the operation of destructive assignment and thus is a new solution of the frame problem. All the logical means of Actor Prolog have a classical declarative (model-theoretic) semantics.
Object-Oriented Computations in Logic Programming
- Object-Oriented Programming. LNCS 821
, 1994
"... When interpreted as a model for structuring programs and organizing computations, the object-oriented paradigm can be thought as a set of abstractions independent of the host language. By generalizing the notion of object state configuration with respect to that embedded in languages based on assign ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
When interpreted as a model for structuring programs and organizing computations, the object-oriented paradigm can be thought as a set of abstractions independent of the host language. By generalizing the notion of object state configuration with respect to that embedded in languages based on assignment, this paper explores a relational approach to object-oriented programming. An object-oriented model based on the notion of object as structured logic theory, is introduced, allowing instance creation and configuration as well as computations with partially configured objects. The model is founded on an abductive framework rooted in the basic class/instance model of O-OP, which reconciles dynamic object creation with the declarative reading of LP. Meta-level constraints provide the computational support for the abstract model based on abduction. A simple first-order logic language implementing this model is presented, along with some examples of object-oriented logic computations dealing with intraand inter-object constraints and with partially specified instances.
Towards a General Approach for Modeling Actions and Change in Cooperating Agents Scenarios
- Journal of the IGPL
, 1995
"... . The ultimate aim of this work is to find a semantics for reasoning about actions and change in cooperating agent scenarios based on the concept of so called logical fiberings. As a first step in this direction we describe a small but non-trivial 3-agent-robotics scenario using two different method ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
. The ultimate aim of this work is to find a semantics for reasoning about actions and change in cooperating agent scenarios based on the concept of so called logical fiberings. As a first step in this direction we describe a small but non-trivial 3-agent-robotics scenario using two different methods, viz. resource-oriented deductive planning and the mathematical framework of logical fiberings. By means of this scenario both methods are illustrated, compared and the correspondences between the basic notions for both methods are clarified. The fiberings method is found to be very useful in modeling communication and interaction between cooperating agents, due to the possibility to switch between a local/global point of view which is inherent to this framework. We formulate a generic modeling principle using this notion. Furthermore, possible extensions of the framework, like formulas depending on space and/or time, are discussed. 1 Introduction The objective of this work is to provide ...
Object Logic Integration: a Multiparadigm Design Methodology and a Programming Language
- Computer Languages
, 1997
"... In the past decade, there has been much research effort dedicated to combine the objectoriented programming paradigm and the logic programming paradigm. Most of this effort sheds light upon the philosophy of multiparadigm programming as a near ideal mental model for a wide class of problem domains. ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
In the past decade, there has been much research effort dedicated to combine the objectoriented programming paradigm and the logic programming paradigm. Most of this effort sheds light upon the philosophy of multiparadigm programming as a near ideal mental model for a wide class of problem domains. In this paper we propose a scheme for object and logic integration---the OLI scheme. This scheme contributes to the multiparadigm programming philosophy by putting forward a multiparadigm design methodology and describing a multiparadigm programming language. Above all, the OLI scheme integrates the object-oriented and the logic programming paradigms at the design and language levels with a precise and well-balanced interface so that each paradigm shares an equal and cooperating partnership in problem analysis and problem solving. An important property of the OLI language is that programmers can program either in one of the paradigms alone or in a mixed paradigm without sacrificing expressiv...

