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 for- mer. Specifically, we present a stabilization-preserving atomicity refine- ment 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 atom- ically update its own state. (Of course, correctness properties, including termination and fairness, are also preserved.)
Our re.nement is based on a low-atomicity, bounded-space, stabiliz- ing 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.
Abstract
This research was supported in part by a grant from the Division of Research and Graduate Studies, Kent State University
Abstract
This research was supported in part by an Ameritech Faculty Fellowship and grants from the National Science Foundation, the National Security Agency, and Microsoft Research.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Arora and M. G. Gouda. Closure and convergence: a foundation of fault-tolerant computing. IEEE Transactions on Software Engineering, 19:1015–1027, 1993.
A. Arora and M. G. Gouda. Distributed reset. IEEE Transactions on Computers, 43:1026–1038, 1994.
B. Awerbuch, B. Patt-Shamir, and G. Varghese. Bounding the unbounded (distributed computing protocols). In Proceedings IEEE INFOCOM 94 The Conference on Computer Communications, pages 776–783, 1994.
G. M. Brown, M. G. Gouda, and C. L. Wu. Token systems that self-stabilize. IEEE Transactions on Computers, 38:845–852, 1989.
J. E. Burns. Self-stabilizing rings without demons. Technical Report GIT-ICS-87/36, Georgia Tech, 1987.
K. M. Chandy and J. Misra. The drinking philosopher’s problem. ACM Transactions on Programming Languages and Systems, 6(4):632–646, October 1984.
K. M. Chandy and J. Misra. Parallel Program Design: a Foundation. Addison-Wesley, Reading, Mass., 1988.
E. W. Dijkstra. Hierarchical Ordering of Sequential Processes, pages 72–93. Academic Press, 1972.
E. W. Dijkstra. Self stabilizing systems in spite of distributed control. Communications of the Association of the Computing Machinery, 17:643–644, 1974.
S. Dolev, M. G. Gouda, and M. Schneider. B Memory requirements for silent stabilization. In PODC96 Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, pages 27–34, 1996.
S. Dolev, A. Israeli, and S. Moran. Self-stabilization of dynamic systems assuming only read/write atomicity. Distributed Computing, 7:3–16, 1993.
M. G. Gouda and F. Haddix. The alternator. In Proceedings of the Fourth Workshop on Self-Stabilizing systems, 1999. To appear.
M. G. Gouda and N. Multari. Stabilizing communication protocols. IEEE Transactions on Computers, 40:448–458, 1991.
R. R. Howell, M. Nesterenko, and M. Mizuno. Finite-state self-stabilizing protocols in message passing systems. In Proceedings of the Fourth Workshop on Self-Stabilizing systems, 1999. To appear.
L. Lamport. The mutual exclusion problem: part ii-statement and solutions. Journal of the Association of the Computing Machinery, 33:327–348, 1986.
M. Mizuno and H. Kakugawa. A timestamp based transformation of self-stabilizing programs for distributed computing environments. In WDAG96 Distributed Algorithms 10th International Workshop Proceedings, Springer-Verlag LNCS:1151, pages 304–321, 1996.
M. Mizuno and M. Nesterenko. A transformation of self-stabilizing serial model programs for asynchronous parallel computing environments. Information Processing Letters, 66(6):285–290, 1998.
M. Mizuno, M. Nesterenko, and H. Kakugawa. Lock-based self-stabilizing distributed mutual exclusion algorithms. In Proceedings of the Sixteenth International Conference on Distributed Computing Systems, pages 708–716, 1996.
M. Nesterenko and A. Arora. Stabilization-preserving atomicity refinement (full version). http://www.mcs.kent.edu/~mikhail/refinement.ps.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nesterenko, M., Arora, A. (1999). Stabilization-Preserving Atomicity Refinement. In: Jayanti, P. (eds) Distributed Computing. DISC 1999. Lecture Notes in Computer Science, vol 1693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48169-9_18
Download citation
DOI: https://doi.org/10.1007/3-540-48169-9_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66531-1
Online ISBN: 978-3-540-48169-0
eBook Packages: Springer Book Archive