Skip to main content
Log in

An operational semantics for occam

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

References

  1. INMOS ltd.occam Programming Manual, Prentice Hall International Series in Computer Science (1984).

  2. Gordon. D. Plotkin,A Structural Approach to Operational Semantics, Department of Computer Science, Aarhus University Denmark (September 1981).

  3. 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).

  4. C. A. R. Hoare,Communicating Sequential Processes, Prentice Hall International Series in Computer Science (1985).

  5. Wei Li,An Operational Semantics of Tasking and Exception Handling in Ada, Department of Computer Science University of Edinburgh (December 1981).

  6. Gilles Kahn,Natural Semantics, Rapports de Recherche No. 601 INRIA SOPHIA-ANTIPOLIS 06560 Valbonne, France (February 1987).

    Google Scholar 

  7. John C. Reynolds,The Craft of Programming, Prentice Hall International Series in Computer Science (1981).

  8. INMOS ltd.occam2 Reference Manual, Prentice Hall International Series in Computer Science (1988).

  9. Juanito Camilleri, Introducing a priority operator to CCS, Computer Laboratory, University of Cambridge, Revised draft to appear (May 1990).

  10. 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).

  11. A. W. Roscoe, Denotational Semantics foroccam, Lecture notes In Computer Science, Springer-Verlag series No. 197 (1985).

Download references

Author information

Authors and Affiliations

Authors

Additional information

occam is a trade mark of the INMOS Group of Companies.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words

Navigation