Formal Verification of the Ricart-Agrawala Algorithm

  • Ekaterina Sedletsky
  • Amir Pnueli
  • Mordechai Ben-Ari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1974)

Abstract

This paper presents the first formal verification of the Ricart- Agrawala algorithm [RA81] for distributed mutual exclusion of an arbitrary number of nodes. It uses the Temporal Methodology of [MP95a]. We establish both the safety property of mutual exclusion and the liveness property of accessibility. To establish these properties for an arbitrary number of nodes, parameterized proof rules are used as presented in [MP95a] (for safety) and [MP94] (for liveness). A new and efficient notation is introduced to facilitate the presentation of liveness proofs by verification diagrams.

The proofs were carried out using the Stanford Temporal Prover (STeP) [BBC+95], a software package that supports formal verification of temporal specifications of concurrent and reactive systems.

Keywords

Ranking Function Request Message Mutual Exclusion Safety Property Formal Verification 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BA90]
    M. Ben-Ari. Principles of Concurrent and Distributed Programming. Prentice-Hall International, Hemel Hempstead, 1990.Google Scholar
  2. [BBC+95]
    N. Bjørner, I.A. Browne, E. Chang, M. Colón, A. Kapur, Z. Manna, H.B. Sipma, and T.E. Uribe. STeP: The Stanford Temporal Prover, User’s Manual. Technical Report STAN-CS-TR-95-1562, Computer Science Department, Stanford University, November 1995.Google Scholar
  3. [Kam95]
    J. Kamerer. Ricart and Agrawala’s algorithm. Unpublished, http://rodin.stanford.edu/case-studies, 9 August 1995.
  4. [Lamp82]
    L. Lamport An Assertional Correctness Proof of Distributed Program. Science of Computer Programming, 2, 3, December 1982, pages 175–206.MATHCrossRefMathSciNetGoogle Scholar
  5. [MP91]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.MATHGoogle Scholar
  6. [MP94]
    Z. Manna and A. Pnueli. Temporal verification diagrams. In T. Ito and A. R. Meyer, editors, Theoretical Aspects of Computer Software, volume 789 of Lect. Notes in Comp. Sci., pages 726–765. Springer-Verlag, 1994.Google Scholar
  7. [MP95a]
    Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.Google Scholar
  8. [MP95b]
    Z. Manna and A. Pnueli. Verification of parameterized programs. In E. Börger, editor, Specification and Validation Methods, pages 167–230. Oxford University Press, Oxford, 1995.Google Scholar
  9. [RA81]
    G. Ricart and A.K. Agrawala. An optimal algorithm for mutual exclusion in computer networks. Comm. ACM, 24(1):9–17, 1981. Corr. ibid. 1981, p.581.CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Ekaterina Sedletsky
    • 1
  • Amir Pnueli
    • 1
  • Mordechai Ben-Ari
    • 2
  1. 1.Department of Computer Science and Applied MathematicsThe Weizmann Institute of ScienceRehovotIsrael
  2. 2.Department of Science TeachingThe Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations