An assertional correctness proof of a self-stabilizing /spl lscr/-exclusion algorithm

A formal correctness proof of a self-stabilizing lscr-exclusion algorithm (SLEX) is described. The analyzed algorithm is an improvement of the SLEX due to Abraham, Dolev, Herman, and Koll, since our version satisfies a stronger liveness property. The proof is formulated in linear-time temporal logic and utilizes a history variable to model access to regular registers. The proof consists of a safety part and a liveness part. Our analysis provides some new insight in the correctness of the algorithm: (1) our proof is constructive. That is, we explicitly formulate auxiliary quantities required to establish some of the properties. This contrasts with the operational arguments of Abraham et al., where many quantities are not explicitly formulated and the validity of the above mentioned properties are established by disproving their non-existence. (2) We characterize processes (and their minimum number) identified by some process as attempting to enter the critical section. (3) A novel proof rule for reasoning about programs in the presence of disabled processes is presented to structure the liveness proof

[1]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[2]  Ajoy Kumar Datta,et al.  Self-stabilizing multi-token rings , 2005, Distributed Computing.

[3]  Allan Borodin,et al.  Distributed FIFO allocation of identical resources using small shared space , 1985, TOPL.

[4]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[5]  Thomas A. Henzinger,et al.  Half-order modal logic: how to prove real-time properties , 1990, PODC '90.

[6]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[7]  Allan Borodin,et al.  Resource allocation with immunity to limited process failure , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[8]  Rachid Hadid Space and Time Efficient Self-Stabilizing l-Exclusion in Tree Networks , 2002, J. Parallel Distributed Comput..

[9]  Zohar Manna,et al.  Completing the Temporal Picture , 1991, Theor. Comput. Sci..

[10]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[11]  Uri Abraham,et al.  Self-stabilizing timestamps , 2003, Theor. Comput. Sci..

[12]  F. Stomp,et al.  Self-stabilizing e-exclusion: a correctness proof , 2005 .

[13]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[14]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[15]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[16]  Thomas H. Bredt The mutual exclusion problem , 1970 .

[17]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[18]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[19]  Nir Shavit,et al.  A bounded first-in, first-enabled solution to the l-exclusion problem , 1994, TOPL.

[20]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[21]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.