Locality Based Linda: Programming with Explicit Localities

In this paper we investigate the issue of defining a programming calculus which supports programming with explicit localities. We introduce a language which embeds the asynchronous Linda communication paradigm extended with explicit localities in a process calculus. We consider multiple tuple spaces that are distributed over a collections of sites and use localities to distribute/retrieve tuples and processes over/from these sites. The operational semantics of the language turns out to be useful for discussing the language design, e.g. the effects of scoping disciplines over mobile agents which maintain their connections to the located tuple spaces while moving along sites. The flexibility of the language is illustrated by a few examples.

[1]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[2]  John H. Reppy,et al.  Higher-Order Concurrency , 1992 .

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

[4]  Lone Leth Thomsen,et al.  Some Issues in the Semantics of Facile Distributed Programming , 1992, REX Workshop.

[5]  Takayasu Ito,et al.  Theory and Practice of Parallel Programming , 1995, Lecture Notes in Computer Science.

[6]  Luca Cardelli,et al.  Global computation , 1996, CSUR.

[7]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..

[8]  Gianna Reggio,et al.  SMoLCS-Driven Concurrent Calculi , 1987, TAPSOFT, Vol.1.

[9]  David Murphy Observing Located Concurrency , 1993, MFCS.

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

[11]  Rocco De Nicola,et al.  Locality based semantics for process algebras , 1997, Acta Informatica.

[12]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[13]  Jerrold Sol Leichter Shared tuple memories, shared memories, buses and lan's--linda implementations across the spectrum of connectivity , 1989 .

[14]  Jean-Jacques Lévy,et al.  A Calculus of Mobile Agents , 1996, CONCUR.

[15]  Rocco De Nicola,et al.  A Process Algebra Based on LINDA , 1996, COORDINATION.

[16]  Grzegorz Rozenberg,et al.  Semantics: Foundations and Applications , 1992, Lecture Notes in Computer Science.

[17]  Luca Cardelli,et al.  A language with distributed scope , 1995, POPL '95.

[18]  Matthew Hennessy,et al.  Observing Localities , 1993, Theor. Comput. Sci..

[19]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

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

[21]  Benjamin C. Pierce,et al.  Concurrent Objects in a Process Calculus , 1994, Theory and Practice of Parallel Programming.