Results 1  10
of
10
Embedding as a tool for Language Comparison
, 1994
"... This paper addresses the problem of defining a formal tool to compare the expressive power of different concurrent constraint languages. We refine the notion of embedding by adding some "reasonable" conditions, suitable for concurrent frameworks. The new notion, called modular embedding, is used to ..."
Abstract

Cited by 32 (5 self)
 Add to MetaCart
This paper addresses the problem of defining a formal tool to compare the expressive power of different concurrent constraint languages. We refine the notion of embedding by adding some "reasonable" conditions, suitable for concurrent frameworks. The new notion, called modular embedding, is used to define a preorder among these languages, representing different degrees of expressiveness. We show that this preorder is not trivial (i.e. it does not collapse into one equivalence class) by proving that Flat CP cannot be embedded into Flat GHC, and that Flat GHC cannot be embedded into a language without communication primitives in the guards, while the converses hold. 4 A; C; D; G; M;O;P;R; T : In calligraphic style. ss; ff ; dd: In slanted style. \Sigma; \Gamma; #; oe; ; /; ø; ff. S ; [; "; ;; 2 j=; 6j=; ; 9 +; k; ~ +; ~ k; ! \Gamma! W ; \Gamma! ; ; \Gamma! W ; \Gamma! ; h; i; [[; ]]; d; e ffi; ?; ; 5 All reasonable programming languages are equivalent, since they are Turing...
Towards a Hierarchy of Negative Test Operators for Generative Communication
, 1998
"... Generative communication is a coordination paradigm that permits interprocess communication via the introduction and consumption of data to and from a shared common data space. We call negative test operators those coordination primitives able to test the absence of data in the common data space. In ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
Generative communication is a coordination paradigm that permits interprocess communication via the introduction and consumption of data to and from a shared common data space. We call negative test operators those coordination primitives able to test the absence of data in the common data space. In this paper we investigate the expressive power of this family of operators. To this aim, we concentrate on three possible primitives differing in the ability of instantaneously producing new data after the test: tfa(a) tests the absence of data of kind a, t&e(a) instantaneously produces a new occurrence of datum a after having tested that no other occurrences are available, t&p(a; b) atomically tests the absence of data a and produces one instance of datum b. We prove the existence of a strict hierarchy of expressiveness among these operators. 1 Introduction Many coordination languages allow interprocess communication via a shared data space sometimes called Tuple Space as in Linda [12], C...
From Concurrent Logic Programming to Concurrent Constraint Programming
 Programming, in: Advances in Logic Programming Theory
, 1993
"... The endeavor to extend logic programming to a language suitable for concurrent systems has stimulated in the last decade an intensive research, resulting in a large variety of proposals. A common feature of the various approaches is the attempt to define mechanisms for concurrency within the logical ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
The endeavor to extend logic programming to a language suitable for concurrent systems has stimulated in the last decade an intensive research, resulting in a large variety of proposals. A common feature of the various approaches is the attempt to define mechanisms for concurrency within the logical paradigm, the driving ideal being the balance between expressiveness and declarative reading. In this survey we present the motivations, the principal lines along which the field has developed, the various paradigms which have been proposed, and the main approaches to the semantic foundations. 1 Introduction Among the various reasons which have contributed to the popularity of logic programming, one is the opinion that it is an inherently parallel language, therefore suitable for parallel and distributed architectures. The pure language can already be regarded as a model for parallel computation: in the socalled process interpretation (van Emden and de Lucena 1982; Shapiro 1983), the goal...
Symmetric and Asymmetric Asynchronous Interaction
"... We investigate classes of systems based on different interaction patterns with the aim of achieving distributability. As our system model we use Petri nets. In Petri nets, an inherent concept of simultaneity is built in, since when a transition has more than one preplace, it can be crucial that toke ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We investigate classes of systems based on different interaction patterns with the aim of achieving distributability. As our system model we use Petri nets. In Petri nets, an inherent concept of simultaneity is built in, since when a transition has more than one preplace, it can be crucial that tokens are removed instantaneously. When modelling a system which is intended to be implemented in a distributed way by a Petri net, this builtin concept of synchronous interaction may be problematic. To investigate the problem we assume that removing tokens from places can no longer be considered as instantaneous. We model this by inserting silent (unobservable) transitions between transitions and their preplaces. We investigate three different patterns for modelling this type of asynchronous interaction. Full asynchrony assumes that every removal of a token from a place is time consuming. For symmetric asynchrony, tokens are only removed slowly in case of backward branched transitions, hence where the concept of simultaneous removal actually occurs. Finally we consider a more intricate pattern by allowing to remove tokens from preplaces of backward branched transitions asynchronously in sequence (asymmetric asynchrony). We investigate the effect of these different transformations of instantaneous interaction into asynchronous interaction patterns by comparing the behaviours of nets before and after insertion of the silent transitions. We exhibit for which classes of Petri nets we obtain equivalent behaviour with respect to failures equivalence. It turns out that the resulting hierarchy of Petri net classes can be described by semistructural properties. In case of full asynchrony and symmetric asynchrony, we obtain precise characterisations; for asymmetric asynchrony we obtain lower and upper bounds. We briefly comment on possible applications of our results to Message Sequence Charts.
State and Eventbased Reactive Programming in Shared Dataspaces
, 2002
"... The traditional Linda programming style, based on the introduction and consumption of data from a common repository, seems not adequate for highly dynamic applications in which it is important to observe modi cation of the environment which occur quickly. On the other hand, reactive programming ..."
Abstract
 Add to MetaCart
The traditional Linda programming style, based on the introduction and consumption of data from a common repository, seems not adequate for highly dynamic applications in which it is important to observe modi cation of the environment which occur quickly. On the other hand, reactive programming seems more appropriate for this kind of applications. In this paper we consider some approaches recently presented in the literature for embedding reactive programming in shared dataspaces, we present a possible classi cation for these approaches, and we perform a rigorous investigation of their relative advantages and disadvantages.
Research Overview and Plans
"... Machine of Berry and Boudol, and the Join calculus of L'evy and his colleagues. Unfortunately, at that time we didn't continue the project because we could not figure out an appropriate "logical meaning" of these extended clauses (which was our original goal). Later on, after Linear Logic became pop ..."
Abstract
 Add to MetaCart
Machine of Berry and Boudol, and the Join calculus of L'evy and his colleagues. Unfortunately, at that time we didn't continue the project because we could not figure out an appropriate "logical meaning" of these extended clauses (which was our original goal). Later on, after Linear Logic became popular, Andreoli and Pareshi have proposed an analogous language (Linear Objects) and have shown that it can be seen as a fragment of Linear Logic.
On Synchronous and Asynchronous Interaction in Distributed Systems
"... Abstract. When considering distributed systems, it is a central issue how to deal with interactions between components. In this paper, we investigate the paradigms of synchronous and asynchronous interaction in the context of distributed systems. We investigate to what extent or under which conditio ..."
Abstract
 Add to MetaCart
Abstract. When considering distributed systems, it is a central issue how to deal with interactions between components. In this paper, we investigate the paradigms of synchronous and asynchronous interaction in the context of distributed systems. We investigate to what extent or under which conditions synchronous interaction is a valid concept for specification and implementation of such systems. We choose Petri nets as our system model and consider different notions of distribution by associating locations to elements of nets. First, we investigate the concept of simultaneity which is inherent in the semantics of Petri nets when transitions have multiple input places. We assume that tokens may only be taken instantaneously by transitions on the same location. We exhibit a hierarchy of ‘asynchronous ’ Petri net classes by different assumptions on possible distributions. Alternatively, we assume that the synchronisations specified in a Petri net are crucial system properties. Hence transitions and their preplaces may no longer placed on separate locations. We then answer the question which systems may be implemented in a distributed way without restricting concurrency, assuming that locations are inherently sequential. It turns out that in both settings we find semistructural properties of Petri nets describing exactly the problematic situations for interactions in distributed systems. 1
1.1 Concurrent Logic Programming 1.2 Semantics of Logic Programming
, 1997
"... Research interests 1 Main research interests in the past ..."