A theory of bisimulation for a fragment of concurrent ML with local names

Concurrent ML is an extension of Standard ML with π-calculus-like primitives for multithreaded programming. CML has a reduction semantics, but to date there has been no labelled transition system semantics provided for the entire language. In this paper, we present a labelled transition semantics for a fragment of CML called µvCML which includes features not covered before: dynamically generated local channels and thread identifiers. We show that weak bisimilarity for µvCML is a congruence, and coincides with barbed bisimulation congruence. We also provide a variant of Sangiorgi's normal bisimulation for µvCML, and show that this too coincides with bisimilarity.

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

[2]  Robin Milner,et al.  Deriving Bisimulation Congruences for Reactive Systems , 2000, CONCUR.

[3]  Eugene W. Stark,et al.  Operational semantics of a focusing debugger , 1995, MFPS.

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

[5]  Douglas J. Howe Equality in lazy computation systems , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[6]  G. Erard Boudol Asynchrony and the -calculus (note) , 1992 .

[7]  Robin Milner,et al.  A semantics for ML concurrency primitives , 1992, POPL '92.

[8]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[9]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

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

[11]  Gérard Boudol The π-Calculus in Direct Style , 1998, High. Order Symb. Comput..

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

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

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

[15]  Bent Thomsen,et al.  Calculi for higher order communicating systems , 1990 .

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

[17]  I. Stark,et al.  On the Observable Properties of Higher Order Functions that Dynamically Create Local Names (Preliminary Report) , 1993 .

[18]  Julian Rathke,et al.  A theory of bisimulation for a fragment of Concurrent ML with local names , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[19]  G. Erard Boudol The -calculus in Direct Style (*) , 1997 .

[20]  Robin Milner,et al.  Definition of standard ML , 1990 .

[21]  Peter Sewell,et al.  From Rewrite to Bisimulation Congruences , 1998, CONCUR.

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

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

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

[25]  Robin Milner,et al.  The Problem of "Weak Bisimulation up to" , 1992, CONCUR.

[26]  Matthew Hennessy,et al.  A theory of weak bisimulation for core CML , 1996, ICFP '96.

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

[28]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[29]  Andrew D. Gordon Bisimilarity as a theory of functional programming , 1995, MFPS.

[30]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

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

[32]  Peter Sewell,et al.  From rewrite rules to bisimulation congruences , 2002, Theor. Comput. Sci..

[33]  Julian Rathke,et al.  Towards a theory of bisimulation for local names , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[34]  Andrew D. Gordon,et al.  A Concurrent Object Calculus: Reduction and Typing , 1998, HLCL.

[35]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .

[36]  Matthew Hennessy,et al.  A theory of weak bisimulation for Core CML , 1998 .

[37]  James Riely,et al.  A typed language for distributed mobile processes (extended abstract) , 1998, POPL '98.

[38]  Julian Rathke,et al.  A fully abstract may testing semantics for concurrent objects , 2005, Theor. Comput. Sci..

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

[40]  Cédric Fournet,et al.  A Hierarchy of Equivalences for Asynchronous Calculi , 1998, ICALP.

[41]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .