Design, verification and documentation of concurrent systems

  • E. Pascal Gribomont
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


The concept of invariant is the basis of most formal methods for the design and verification of concurrent systems. It can be noticed that invariants can also be used to give clear and concise descriptions of correct programs. As invariants are concerned only with the safety properties of systems, other formal objects have to be used to deal with liveness properties. Unfortunately, the formal objects generally used for liveness properties are somewhat inadequate, especially from the documentation point of view, A new family of formal objects, called proof graphs, is introduced. These graphs can be designed together with the corresponding program by stepwise refinement. They turn to be useful for specification, verification and documentation, but only the last point is emphasized in this paper and illustrated by an elementary example.


Safety Property Concurrent Programming Concurrent System Formal Object Liveness Property 
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. [1]
    K.M. CHANDY and J. MISRA, “Parallel Program Design: A Foundation”, Addison-Wesley, 1988.Google Scholar
  2. [2]
    E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, New Jersey, 1976MATHGoogle Scholar
  3. [3]
    E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Internal report, 30 p.; short version in LNCS, 432, pp. 161–176, Springer, 1990.Google Scholar
  4. [4]
    E.P. GRIBOMONT, “A programming logic for formal concurrent systems”, LNCS, 458, pp. 298–313, Springer, 1990.Google Scholar
  5. [5]
    L. LAMPORT, “Proving the correctness of a multiprocess program”, IEEE Trans. on Soft. Eng., SE-3, pp. 125–143, 1977.Google Scholar
  6. [6]
    B.D. LUBACHEVSKY, “Automating the verification of compact parallel coordination of programs I”, Acta Informatics, 12, pp. 125–169, 1984.MathSciNetCrossRefGoogle Scholar
  7. [7]
    Z. MANNA and A. PNUELI, “Adequate proof principles for invariance and liveness properties of concurrent programs”, SCP, 4, pp. 257–289, 1984.MathSciNetMATHGoogle Scholar
  8. [8]
    S. OWICKI and D. GRIES, “An axiomatic proof technique for parallel programs”, Acta Informatica, 8, pp. 319–340, 1976.MathSciNetCrossRefGoogle Scholar
  9. [9]
    S. OWICKI and L. LAMPORT, “Proving liveness properties of concurrent programs”, ACM Trans. on Prog. Lang. and Syst., 3, 1982.Google Scholar
  10. [10]
    N.V. STENNING, “A data transfer protocol”, Computer Networks, 1, pp. 99–110, 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • E. Pascal Gribomont
    • 1
  1. 1.Philips Research LaboratoryLouvain-la-NeuveBelgium

Personalised recommendations