Abstract
occam is a programming language designed to support concurrent applications, especially those implemented on networks of communicating processors. The aim of this paper is to formulate the meaning of the language constructs ofoccam by semantic definitions that are intended as a formalization of the informal descriptions usually found in programming language manuals. This is done by defining syntax directed transition systems, where the transitions associated with a phrase are a function of the transitions associated with its components. This method is by no means novel; the concepts were introduced in Ref. 2 and are applied in Ref. 3 where the operational semantics for CSP is presented. The operational semantics for a subset of Ada is defined in Ref. 5, where tasking and exception handling are modeled. In this paper an operational semantics for a subset ofoccam is presented for the first time; this includes the semantics of both static and dynamic behavior. The main novelty of this paper is the semantics of priority alternation which is defined in terms of the inability of the parallel context to communicate along certain channels.
Similar content being viewed by others
References
INMOS ltd.occam Programming Manual, Prentice Hall International Series in Computer Science (1984).
Gordon. D. Plotkin,A Structural Approach to Operational Semantics, Department of Computer Science, Aarhus University Denmark (September 1981).
Gordon. D. Plotkin, An Operational Semantics for CSP,Proc. of the IFIP WG 2.2 Working Conf. on Formal Description of Programming Concepts II (1982).
C. A. R. Hoare,Communicating Sequential Processes, Prentice Hall International Series in Computer Science (1985).
Wei Li,An Operational Semantics of Tasking and Exception Handling in Ada, Department of Computer Science University of Edinburgh (December 1981).
Gilles Kahn,Natural Semantics, Rapports de Recherche No. 601 INRIA SOPHIA-ANTIPOLIS 06560 Valbonne, France (February 1987).
John C. Reynolds,The Craft of Programming, Prentice Hall International Series in Computer Science (1981).
INMOS ltd.occam2 Reference Manual, Prentice Hall International Series in Computer Science (1988).
Juanito Camilleri, Introducing a priority operator to CCS, Computer Laboratory, University of Cambridge, Revised draft to appear (May 1990).
G. Costa and C. Stirling, Weak and strong fairness in CCS, pp. 245–264, Mathematical Foundations of Computer Science, M. P. Chytil and V. Koubek, (eds)LNCS 176 Springer (1984).
A. W. Roscoe, Denotational Semantics foroccam, Lecture notes In Computer Science, Springer-Verlag series No. 197 (1985).
Author information
Authors and Affiliations
Additional information
occam is a trade mark of the INMOS Group of Companies.
Rights and permissions
About this article
Cite this article
Camilleri, J. An operational semantics for occam. Int J Parallel Prog 18, 365–400 (1989). https://doi.org/10.1007/BF01379186
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01379186