Plain CHOCS A second generation calculus for higher order processes

In this paper we present a calculus of communicating systems which allows one to express sending and receiving processes. We call this calculus Plain CHOCS. The calculus is a refinement of our earlier work on the calculus of higher order communicating systems (CHOCS).Essential to the new calculus is the treatment of restriction as a static binding operator on port names. The new calculus is given an operational semantics using labelled transition systems which combines ideas from the applicative transition systems described by Abramsky and the transition systems used for CHOCS. The new calculus enjoys algebraic properties which are similar to those of CHOCS only needing obvious extra laws for the static nature of the restriction operator.Processes as first class objects enable description of networks with changing interconnection structure, and there is a close connection between the Plain CHOCS calculus and the π-Calculus described by Milner, Parrow and Walker: the two calculi can simulate one another.Recently object oriented programming has grown into a major discipline in computational practice as well as in computer science. From a theoretical point of view object oriented programming presents a challenge to any metalanguage since most object oriented languages have no formal semantics. We show how Plain CHOCS may be used to give a semantics to a prototype object oriented language calledO.

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

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

[3]  S. Abramsky The lazy lambda calculus , 1990 .

[4]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

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

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

[7]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[8]  Flemming Nielson,et al.  The Typed lambda-Calculus with First-Class Processes , 1989, PARLE.

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

[10]  K. Larsen Context-dependent bisimulation between processes , 1986 .

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

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

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

[14]  Bent Thomsen,et al.  A calculus of higher order communicating systems , 1989, POPL '89.

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

[16]  Colin Atkinson,et al.  An object-oriented language for software reuse and distribution , 1990 .

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

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

[19]  Prateek Mishra,et al.  Operational and Algebraic Semantics for Facile: A Symmetric Integration of Concurrent and Functional Programming , 1990, ICALP.

[20]  Pierre America,et al.  Pool-T: a parallel object-oriented language , 1987 .

[21]  David Walker,et al.  Pi-Calculus Semantics of Object-Oriented Programming Languages , 1991, TACS.

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

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

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

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