Combinatory formulations of concurrent languages

We design a system with six <italic>Basic Combinators</italic> and prove that it is powerful enough to embed the full asynchronous π-calculus, including replication. Our theory for constructing <italic>Combinatory Versions</italic> of concurrent languages is based on a method, used by Quine and Bernays, for the general elimination of variables in linguistic formalisms. Our combinators are designed to eliminate the requirement of <italic>names</italic> that are <italic>bound</italic> by an<italic>input prefix</italic>. They also eliminate the need for input prefix, output prefix, and the accompanying mechanism of <italic>substitution</italic>. We define a notion of <italic>bisimulation</italic> for the combinatory version and show that the combinatory version preserves the semantics of the original calculus. One of the distinctive features of the approach is that it can be used to rework several process algebras in order to derive equivalent combinatory versions.

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

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

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

[4]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

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

[6]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[7]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[8]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[9]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

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

[11]  R. Milner Action Structures , 1992 .

[12]  R. K. Shyamasundar,et al.  The Quine-Bernays Combinatory Calculus , 1995, Int. J. Found. Comput. Sci..

[13]  Corrado Priami,et al.  Mobile Processes with a Distributed Environment , 1996, ICALP.

[14]  Robin Milner,et al.  Action structures: LFCS report ECS-LFCS-92-249 , 1992 .

[15]  M. Schönfinkel Über die Bausteine der mathematischen Logik , 1924 .

[16]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

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

[18]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[19]  R. K. Shyamasundar,et al.  Combinatory Formulations of Concurrent Languages , 1995, ASIAN.

[20]  Nobuko Yoshida,et al.  Combinatory representation of mobile processes , 1994, POPL '94.

[21]  Richard Kennaway,et al.  Director strings as combinators , 1988, TOPL.

[22]  Yves Lafont,et al.  Interaction nets , 1989, POPL '90.

[23]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[24]  Rance Cleaveland,et al.  An operational framework for value-passing processes , 1994, POPL '94.

[25]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[26]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[27]  Nobuko Yoshida,et al.  Replication in Concurrent Combinators , 1994, TACS.

[28]  C. A. R. Hoare,et al.  Notes on Communicating Sequential Systems , 1986 .

[29]  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.

[30]  Haskell B. Curry Grundlagen der kombinatorischen Logik , 1930 .

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

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

[33]  Pierpaolo Degano,et al.  Handling Locally Names of Mobile Agents , 1996 .

[34]  D. A. Turner Another Algorithm for Bracket Abstraction , 1979, J. Symb. Log..

[35]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[36]  Gérard Boudol Towards a Lambda-Calculus for Concurrent and Communicating Systems , 1989, TAPSOFT, Vol.1.

[37]  G. B. M. Principia Mathematica , 1911, Nature.

[38]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[39]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .