Stabilization-Preserving Atomicity Refinement

  • Authors:
  • Mikhail Nesterenko;Anish Arora

  • Affiliations:
  • -;-

  • Venue:
  • Proceedings of the 13th International Symposium on Distributed Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program refinements from an abstract to a concrete model empower designers to reason effectively in the abstract and architects to implement effectively in the concrete. For refinements to be useful, they must not only preserve functionality properties but also dependability properties. In this paper, we focus our attention on refinements that preserve the property of stabilization. We distinguish between two types of stabilization-preserving refinements -- atomicity refinement and semantics refinement -- and study the former. Specifically, we present a stabilization-preserving atomicity refinement from a model where a process can atomically access the state of all its neighbors and update its own state, to a model where a process can only atomically access the state of any one of its neighbors or atomically update its own state. (Of course, correctness properties, including termination and fairness, are also preserved.) Our refinement is based on a low-atomicity, bounded-space, stabilizing solution to the dining philosophers problem. It is readily extended to: (a) solve stabilization-preserving semantics refinement, (b) solve the drinking philosophers problem, and (c) allow further refinement into a message-passing model.