Verification of distributed algorithms with algebraic Petri Nets

  • Ekkart Kindler
  • Wolfgang Reisig
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1337)


This paper demonstrates by help of an example how algebraic Petri nets can be used for modelling and verification of distributed algorithms. For lack of space we could only sketch the used proof techniques; still the proof should provide a flavour of our method. In essence the basic technique for deriving simple temporal properties is to verify the validity of some state formulas which are derived from the structure of the net and the verified formula: equations for place invariants, simple implications for siphons and traps, and some more complex implications for assertions. Though not completely explained here, even the pick up rule for leadsto properties can be reduced to checking the validity of some state formulas. For combining temporal formulas in order to verify more complex properties we mainly use standard rules: weakening of invariants, PSP-rule and proof graphs for liveness properties.

A formal presentation of this method is beyond the scope of this paper. A formal presentation of algebraic nets as used in this paper can be found in [3]; more information about the verification techniques and some more interesting examples can be found in [4, 8].


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Manfred Broy. On the design and verification of a simple distributed spanning tree algorithm. SFB-Bericht 342/24/90 A, Technische Universität München, December 1990.Google Scholar
  2. 2.
    K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  3. 3.
    Ekkart Kindler and Wolfgang Reisig. Algebraic system nets for modelling distributed algorithms. Petri Net Newsletter, 51:16–31, December 1996.Google Scholar
  4. 4.
    Ekkart Kindler, Wolfgang Reisig, Hagen Völzer, and Rolf Walter. Petri net based verification of distributed algorithms: An example. Informatik-Berichte 63, Humboldt-Universität zu Berlin, May 1996.Google Scholar
  5. 5.
    Susan Owicki and Leslie Lamport. Proving liveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems, 4(3):455–495, July 1982.CrossRefGoogle Scholar
  6. 6.
    Wolfgang Reisig. Petri nets and algebraic specifications. Theoretical Computer Science, 80:1–34, May 1991.MATHMathSciNetCrossRefGoogle Scholar
  7. 7.
    Wolfgang Reisig. Distributed Algorithms — Modelling and Analysis with Petri Nets. In preparation, 1997.Google Scholar
  8. 8.
    R. Walter, H. Völzer, T. Vesper, W. Reisig, E. Kindler, J. Freiheit, and J. Desel. Memorandum: Petrinetzmodelle zur Verifikation verteilter Algorithmen. Informatik-Bericht 67, Humboldt-Universität zu Berlin, July 1996.Google Scholar
  9. 9.
    J. Welch, L. Lamport, and N. Lynch. A lattice-structured proof technique applied to a minimal spanning tree algorithm. In Proc. 7th ACM Symposium on Principles of Programming Languages, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Ekkart Kindler
    • 1
  • Wolfgang Reisig
    • 1
  1. 1.Institut für InformatikHumboldt-Universität zu BerlinBerlinGermany

Personalised recommendations