Skip to main content
Log in

Plain CHOCS A second generation calculus for higher order processes

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • [Abr90] Abramsky, S.: The lazy lambda calculus. In: Turner, D. (ed.) Research Topics in Functional Programming, chap. 4, pp. 65–116. Reading: Addison-Wesley 1990

    Google Scholar 

  • [Abr91] Abramsky, S.: A domain equation for bisimulation. Inf. Comput.92(2), 161–218 (1991)

    Google Scholar 

  • [Ame87] America, P.: POOL-T: A parallel object-oriented language. Proceedings of object-oriented concurrent programming, pp. 199–220. Cambridge, MA: MIT Press 1987

    Google Scholar 

  • [AstReg87] Astesiano, E., Reggio, G.: SMoLS-driven concurrent calculi. Proceedings of TAP-SOFT 87 (Lect. Notes Comput Sci., vol. 249, pp. 169–201) Berlin Heidelberg New York: Springer 1987

    Google Scholar 

  • [Atk89] Atkinson, C.: An object-oriented language for software reuse and distribution. Ph. D. Thesis, Department of Computing, Imperial College, London University 1989

  • [Bou89] Boudol, G.: Towards a lambda-calculus for concurrent and communicating systems. Proceedings of TAPSOFT 89 (Lect. Notes Comput. Sci., vol. 351, pp. 149–161) Berlin Heidelberg New York: Springer 1989. Preliminary version in Research Report no. 885, INRIA Sophia Antipolis, autumn 1988

    Google Scholar 

  • [Chr88] Christensen, P.: The domain of CSP processes (incomplete draft). The Technical University of Denmark 1988

  • [Coz90] Cozens, J.: Adaptable computer systems (incomplete draft). University of Surrey 1990

  • [DahMyhNyg68] Dahl, O.J., Myhrhaug, B., Nygaard, K.: SIMULA 67 Common base language. Norwegian Computing Center 1968

  • [EngNie86] Engberg, U., Nielsen, M.: A calculus of communicating systems with label passing. Technical report DAIMI PB-208. Computer Science Department, Aarhus University 1986

  • [GiaMisPra90] Giacalone, A., Mishra, P., Prasad, S.: Operational and algebraic semantics for FACILE: A symmetric integration of concurrent and functional programming. Proceedings of ICALP 90. (Lect. Notes Comput. Sci., vol. 443, pp. 765–780) Berlin Heidelberg New York: Springer 1990

    Google Scholar 

  • [GolRob83] Goldberg, A., Robson, D.: Smalltalk 80: The language and its implementation. Reading: Addison-Wesley 1983

    Google Scholar 

  • [HenNic87] Hennessy, M., Nicola de, R.: CCS without τ's (Lect. Notes Comput Sci., vol. 249, pp. 138–152). Berlin Heidelberg New York: Springer 1987

    Google Scholar 

  • [KenSle83] Kennaway, J.R., Sleep, M.R.: Syntax and informal semantics of DyNe, a parallel language. Proceedings of workshop on the analysis of concurrent system 1 1983.(Lect. Notes Comput. Sci., vol. 207, pp. 222–230) Berlin Heidelberg New York: Springer 1985

    Google Scholar 

  • [KenSle88] Kennaway, J.R., Sleep, M.R.: A denotational semantics for first class processes (Draft). School of Information Systems, University of East Anglia, Norwich 1988

    Google Scholar 

  • [Lar86] Larsen, K.G.: Context dependent bisimulation between processes. Ph.D. Thesis, Edinburgh University 1986

  • [Mil80] Milner, R.: A calculus of communicating systems (Lect. Notes Comput. Sci., vol. 92) Berlin Heidelberg New York: Springer 1980

    Google Scholar 

  • [Mil83] Milner, R.: Calculi for synchrony and asynchrony. Theor. Comput. Sci.25, 267–310 (1983)

    Google Scholar 

  • [Mil89] Milner, R.: Communication and concurrency. Englewood Cliffs, NJ: Prentice Hall 1989

    Google Scholar 

  • [MilParWal89] Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Part I. Report ECS-LFCS-89-85, University of Edinburgh 1989

  • [MilParWal89b] Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Part II. Report ECS-LFCS-89-86, University of Edinburgh 1989

  • [Mil91] Milner, R.: The polyadic π-calculus: A Tutorial Report ECS-LFCS-91-180, University of Edinburgh 1991

  • [MilSan92] Milner, R., Sangiorgi, D.: Barbed bisimulation. Proceedings of ICALP 92. (Lect. Notes Comput. Sci., vol. 623, pp. 685–695) Berlin Heidelberg New York: Springer 1992

    Google Scholar 

  • [Nie89] Nielson, F.: The typed λ-calculus with first-class processes. Proceedings of PARLE 89. (Lect. Notes Comput. Sci., vol. 336, pp. 357–376) Berlin Heidelberg New York: Springer 1989. (Preliminary version: Technical Report ID-TR: 1988-43 ISSN 0902-2821, Department of Computer Science, Technical University of Denmark, August 1988)

    Google Scholar 

  • [Par81] Park, D.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) Theoretical computer science. (Lect. Notes Comput. Sci., vol. 104, pp. 196–223) Berlin Heidelberg New York: Springer 1981

    Google Scholar 

  • [Plo81] Plotkin, G.: A structural approach to operational semantics. Technical report DAIMI FN-19, Computer Science Department, Aarhus University 1981

  • [San92] Sangiorgi, D.: Forthcoming Ph. D. thesis, Computer Science Department, Edinburgh University 1992

  • [Tar55] Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pac. J. Math. 5, 285–309 (1955)

    Google Scholar 

  • [Tho89] Thomsen, B.: A calculus of higher order communicating systems. Proceedings of POPL 89, pp. 143–154. The Association for Computing Machinery 1989

  • [Tho89a] Thomsen, B.: Plain CHOCS. Technical report 89/4, Department of Computing, Imperial College, London University 1989

  • [Tho90] Thomsen, B.: Calculi for higher order communicating systems. Ph.D. Thesis, Imperial College, London University 1990

  • [Wal88] Walker, D.: Bisimulation and divergence. Proceedings of LICS 88, pp. 186–192. Oxford: Computer Society Press 1988

    Google Scholar 

  • [Wal91] Walker, D.: π-Calculus semantics of object-oriented programming languages. Proceedings of Conference on Theoretical Aspects of Computer Software (Lect. Notes Comput. Sci., vol. 526, pp. 532–547) Berlin Heidelberg New York: Springer 1991

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Thomsen, B. Plain CHOCS A second generation calculus for higher order processes. Acta Informatica 30, 1–59 (1993). https://doi.org/10.1007/BF01200262

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01200262

Keywords

Navigation