Skip to main content

Formal Verification of the Ricart-Agrawala Algorithm

  • Conference paper
  • First Online:
FST TCS 2000: Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2000)

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.

This research was supported in part by the Minerva Center for Verification of Reactive Systems, and a grant from the U.S.-Israel bi-national science foundation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Ben-Ari. Principles of Concurrent and Distributed Programming. Prentice-Hall International, Hemel Hempstead, 1990.

    Google Scholar 

  2. 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. J. Kamerer. Ricart and Agrawala’s algorithm. Unpublished, http://rodin.stanford.edu/case-studies, 9 August 1995.

  4. L. Lamport An Assertional Correctness Proof of Distributed Program. Science of Computer Programming, 2, 3, December 1982, pages 175–206.

    Article  MATH  MathSciNet  Google Scholar 

  5. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.

    MATH  Google Scholar 

  6. 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. Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.

    Google Scholar 

  8. 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. 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.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sedletsky, E., Pnueli, A., Ben-Ari, M. (2000). Formal Verification of the Ricart-Agrawala Algorithm. In: Kapoor, S., Prasad, S. (eds) FST TCS 2000: Foundations of Software Technology and Theoretical Computer Science. FSTTCS 2000. Lecture Notes in Computer Science, vol 1974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44450-5_26

Download citation

  • DOI: https://doi.org/10.1007/3-540-44450-5_26

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41413-1

  • Online ISBN: 978-3-540-44450-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics