Abstract.
A system for specification and proof of distributed programs is presented. The method is based directly on the partial order of local states (poset) and avoids the notions of time and simultaneity. Programs are specified by documenting the relationship between local states which are adjacent to each other in the poset. Program properties are defined by stating properties of the poset. Many program properties can be expressed succinctly and elegantly using this method because poset properties inherently account for varying processor execution speeds. The system utilizes a proof technique which uses induction on the complement of the causally precedes relation and is shown to be useful in proving poset properties. We demonstrate the system on three example algorithms: vector clocks, mutual exclusion, and direct dependency clocks.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received 25 July 1995 / 16 September 1996
Rights and permissions
About this article
Cite this article
Garg, V., Tomlinson, A. Using the causal domain to specify and verify distributed programs. Acta Informatica 34, 667–686 (1997). https://doi.org/10.1007/s002360050102
Issue Date:
DOI: https://doi.org/10.1007/s002360050102