A basic-net algebra for program semantics and its application to occam

  • Richard Hopkins
  • Jon Hall
  • Oliver Botti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 609)


We define an algebra comprising a class of basic Petri nets, enhanced with place and transition labels, together with operations of sequence, choice, parallel, iteration, prioritised choice and label hiding. An important characteristic of the algebra is that it combines transition-based composition for modelling synchronous communication, as in Petri net semantics for CCS or TCSP, with place composition for modelling shared variables. We use the algebra to give a family of net semantics for a version of OCCAM, comprising a full semantics, for which we have consistency with the Laws of OCCAM, and a range of semantics for partial data abstraction which give smaller nets (for more practical use of net tools and techniques) with a limited consistency such that safety (but not liveness) properties transfer from more-abstracted to less-abstracted semantics.


OCCAM Programming Language Semantics Petri Net Algebras Data Abstraction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BD92]
    Botti O., De Cindio F., “From Basic to Timed Models of OCCAM: an Application to Program Placement”, Proc. 4th Int. Workshop on Petri Nets and Performance Models, Melbourne, IEEE Press (1992).Google Scholar
  2. [BDH90]
    Best E., De Cindio F., Hopkins R.P., “DEMON — Design Methods based on Nets: an ESPRIT Basic Research Action (No.3148)”, EATCS Bulletin No.41 (1990).Google Scholar
  3. [BH92]
    Best E., Hall J., “The Box Calculus: a New Causal Algebra with Multi-Label Communication”, this volume.Google Scholar
  4. [BK91]
    Best E., Koutny M., “Petri Net Semantics of Priority Systems”, Theoretical Computer Science (1991).Google Scholar
  5. [BOTTI90]
    Botti O., “Un Modello in Reti di Petri per OCCAM2”, MSc Thesis, DSI, University of Milano (1990).Google Scholar
  6. [CK88]
    Cherkasova L., Kotov V., “Descriptive and Analytic Process Algebras”, Proc. 9th Europ. Workshop on Apllication and Theory of Petri Nets, Venice (1988).Google Scholar
  7. [DDM87]
    Degano P., De Nicola R., Montanari U.,“ CCS is an (augmented) contact free C/E system”, Math, models for the semantics of parallelism, Springer-Verlag, LNCS 280 (1987).Google Scholar
  8. [GM84]
    Goltz U., Mycroft A., “On the relationship of CCS and Petri Nets”, ICALP 84, Springer-Verlag, LNCS 172 (1984).Google Scholar
  9. [HALL92]
    Hall J., “High Level Petri Boxes and General Recursion”, DEMON Final Report (January 1992).Google Scholar
  10. [HH90]
    Hopkins R.P., Hall J., “Towards a Petri Net Programming Notation”, DEMON Research Memorandum, Computing Laboratory, University of Newcastle upon Tyne (1990).Google Scholar
  11. [HHBD90]
    Hall J., Hopkins R.P., Botti O., De Cindio F., “A Petri Net Semantics of OCCAM 2”, Technical Report, Computing Laboratory, University of Newcastle upon Tyne (1990).Google Scholar
  12. [HOPK92]
    Hopkins R.P., “Petri Net Semantics of OCCAM — Some Results”, Technical Report, Computing Laboratory, University of Newcastle upon Tyne (1992).Google Scholar
  13. [INMOS88]
    INMOS, “OCCAM 2 Reference Manual”, Prentice Hall (1988).Google Scholar
  14. [JAN87]
    Janicki R., “A Formal Semantics for Concurrent Systems with a Priority Relation”, Acta Informatica 24 (1987).Google Scholar
  15. [KOT78]
    Kotov V.E., “An Algebra for Parallelism Based on Petri Nets”, MFCS, Springer-Verlag, LNCS 64 (1978).Google Scholar
  16. [MILN89]
    Milner R., “Communication and Concurrency”, Prentice-Hall (1989).Google Scholar
  17. [MSS89]
    Murata T., Shenker B., Shatz S.M., “Detection of ADA Static Deadlocks Using Petri Nets”, IEEE Transactions on Software Engineering, Vol.15(3) (1989).Google Scholar
  18. [MV91]
    McLendon W.W., Vidale R.F, “Analysis of an Ada System using Coloured Petri Nets and Occurrence Graphs“, Technical Report, Draper Laboratory, Cambridge MA (1991).Google Scholar
  19. [OLD91]
    Olderog E.R., “Nets, Terms and Formulae”, Habilitation (1989). Cambridge Tracts in Theoretical Computer Science (1991).Google Scholar
  20. [RH86]
    Roscoe A.W., Hoare C.A.R., “The Laws of OCCAM Programming”, Technical Monograph PRG-53, Oxford University (1986).Google Scholar
  21. [ROSC85]
    Roscoe A.W., “Denotational Semantics for OCCAM”, Proc. 1984 Seminar on Concurrency, Carnegie Mellon, Springer-Verlag, LNCS 197 (1985).Google Scholar
  22. [TAUB89]
    Taubner D., “Finite Representations of CCS and TCSP Programs by Automata and Petri Nets”, Springer-Verlag, LNCS 369 (1989).Google Scholar
  23. [WINSK84]
    Winskel G., “A New Definition of Morphism on Petri Nets”, Proc. STACS'84, Springer-Verlag, LNCS 166 (1984).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Richard Hopkins
    • 1
  • Jon Hall
    • 1
  • Oliver Botti
    • 2
  1. 1.The Computing LaboratoryThe University of Newcastle upon TyneUK
  2. 2.Dipartimento di Scienze dell'InformazioneUniversita degli Studi di Milano Via ComelicoMilanoItaly

Personalised recommendations