On the expressive power of a language for programming coordination media

A programmable coordination medium is a shared communication device whose behaviour can be defined by means of a suitable programming language according to the global system needs. This notion has indeed an impact over the design of multi-component software system, since (part of) the system computational charge of can be in principle shifted from the communicating components (agents) to the communication device. At the same time, this raises the issue of the computational power of a programmable coordination medium, and of its expressiveness. As a meaningful example, this paper discusses the case of ReSpecT, the first-order logic language used by the ACL:T coordination model to define the behaviour of its multiple programmable logic tuple spaces, called tuple centres. Its expressiveness is discussed first by comparing ReSpecT with Petri Nets, taken as a reference model for the specification and design of concurrent and distr ibuted systems, then by presenting some simple cases of coordination systems designed around ReSpecT-programmed logic tuple spaces. Finally, we show that ReSpecT is Turing-powerful. This makes it possible to freely split the computational load of an ACt-T-based architecture between the communicating components and the communication device according to the design needs. In particular, this allows local and global system properties to be embodied where they naturally fit in, that is, respectively, into the coordination entities (ACE'/agents) and the coordination media (ACE'/" tuple centres).

[1]  Andrea Omicini,et al.  Logic Tuple Spaces for the Coordination of Heterogeneous Agents , 1996, FroCoS.

[2]  Andrea Omicini,et al.  An Extensible Frame work for the Development of Coordinated Applications , 1996, COORDINATION.

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

[4]  Andrea Omicini,et al.  Programmable Coordination Media , 1997, COORDINATION.

[5]  David Gelernter,et al.  Multiple Tuple Spaces in Linda , 1989, PARLE.

[6]  Naftaly H. Minsky,et al.  Law-Governed Linda as a Coordination Model , 1994, ECOOP Workshop.

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

[8]  David Gelernter,et al.  On What Linda Is: Formal Description of Linda as a Reactive System , 1997, International Conference on Coordination Models and Languages.

[9]  Andrea Omicini,et al.  Agent Coordination and Control through Logic Theories , 1995, AI*IA.

[10]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[11]  A. A. Holzbacher A Software Environment for Concurrent Coordinated Programming , 1996, COORDINATION.

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

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

[14]  Edsger W. Dijkstra,et al.  Co-operating sequential processes , 1968 .

[15]  Paolo Ciancarini,et al.  Coordination models and languages as software integrators , 1996, CSUR.

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

[17]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[18]  Peter Wegner,et al.  Interactive , 2021, Encyclopedia of the UN Sustainable Development Goals.

[19]  John C. Shepherdson,et al.  Computability of Recursive Functions , 1963, JACM.

[20]  Daniel Le Métayer,et al.  The GAMMA Model and Its Discipline of Programming , 1990, Sci. Comput. Program..

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

[22]  Farhad Arbab,et al.  An overview of manifold and its implementation , 1993, Concurr. Pract. Exp..

[23]  Andrea Omicini,et al.  Merging Logic Programming into Web-based technology: a Coordination-based approach , 1997 .

[24]  Andrea Omicini,et al.  Designing Multi-agent Systems around an Extensible Communication Abstraction , 1997, ModelAge Workshop.

[25]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..