Process Algebras with Localities

Abstract Process algebras can be enriched with localities that explicitly describe the distribution of processes. Localities may represent physical machines, or more generally distribution units where processes are grouped according to some criterion like the sharing of resources. In a concurrent process, localities are naturally associated with (groups of) parallel components. These localities then intervene in the semantics of processes and become part, to some extent, of their observable behaviour. In a first line of research, initiated in the early nineties, localities have been used to give noninterleaving semantics for process algebras, and particularly for Milner's calculus CCS. Here localities are used to differentiate parallel components. The resulting semantics, taking into account distribution, is more discriminating than the standard interleaving semantics of the calculus. It is also incomparable with other noninterleaving semantics proposed for CCS, based on the notion of causality. More recently, localities have appeared in a number of new calculi for describing mobile processes. The idea here is that some “network awareness” is required to model wide-area distributed mobile computation. In these calculi localities are more than simple units of distribution. According to the case, they become units of failure, of communication, of migration or of security. This chapter reviews in some detail the first body of work, and tries to delineate the main ideas of the more recent studies, which are still, for the most part, at an early stage of development.

[1]  Dirk Taubner,et al.  Finite Representations of CCS and TCSP Programs by Automata and Petri Nets , 1989, Lecture Notes in Computer Science.

[2]  L. Aceto Action refinement in process algebras , 1992 .

[3]  Luca Aceto History preserving, causal and mixed-ordering equivalence over stable event structures , 1992, Fundam. Informaticae.

[4]  A. Mazurkiewicz Concurrent Program Schemes and their Interpretations , 1977 .

[5]  Frits W. Vaandrager,et al.  The Difference between Splitting in n and n+1 , 1995, Inf. Comput..

[6]  J. Grabowski,et al.  On partial languages , 1981, Fundam. Informaticae.

[7]  Roberto Gorrieri,et al.  An Extended Expansion Theorem , 1991, TAPSOFT, Vol.2.

[8]  Gérard Boudol The π-calculus in direct style , 1997, POPL '97.

[9]  Ursula Goltz On Representing CCS Programs by Finite Petri Nets , 1988, MFCS.

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

[11]  Jean-Hugues Réty,et al.  Distributed Concurrent Constraint Programming , 1998, Fundam. Informaticae.

[12]  Frits W. Vaandrager A simple definition for parallel composition of prime event structures , 1989 .

[13]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[14]  Rita Loogen,et al.  Modelling nondeterministic concurrent processes with event structures , 1991, Fundam. Informaticae.

[15]  Glynn Winskel,et al.  Bisimulation and open maps , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[16]  Antoni W. Mazurkiewicz,et al.  Trace Theory , 1986, Advances in Petri Nets.

[17]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[18]  Ernst-Rüdiger Olderog,et al.  Operational Petri net semantics for CCSP , 1986, European Workshop on Applications and Theory of Petri Nets.

[19]  Gian Luigi Ferrari,et al.  Parameterized Structured Operational Semantics , 1998, Fundam. Informaticae.

[20]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[21]  Vaughan R. Pratt,et al.  The Pomset Model of Parallel Processes: Unifying the Temporal and the Spatial , 1984, Seminar on Concurrency.

[22]  Ursula Goltz,et al.  Refinement of Actions in Causality Based Models , 1990, REX Workshop.

[23]  Jay Loren Gischer,et al.  Partial orders and the axiomatic theory of shuffle (pomsets) , 1985 .

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

[25]  Ilaria Castellani,et al.  On the Semantics of Concurrency: Partial Orders and Transition Systems , 1987, TAPSOFT, Vol.1.

[26]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[27]  Ursula Goltz,et al.  Equivalence Notions for Concurrent Systems and Refinement of Actions (Extended Abstract) , 1989, MFCS.

[28]  James Riely,et al.  Distributed processes and location failures , 2001, Theor. Comput. Sci..

[29]  Alan Mycroft,et al.  On the Relationship of CCS and Petri Nets , 1984, ICALP.

[30]  Ursula Goltz,et al.  Equivalences and Refinement , 1990, Semantics of Systems of Concurrent Processes.

[31]  Jean-Jacques Lévy,et al.  Some Results in the Joint-Calculus , 1997, TACS.

[32]  Mogens Nielsen CCS - and its Relationship to Net Theory , 1986, Advances in Petri Nets.

[33]  Jan Vitek,et al.  Seal: A Framework for Secure Mobile Computations , 1998, ICCL Workshop: Internet Programming Languages.

[34]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

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

[36]  Luca Aceto,et al.  On Relating Concurency and Nondeterminism , 1991, MFPS.

[37]  Luca Aceto,et al.  Towards Action-Refinement in Process Algebras , 1993, Inf. Comput..

[38]  Luca Cardelli,et al.  Workshop on Internet Programming Languages , 1998 .

[39]  Ilaria Castellani Observing Distribution in Processes: Static and Dynamic Localities , 1995, Int. J. Found. Comput. Sci..

[40]  Roberto M. Amadio An Asynchronous Model of Locality, Failurem and Process Mobility , 1997, COORDINATION.

[41]  Gian Luigi Ferrari,et al.  Unifying models of concurrency , 1990 .

[42]  Ilaria Castellani,et al.  Concurrency and Atomicity , 1988, Theor. Comput. Sci..

[43]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[44]  Matthew Hennessy A Typed Language for Distributed Mobile Processes , 1998 .

[45]  Rocco De Nicola,et al.  Partial orderings descriptions and observations of nondeterministic concurrent processes , 1988, REX Workshop.

[46]  Davide Sangiorgi,et al.  Controlling interference in ambients , 2000, POPL '00.

[47]  Davide Sangiorgi The Name Discipline of Uniform Receptiveness , 1999, Theor. Comput. Sci..

[48]  Philippe Darondeau,et al.  Causal Trees: Interleaving + Causality , 1989, Semantics of Systems of Concurrent Processes.

[49]  Philippe Darondeau,et al.  Structural Operational Specifications and the Trace Automata , 1992, CONCUR.

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

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

[52]  Mogens Nielsen,et al.  A calculus of communicating systems with label passing - ten years after , 1986, Proof, Language, and Interaction.

[53]  Luca Aceto,et al.  Adding Action Refinement to a Finite Process Algebra , 1994, Inf. Comput..

[54]  Glynn Winskel,et al.  Models for concurrency: towards a classification , 1996 .

[55]  Ilaria Castellani,et al.  Permutation of transitions: An event structure semantics for CCS and SCCS , 1988, REX Workshop.

[56]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[57]  Ursula Goltz,et al.  Refinement of actions and equivalence notions for concurrent systems , 2001, Acta Informatica.

[58]  Matthew Hennessy,et al.  Axiomatising Finite Concurrent Processes , 1988, SIAM J. Comput..

[59]  Rocco De Nicola,et al.  On the consistency of 'truly concurrent' operational and denotational semantics , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[60]  Wolfgang Reisig,et al.  CSP-programs with individual tokens , 1984, European Workshop on Applications and Theory in Petri Nets.

[61]  Ilaria Castellani,et al.  Bisimulations for concurrency , 1987 .

[62]  Rocco De Nicola,et al.  Observational equivalences for concurrency models , 1987, Formal Description of Programming Concepts.

[63]  Ugo Montanari,et al.  A Parametric Approach to Localities , 1992, ICALP.

[64]  Rob J. van Glabbeek The Refinement Theorem for ST-bisimulation Semantics , 1990, Programming Concepts and Methods.

[65]  Luca Aceto,et al.  Structural Operational Semantics , 1999, Handbook of Process Algebra.

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

[67]  Walter Vogler,et al.  Behaviour Preserving Refinement of Petri Nets , 1986, WG.

[68]  Joachim Parrow,et al.  An Introduction to the π-Calculus , 2001, Handbook of Process Algebra.

[69]  Padmanabhan Krishnan,et al.  Distributed CCS , 1991, CONCUR.

[70]  Raymond R. Devillers,et al.  On the Definition of a Bisimulation Notion Based on Partial Words , 1988 .

[71]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[72]  B. Pierce,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[73]  Ursula Goltz,et al.  Parial order semantics for refinement of actions - neither necessary nor always sufficient but appropriate when used with care , 1989, Bull. EATCS.

[74]  Roberto Gorrieri,et al.  SCONE: A Simple Calculus of Nets , 1990, CONCUR.

[75]  Luca Aceto,et al.  Relating distributed, temporal and causal observations of simple processes , 1992, Fundam. Informaticae.

[76]  Ugo Montanari,et al.  Location Equivalence in Parametric Setting , 1995, Theor. Comput. Sci..

[77]  Madhavan Mukund,et al.  CCS, Locations and Asynchronous Transition Systems , 1992 .

[78]  Luca Cardelli,et al.  Anytime, anywhere: modal logics for mobile ambients , 2000, POPL '00.

[79]  Davide Sangiorgi,et al.  From pi-Calculus to Higher-Order pi-Calculus - and Back , 1993, TAPSOFT.

[80]  James Riely,et al.  Type-Safe Execution of Mobile Agents in Anonymous Networks , 1998, ECOOP Workshops.

[81]  Cosimo Laneve,et al.  Bisimulations in the join-calculus , 1998 .

[82]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[83]  Józef Winkowski,et al.  Behaviours of Concurrent Systems , 1980, Theor. Comput. Sci..

[84]  Glynn Winskel,et al.  Events in computation , 1980 .

[85]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[86]  Rob J. van Glabbeek,et al.  Petri Net Models for Algebraic Theories of Concurrency , 1987, PARLE.

[87]  Peter Sewell,et al.  Nomadic Pict: language and infrastructure design for mobile agents , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.

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

[89]  Rocco De Nicola,et al.  A Partial Ordering Semantics for CCS , 1990, Theor. Comput. Sci..

[90]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[91]  Matthew Hennessy,et al.  Distributed bisimulations , 1989, JACM.

[92]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[93]  José Meseguer,et al.  On the Semantics of Petri Nets , 1992, CONCUR.

[94]  Eike Best,et al.  Nonsequential Processes , 1988, EATCS Monographs on Theoretical Computer Science.

[95]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[96]  Benjamin C. Pierce,et al.  Location-Independent Communication for Mobile Agents: A Two-Level Architecture , 1998, ICCL Workshop: Internet Programming Languages.

[97]  Philippe Darondeau,et al.  Refinement of Actions in Event Structures and Causal Trees , 1993, Theor. Comput. Sci..

[98]  Rocco De Nicola,et al.  Locality Based Linda: Programming with Explicit Localities , 1997, TAPSOFT.

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

[100]  Roberto M. Amadio,et al.  The receptive distributed π-calculus , 1999, TOPL.

[101]  Astrid Kiehn Proof Systems for Cause Based Equivalences , 1993, MFCS.

[102]  Wolfgang Reisig,et al.  The Non-sequential Behavior of Petri Nets , 1983, Inf. Control..

[103]  Peter Sewell Global/Local Subtyping and Capability Inference for a Distributed pi-calculus , 1998, ICALP.

[104]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[105]  James Riely,et al.  Resource Access Control in Systems of Mobile Agents , 2002, HLCL.

[106]  Ilaria Castellani,et al.  Parallel Product of Event Structures , 1997, Theor. Comput. Sci..

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

[108]  Rocco De Nicola,et al.  Distribution and Locality of Concurrent Systems , 1994, ICALP.

[109]  Arend Rensink,et al.  Action Refinement , 1999, Handbook of Process Algebra.

[110]  Davide Sangiorgi,et al.  On Asynchrony in Name-Passing Calculi , 1998, ICALP.

[111]  Marek Antoni Bednarczyk,et al.  Categories of asynchronous systems , 1987 .

[112]  Cédric Fournet,et al.  The Join Calculus: A Language for Distributed Mobile Programming , 2000, APPSEM.

[113]  Ugo Montanari,et al.  Partial ordering derivations for CCS , 1985, FCT.

[114]  Philippe Darondeau,et al.  Causal Trees , 1989, ICALP.

[115]  Marco Pistore,et al.  Efficient Minimization up to Location Equivalence , 1996, ESOP.

[116]  Glynn Winskel,et al.  Petri Nets, Algebras, Morphisms, and Compositionality , 1987, Inf. Comput..

[117]  Ilaria Castellani,et al.  Flow Models of Distributed Computations: Three Equivalent Semantics for CCS , 1994, Inf. Comput..

[118]  S. T. Buckland,et al.  An Introduction to the Bootstrap. , 1994 .

[119]  Davide Sangiorgi,et al.  Locality and Interleaving Semantics in Calculi for Mobile Processes , 1996, Theor. Comput. Sci..

[120]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[121]  Luca Cardelli,et al.  Mobility Types for Mobile Ambients , 1999, ICALP.

[122]  James Riely,et al.  Trust and partial typing in open systems of mobile agents , 1999, POPL '99.

[123]  Mario Tokoro,et al.  On Asynchronous Communication Semantics , 1991, Object-Based Concurrent Computing.

[124]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[125]  Corrado Priami,et al.  Proved Trees , 1992, ICALP.

[126]  Mario Bravetti,et al.  Deciding and axiomatizing weak ST bisimulation for a process algebra with recursion and action refinement , 2002, TOCL.

[127]  Søren Christensen Decidability and decomposition in process algebras , 1993 .

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

[129]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[130]  Glynn Winskel,et al.  Categories of Models for Concurrency , 1984, Seminar on Concurrency.