Modeling concurrency with partial orders
International Journal of Parallel Programming
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple taxonomy for distributed mutual exclusion algorithms
ACM SIGOPS Operating Systems Review
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
The bakery algorithm: yet another specification and verification
Specification and validation methods
A New Approach to Proving the Correctness of Multiprocess Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
Simple Mutual Exclusion Algorithms Based on Bounded Tickets on the Asynchronous Shared Memory Model
COCOON '02 Proceedings of the 8th Annual International Conference on Computing and Combinatorics
Bounding Lamport's Bakery Algorithm
SOFSEM '01 Proceedings of the 28th Conference on Current Trends in Theory and Practice of Informatics Piestany: Theory and Practice of Informatics
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
25 Years of Model Checking
Hi-index | 5.23 |
We argue that logical descriptions of distributed algorithms can reveal key features of their high-level properties, and can serve to classify and explicate fundamental similarities even among superficially very dissimilar algorithms. As an illustration, we discuss two distinct mutual-exclusion algorithms: the Bakery algorithm of Lamport is for shared memory, and the Ricart and Agrawala version is for message passing. It is universally agreed that they are both instances of ''the Bakery algorithm'' family, but is there a formal expression of this affinity? Here we present logical properties expressed naturally in Tarskian event structures that allow us to capture the similarities precisely. We use the notions of low-level and high-level events to organize the comparison. We find a set of properties expressed in quantification language which are satisfied by every Tarskian system execution that models a run by either one of the protocols, and we suggest these properties as a formal explication for the similarity of the two algorithms. An abstract proof shows that these common properties imply the mutual exclusion, and the informal arguments explain the sense in which they capture the essence of the two Bakery algorithms.