Process algebra with guards

Combining hoare logic with process algebra
  • Jan Friso Groote
  • Alban Ponse
Selected Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 527)


We extend process algebra with guards, comparable to the guards in guarded commands or conditions in common programming constructs. The extended language is provided with an operational semantics based on transitions between pairs of a process and a data-state. The data-states are given by a data environment that also defines in which data-states guards hold and how actions (non-deterministically) transform these states. The operational semantics is studied modulo strong bisimulation equivalence. For basic process algebra (without operators for parallelism) we present a small axiom system that is complete with respect to a general class of data environments. In case a data environment S is known, we add three axioms to this system, which is then again complete, provided weakest preconditions are expressible and S is sufficiently deterministic.

Then we study process algebra with parallelism and guards. A two phase-calculus is provided that makes it possible to prove identities between parallel processes. Also this calculus is complete. In the last section we show that partial correctness formulas can easily be expressed in this setting and we use process algebra with guards to prove the soundness of Hoare logic for linear processes by translating proofs in Hoare logic into proofs in process algebra.


Data Environment Parallel Operator Operational Semantic Proof System Atomic Action 
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. [AB84]
    D. Austry and G. Boudol. Algèbre de processus et synchronisations. Theoretical Computer Science, 30(1):91–131, 1984.Google Scholar
  2. [Apt81]
    K.R. Apt. Ten years of Hoare's logic, a survey, part I. ACM Transactions on Programming Languages and Systems, 3(4):431–483, 1981.Google Scholar
  3. [BK84]
    J.A. Bergstra and J.W. Klop. The algebra of recursively defined processes and the algebra of regular processes. In J. Paredaens, editor, Proceedings 11th ICALP, Antwerp, volume 172 of Lecture Notes in Computer Science, pages 82–95. Springer-Verlag, 1984.Google Scholar
  4. [BW90]
    J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.Google Scholar
  5. [Dij76]
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall International, Englewood Cliffs, 1976.Google Scholar
  6. [GP90]
    J.F. Groote and A. Ponse. Process algebra with guards. Report CS-R9069, CWI, Amsterdam, 1990.Google Scholar
  7. [Hoa69]
    C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10), October 1969.Google Scholar
  8. [Hoa85]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs, 1985.Google Scholar
  9. [MA86]
    E.G. Manes and M.A. Arbib. Algebraic Approaches to Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1986.Google Scholar
  10. [Mil80]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, 1980.Google Scholar
  11. [OG76]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, pages 319–340, 1976.Google Scholar
  12. [Plo81]
    G.D. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.Google Scholar
  13. [Pon89]
    A. Ponse. Process expressions and Hoare's logic. Technical Report CS-R8905, CWI, Amsterdam, March 1989. To appear in Information and Computation.Google Scholar
  14. [Sio64]
    F.M. Sioson. Equational bases of Boolean algebras. Journal of Symbolic Logic, 29(3):115–124, September 1964.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Jan Friso Groote
    • 1
  • Alban Ponse
    • 1
  1. 1.Department of Software Technology, CWIAmsterdamThe Netherlands

Personalised recommendations