FSTTCS 2000: FST TCS 2000: Foundations of Software Technology and Theoretical Computer Science pp 325-335 | Cite as
Formal Verification of the Ricart-Agrawala Algorithm
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 VerificationPreview
Unable to display preview. Download preview PDF.
References
- [BA90]M. Ben-Ari. Principles of Concurrent and Distributed Programming. Prentice-Hall International, Hemel Hempstead, 1990.Google Scholar
- [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
- [Kam95]J. Kamerer. Ricart and Agrawala’s algorithm. Unpublished, http://rodin.stanford.edu/case-studies, 9 August 1995.
- [Lamp82]L. Lamport An Assertional Correctness Proof of Distributed Program. Science of Computer Programming, 2, 3, December 1982, pages 175–206.MATHCrossRefMathSciNetGoogle Scholar
- [MP91]Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.MATHGoogle Scholar
- [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
- [MP95a]Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.Google Scholar
- [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
- [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