Self-stabilization
- 1 March 1993
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 25 (1), 45-67
- https://doi.org/10.1145/151254.151256
Abstract
In 1973 Dijkstra introduced to computer science the notion of self-stabilization in the context of distributed systems. He defined a system as self-stabilizing when “regardless of its initial state, it is guaranteed to arrive at a legitimate state in a finite number of steps.” A system which is not self-stabilizing may stay in an illegitimate state forever. Dijkstra's notion of self-stabilization, which originally had a very narrow scope of application, is proving to encompass a formal and unified approach to fault tolerance under a model of transient failures for distributed systems. In this paper we define self-stabilization, examine its significance in the context of fault tolerance, define the important research themes that have arisen from it, and discuss the relevant results. In addition to the issues arising from Dijkstra's original presentation as well as several related issues, we discuss methodologies for designing self-stabilizing systems, the role of compilers with respect to self-stabilization, and some of the factors that prevent self-stabilization.Keywords
This publication has 23 references indexed in Scilit:
- Distributed program checking: a paradigm for building self-stabilizing distributed protocolsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A self-stabilizing algorithm for constructing spanning treesInformation Processing Letters, 1991
- Understanding fault-tolerant distributed systemsCommunications of the ACM, 1991
- Bounded-time fault-tolerant rule-based systemsTelematics and Informatics, 1990
- Token systems that self-stabilizeIEEE Transactions on Computers, 1989
- Uniform self-stabilizing ringsACM Transactions on Programming Languages and Systems, 1989
- A class of inherently fault tolerant distributed programsIEEE Transactions on Software Engineering, 1988
- A belated proof of self-stabilizationDistributed Computing, 1986
- Distributed snapshotsACM Transactions on Computer Systems, 1985
- Self-stabilizing systems in spite of distributed controlCommunications of the ACM, 1974