On the expressiveness of coordination via shared dataspaces

A number of different coordination models for specifying inter-process communication and synchronisation rely on a notion of shared dataspace. Many of these models are extensions of the Linda coordination model, which includes operations for adding, deleting and testing the presence/absence of data in a shared dataspace.We compare the expressive power of three classes of coordination models based on shared dataspaces. The first class relies on Linda's communication primitives, while a second class relies on the more general notion of multi-set rewriting (e.g., like Bauhaus Linda or Gamma). Finally, we consider a third class of models featuring communication transactions that consist of sequences of Linda-like operations to be executed atomically (e.g., like in Shared Prolog or PoliS).

[1]  Frank S. de Boer,et al.  Partial Order and SOS Semantics for Linear Constraint Programs , 1997, COORDINATION.

[2]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[3]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[4]  Robert Tolksdorf Coordinating Services in Open Distributed Systems with LAURA , 1996, COORDINATION.

[5]  Ehud Shapiro,et al.  Embeddings Among Concurrent Programming Languages (Preliminary Version) , 1992, CONCUR.

[6]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[7]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[8]  Jean-Marie Jacquet,et al.  On the Expressiveness of Linda-like Concurrent Languages , 1998, EXPRESS.

[9]  Jean-Marie Jacquet,et al.  Towards Resource Handling in Logic Programming: The PPL Framework and its Semantics , 1996, Comput. Lang..

[10]  Roberto Gorrieri,et al.  A Process Algebraic View of Linda Coordination Primitives , 1998, Theor. Comput. Sci..

[11]  Paolo Ciancarini,et al.  Jada - Coordination and Communication for Java Agents , 1996, Mobile Object Systems.

[12]  Antonio Brogi,et al.  The concurrent language, Shared Prolog , 1991, TOPL.

[13]  Frank S. de Boer,et al.  Embedding as a Tool for Language Comparison , 1994, Inf. Comput..

[14]  Roberto Gorrieri,et al.  On the Turing equivalence of Linda coordination primitives , 1999, EXPRESS.

[15]  Ehud Shapiro Embeddings Among Concurrent Programming Languages (Abstract) , 1991, PARLE.

[16]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[17]  Matthias Felleisen,et al.  On the Expressive Power of Programming Languages , 1990, European Symposium on Programming.

[18]  Antony I. T. Rowstron,et al.  BONITA: a set of tuple space primitives for distributed coordination , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[19]  Gianluigi Zavattaro,et al.  Towards a Hierarchy of Negative Test Operators for Generative Communication , 1998, EXPRESS.

[20]  Jean-Marie Jacquet,et al.  On the semantics of μ Log , 1994, Future Gener. Comput. Syst..

[21]  Nicholas Carriero,et al.  Bauhaus Linda , 1994, ECOOP Workshop.

[22]  Marcello M. Bonsangue,et al.  Comparing coordination models based on shared distributed replicated data , 1999, SAC '99.

[23]  Daniel Le Métayer,et al.  Programming by multiset transformation , 1993, CACM.

[24]  Gianluigi Zavattaro On the incomparability of Gamma and Linda , 1998 .

[25]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.