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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
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
[Abr91] Abramsky, S.: A domain equation for bisimulation. Inf. Comput.92(2), 161–218 (1991)
[Ame87] America, P.: POOL-T: A parallel object-oriented language. Proceedings of object-oriented concurrent programming, pp. 199–220. Cambridge, MA: MIT Press 1987
[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
[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
[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
[GolRob83] Goldberg, A., Robson, D.: Smalltalk 80: The language and its implementation. Reading: Addison-Wesley 1983
[HenNic87] Hennessy, M., Nicola de, R.: CCS without τ's (Lect. Notes Comput Sci., vol. 249, pp. 138–152). Berlin Heidelberg New York: Springer 1987
[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
[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
[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
[Mil83] Milner, R.: Calculi for synchrony and asynchrony. Theor. Comput. Sci.25, 267–310 (1983)
[Mil89] Milner, R.: Communication and concurrency. Englewood Cliffs, NJ: Prentice Hall 1989
[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
[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)
[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
[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)
[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
[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
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01200262