Towards a design calculus for communicating programs

  • Ernst-Rüdiger Olderog
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 527)


This paper presents some rules of a design calculus for communicating programs. The rules can be used to transfrom specifications written in a specification language SL0 stepwise into occam-like programs. Intermediate stages of such a design are expressed by using terms that mix programming and specification notation. Application of the rules guarantees the correctness of the resulting program with respect to the initial specification in a combined state-trace-readiness model of communicating systems. Correctness of the individual design rules can be conviently shown in a uniform predicative semantics for specifications, programs, and mixed terms expressing the observables of that model.


Regular Expression Design Rule Trace Part Expansion Strategy Mixed Term 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bjo89]
    D. Bjørner, A ProCoS project description, ESPRIT BRA 3104, Bulletin of the EATCS 39 (1989) 60–73.Google Scholar
  2. [CH74]
    R.H. Campbell, A.N. Habermann, The specification of process synchronisation by path expressions, Lecture Notes in Comput. Sci. 16 (Springer-Verlag, 1974).Google Scholar
  3. [He90]
    He Jifeng, Specification-oriented semantics for the ProCoS level 0 language, ProCoS Doc. Id. PRG/OU HJF 5/1, Oxford Univ., 1990.Google Scholar
  4. [He91]
    He Jifeng, Specification-oriented semantics for the ProCoS programming language PLtime, ProCoS Doc. Id. PRG/OU HJF 7/2, Oxford Univ., 1991.Google Scholar
  5. [Heh84]
    E.C.R. Hehner, Predicative programming, Comm. ACM 27 (2), 1984.Google Scholar
  6. [Hoa85]
    C.A.R. Hoare, Programs are predicates, in: C.A.R. Hoare, J.C. Shepherdson (Eds.), Mathematical Logic and Programming Languages (Prentice-Hall, London, 1985) 141–155.Google Scholar
  7. [IN88]
    INMOS Ltd., occam 2 Reference Manual (Prentice Hall, 1988).Google Scholar
  8. [JROR90]
    K.M. Jensen, H. Rischel, E.-R. Olderog, S Rössig, Syntax and informal semantics for the ProCoS specification language 0, ProCoS Doc. Id. ID/DTH KMJ 4/2, Tech. Univ. Denmark, 1990.Google Scholar
  9. [Jen90]
    K.M. Jensen, Specification of a gas-burner, ProCoS Doc. Id. ID/DTH KMJ 10/1.2, Tech. Univ. Denmark, 1990.Google Scholar
  10. [Lam83]
    L. Lamport, Specifying concurrent modules, ACM TOPLAS 5 (1983) 190–222.Google Scholar
  11. [Old91]
    E.-R. Olderog, Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship (Cambridge University Press, 1991).Google Scholar
  12. [OH86]
    E.-R. Olderog, C.A.R. Hoare, Specification-oriented semantics for communicating processes, Acta Inform. 23 (1986) 9–66.Google Scholar
  13. [OR91]
    E.-R. Olderog, S. Rössig, Predicative semantics of MIX, ProCoS Doc. Id. OLD ERO 3/1, Univ. Oldenburg, 1991.Google Scholar
  14. [Par76]
    D. Park, Finiteness is mu-ineffable, Theoret. Comput. Sci. 3 (1976) 173–181.Google Scholar
  15. [Paw91]
    W. Pawlowski, Automatic transformation SL0 → PL, ProCoS Draft Note, Techn. Univ. Denmark, 1991.Google Scholar
  16. [Ros90]
    S. Rössig, Transformation of SL0 specifications into PL programs, ProCoS Doc. Id. OLD SR 1/4, Univ. Oldenburg, 1990.Google Scholar
  17. [RS91]
    S. Rössig, M. Schenke, Specification and stepwise development of communicating systems, to appear in: Proc. VDM '91 Symposium, Noordwijkerhout, The Netherlands, Lecture Notes in Comput. Sci., Springer-Verlag, 1991).Google Scholar
  18. [RH88]
    A.W. Roscoe, C.A.R. Hoare, The laws of occam programming, Theoret. Comput. Sci. 60 (1988) 177–229.Google Scholar
  19. [San91]
    J. Sander, Korrektheit der Expansions-Strategie für die Transformation von SL0-Spezifikationen in PL-Programme, Studienarbeit, Univ. Oldenburg, 1991.Google Scholar
  20. [Sch91]
    M. Schenke, The bracket model — a discrete model for timed processes, ProCoS Doc. Id. OLD MS 2/2, Univ. Oldenburg, 1991.Google Scholar
  21. [ZHR90]
    Zhou ChaoChen, C.A.R. Hoare, A.P. Ravn, A duration calculus for real time requirements in embedded systems, ProCoS Doc. Id. PRG/OU ZCC 2, Oxford Univ., 1990.Google Scholar
  22. [Zwi89]
    J. Zwiers, Compositionality, Concurrency, and Partial Correctness — Proof Theories for Networks of Processes and Their Relationship, Lecture Notes in Comput. Sci. 321 (Springer-Verlag, 1989).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Ernst-Rüdiger Olderog
    • 1
  1. 1.FB InformatikUniversität OldenburgOldenburgGermany

Personalised recommendations