Distributed Computing

, Volume 7, Issue 1, pp 17–26

Self-stabilizing extensions for meassage-passing systems

  • Shmuel Katz
  • Kenneth J. Perry
Special Issue on Self-stabilization


A self-stabilizing program eventually resumes normal behavior even if excution begins in, an abnormal initial state. In this paper, we explore the possibility of extending an arbitrary program into a self-stabilizing one. Our contributions are: (1) a formal definition of the concept of one program being aself-stabilizing extension of another; (2) a characterization of what properties may hold in such extensions; (3) a demonstration of the possibility of mechanically creating such extensions. The computtional model used is that of an asynchronous distributed message-passing system whose communication topology is an arbitrary graph. We contrast the difficulties of self-stabilization in thismodel with those of themore common shared-memory models.

Key words

Self-stabilization Message-passing Superimposition 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bouge L, Francez N: A compositional approach to superimposition. Principles of Programming Languages. ACM 1988Google Scholar
  2. 2.
    Brown GM, Gouda MG, Wu CL: Token systems that selfstabilize. IEEE Trans Comput 38: 845–852 (1989)Google Scholar
  3. 3.
    Burns J, Pachl J: Uniform self-stabilizing rings. ACM Trans Programm Lang Syst 11: 330–344 (1989)Google Scholar
  4. 4.
    Chandy KM, Lamport L: Distributed snapshots: determining global states of distributed systems. ACM Trans Comput Syst 3(1): 63–75 (1985)Google Scholar
  5. 5.
    Dershowitz N, Manna Z: Proving termination with multiset orderings. Commun ACM 22(8): 465–476 (1979)Google Scholar
  6. 6.
    Dijkstra EW: Self-stabilizing systems in spite of distributed control. Commun ACM 17(11): 643–644 (1974)Google Scholar
  7. 7.
    Gouda M, Evangelist M: Convergence/response tradeoffs in concurrent systems. Tech Rep TR 88-39, Univesity of Texas at Austin, 1988Google Scholar
  8. 8.
    Halpern J, Fagin R: Modelling knowledge and action in distributed systems. Distrib Comput 3:159–177 (1989)Google Scholar
  9. 9.
    Halpern J, Moses Y: Knowledge and common knowledge in a distributed environment. 3rd ACM Symposium on Principles of Distributed Computing, pp 50–61, 1984Google Scholar
  10. 10.
    Katz S: A superimposition control construct for distributed systems. ACM Trans program Lang Syst 15(2): 337–356 (1993)Google Scholar
  11. 11.
    Katz S, Perry KJ: Self-stabilizing extensions for message-passing systems. 9th ACM Symposium on Principles of Distributed Computing, pp 91–101, 1990Google Scholar
  12. 12.
    Lamport L: What good is temporal logic. 9th World Congress, IFIP 1983, pp 657–668Google Scholar
  13. 13.
    Lamport L: The mutual exclusion problem: Part II — statement and solutions. J ACM 33(2): 327–348 (1984)Google Scholar
  14. 14.
    Lichtenstein O, Pnueli A, Zuck L: The glory of the past. Conference on Logics of Programs. Lect Notes Comput Sci, vol 193. Springer, Berlin Heidelberg New York 1985, pp 196–218Google Scholar
  15. 15.
    Pnueli A: The temporal logic of programs. 18th Annual Symptosium on Foundations of Computer Science, IEEE 1977, pp 46–57Google Scholar

Copyright information

© Springer-Verlag 1993

Authors and Affiliations

  • Shmuel Katz
    • 1
  • Kenneth J. Perry
    • 2
  1. 1.Israel Institute of TechnologyTechnionHaifaIsrael
  2. 2.IBM ResearchYorktown HeigtsUSA

Personalised recommendations