Free-algebra models for the pi -calculus

The finite π -calculus has an explicit set-theoretic functor-category model that is known to be fully abstract for strong late bisimulation congruence. We characterize this as the initial free algebra for an appropriate set of operations and equations in the enriched Lawvere theories of Plotkin and Power. Thus we obtain a novel algebraic description for models of the π -calculus, and validate an existing construction as the universal such model. The algebraic operations are intuitive, covering name creation, communication of names over channels, and nondeterministic choice; the equations then combine these features in a modular fashion. We work in an enriched setting, over a “possible worlds” category of sets indexed by available names. This expands significantly on the classical notion of algebraic theories: we can specify operations that act only on fresh names, or have arities that vary as processes evolve. Based on our algebraic theory of π we describe a category of models for the π -calculus, and show that they all preserve bisimulation congruence. We develop a direct construction of free models in this category; and generalise previous results to prove that all free-algebra models are fully abstract. We show how local modifications to the theory can give alternative models for π I and the early π -calculus. From the theory of π we also obtain a Moggi-style computational monad, suitable for a programming language semantics of mobile communicating systems. This addresses the challenging area of correctly combining computational monads: in this case those for concurrency, name generation, and communication. c © 2007 Elsevier B.V. All rights reserved.

[1]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

[2]  Andrew M. Pitts,et al.  On a monadic semantics for freshness , 2005, Theor. Comput. Sci..

[3]  Glynn Winskel,et al.  Presheaf Models for the pi-Calculus , 1997, Category Theory and Computer Science.

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

[5]  I. Stark,et al.  A fully abstract domain model for the /spl pi/-calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[6]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[7]  Daniele Turi,et al.  Semantics of name and value passing , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[8]  Edmund Robinson Variations on Algebra: Monadicity and Generalisations of Equational Therories , 2002, Formal Aspects of Computing.

[9]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[10]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[11]  B. Day On closed categories of functors , 1970 .

[12]  Peter Sewell,et al.  Models for name-passing processes: interleaving and causal , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[13]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and the asynchronous π-calculus , 1998, POPL '97.

[14]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[15]  John Power Enriched Lawvere Theories , .

[16]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[17]  I. Stark Free-Algebra Models for the π-Calculus , 1997 .

[18]  Gérard Boudol,et al.  Asynchrony and the Pi-calculus , 1992 .

[19]  Ulrich Schöpp,et al.  A Dependent Type Theory with Names and Binding , 2004, CSL.

[20]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[21]  Bent Thomsen,et al.  A fully abstract denotational semantics for the calculus of higher-order communicating systems , 2001, Theor. Comput. Sci..

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

[23]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[24]  Sam Staton,et al.  Comparing Operational Models of Name-Passing Process Calculi , 2004, CMCS.

[25]  Mario Tokoro,et al.  An Object Calculus for Asynchronous Communication , 1991, ECOOP.

[26]  G. M. Kelly,et al.  Adjunctions whose counits are coequalizers, and presentations of finitary enriched monads , 1993 .

[27]  Peter W. O'Hearn,et al.  Parametricity and local variables , 1995, JACM.

[28]  Gordon D. Plotkin,et al.  Abstract syntax and variable binding , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[29]  Björn Victor,et al.  On the Expressiveness of Linearity vs Persistence in the Asychronous Pi-Calculus , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[30]  D. Sangiorgi - calculus , internal mobility , and agent-passing calculi , 1995 .

[31]  Ian Stark Categorical models for local names , 1996, LISP Symb. Comput..

[32]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[33]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .