A framework for the specification of reactive and concurrent systems in Z

  • Peter Baumann
  • Karl Lermer
Software Technology
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1026)


The formal specification language Z is used to specify transformational programs. We show in analogy to [2] that specifying concurrent systems in Z means conjoining the individual specifications and defining the input-output relations for the processes. The TLA approach to fairness is adapted to define liveness conditions for concurrent systems. Machine closure of the specifications will be proved. As a case study we apply our framework to the Bakery Algorithm where a complete Z specification and a correctness proof are presented.


formal methods TLA reactive systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Martin Abadi and Leslie Lamport. The Existence of Refinement Mappings. In Proceedings of the 3rd Annual Symposium on Logic in Computer Science, p. 165–175. IEEE, 1988.Google Scholar
  2. 2.
    M. Abadi and L. Lamport. Conjoining Specifications. Digital Technical Report. December 7, 1993.Google Scholar
  3. 3.
    E. Börger and Y. Gurevich and D. Rosenzweig. The Bakery Algorithm: Yet another specification and verification. To appear in: E. Börger (Ed.). Specification and Validation Methods. Oxford University Press. 1995.Google Scholar
  4. 4.
    R. Duke and G. Smith. Temporal logic and Z specifications. The Australian Computer Journal, 21(2):62–66,1989.Google Scholar
  5. 5.
    I. Houston and M. Josephs. Specifying distributed CICS in Z; accessing local and remote resources. Formal Aspects of Computing, 6(6),1994.Google Scholar
  6. 6.
    L. Lamport. A new Approach to Proving the Correctness of Multiprocess Programs. ACM Transactions on Programming Languages and Systems, vol.1.1, July 1979, 84–97.Google Scholar
  7. 7.
    L. Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, 1994.Google Scholar
  8. 8.
    L. Lamport. TLZ. In J. Bowen and A. Hall, editors, Proceedings of the 1994 Z User Workshop, 267–268, Springer Verlag, 1994Google Scholar
  9. 9.
    Z. Manna and A. Pnueli. The temporal logic of reactive and concurrent systems. Springer Verlag, 1992.Google Scholar
  10. 10.
    J.M. Spivey. The Z Notation: A Reference Manual. Prentive-Hall, second edition, 1992.Google Scholar
  11. 11.
    B. Sufrin and He Jifeng. Specification, analysis and refinement of interactive processes. In M. Harrison and H. Thimbleby, editors, Formal Methods in Human-Computer Interaction, volume 2, chapter 6, 153–200. Cambridge University Press, 1990.Google Scholar
  12. 12.
    K.T. Narayana and S. Dharap. Invariant properties in a dialog system. ACM SIGSOFT Software Engineering Notes, 15(4), 67–79, 1990Google Scholar
  13. 13.
    J.C.P. Woodcock. The rudiments of algorithm refinement. The Computer Journal, 35(5):441–450, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Peter Baumann
    • 1
  • Karl Lermer
    • 1
  1. 1.Institut für Informatik der Universität ZürichZürichSwitzerland

Personalised recommendations