A calculus of higher order communicating systems

In this paper we present A Calculus of Higher Order Communicating Systems. This calculus considers sending and receiving processes to be as fundamental as nondeterminism and parallel composition. The calculus is an extension of CCS [Mil80] in the sense that all the constructions of CCS are included or may be derived from more fundamental constructs and most of the mathematical framework of CCS carries over almost unchanged. Clearly CCS with processes as first class objects is a powerful metalanguage and we show that it is possible to simulate the untyped λ-calculus in CHOCS. The relationship between CHOCS and the untyped λ-calculus is further strengthened by a result showing that the recursion operator is unnecessary in the sense that recursion can be simulated by means of process passing and communication. As pointed out by R. Milner in [Mil80], CCS has its limitations when one wants to describe unboundedly expanding systems as e.g. an unbounded number of procedure invocations in an imperative concurrent programming language. We show how neatly CHOCS may describe both call by value and call by reference parameter mechanisms for the toy language of chapter 6 in [Mil80].

[1]  Samson Abramsky,et al.  Domain Theory in Logical Form , 1991, LICS.

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

[3]  Samson Abramsky,et al.  A Domain Equation for Bisimulation , 1991, Inf. Comput..

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

[5]  Robin Milner,et al.  A Complete Inference System for a Class of Regular Behaviours , 1984, J. Comput. Syst. Sci..

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

[7]  Rocco De Nicola,et al.  CCS without tau's , 1987, TAPSOFT, Vol.1.

[8]  Gérard Boudol,et al.  Algèbre de Processus et Synchronisation , 1984, Theor. Comput. Sci..

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

[10]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[11]  Robin Milner Parallel Combinator Reduction Machine , 1983, The Analysis of Concurrent Systems.

[12]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[13]  D. J. Walker,et al.  Bisimulation and Divergence , 1990, Inf. Comput..

[14]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[15]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[16]  Richard Kennaway,et al.  Syntax and informal semantics of DyNe, a parallel language , 1983, The Analysis of Concurrent Systems.

[17]  K. V. S. Prasad Combinators and bisimulation proofs for restartable systems , 1987 .

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