Skip to main content
Log in

Self-stabilizing extensions for meassage-passing systems

  • Special Issue on Self-stabilization
  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bouge L, Francez N: A compositional approach to superimposition. Principles of Programming Languages. ACM 1988

  2. Brown GM, Gouda MG, Wu CL: Token systems that selfstabilize. IEEE Trans Comput 38: 845–852 (1989)

    Google Scholar 

  3. Burns J, Pachl J: Uniform self-stabilizing rings. ACM Trans Programm Lang Syst 11: 330–344 (1989)

    Google Scholar 

  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. Dershowitz N, Manna Z: Proving termination with multiset orderings. Commun ACM 22(8): 465–476 (1979)

    Google Scholar 

  6. Dijkstra EW: Self-stabilizing systems in spite of distributed control. Commun ACM 17(11): 643–644 (1974)

    Google Scholar 

  7. Gouda M, Evangelist M: Convergence/response tradeoffs in concurrent systems. Tech Rep TR 88-39, Univesity of Texas at Austin, 1988

  8. Halpern J, Fagin R: Modelling knowledge and action in distributed systems. Distrib Comput 3:159–177 (1989)

    Google Scholar 

  9. Halpern J, Moses Y: Knowledge and common knowledge in a distributed environment. 3rd ACM Symposium on Principles of Distributed Computing, pp 50–61, 1984

  10. Katz S: A superimposition control construct for distributed systems. ACM Trans program Lang Syst 15(2): 337–356 (1993)

    Google Scholar 

  11. Katz S, Perry KJ: Self-stabilizing extensions for message-passing systems. 9th ACM Symposium on Principles of Distributed Computing, pp 91–101, 1990

  12. Lamport L: What good is temporal logic. 9th World Congress, IFIP 1983, pp 657–668

  13. Lamport L: The mutual exclusion problem: Part II — statement and solutions. J ACM 33(2): 327–348 (1984)

    Google Scholar 

  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–218

    Google Scholar 

  15. Pnueli A: The temporal logic of programs. 18th Annual Symptosium on Foundations of Computer Science, IEEE 1977, pp 46–57

Download references

Author information

Authors and Affiliations

Authors

Additional information

Shmuel Katz received his B.A. in Mathematics and Englisch Literature from U.C.L.A., and his M.Sc. and Ph.D. in Computer Science (1976) from the Weizmann Institute in Rechovot, Israel. From 1976 to 1981 he was a research at the IBM Israel Scientific Center. Presently, he is an Associate Professor in the Computer Science Department at the Technion in Haifa, Israel. In 1977–78 he visited for a year at the University of California, Berkeley, and in 1984–85 was at the University of Texas at Austin. He has been a consultant and vistor at the MCC Software Technology Program, and in 1988–89 was a visiting scientist at the IBM Watson Research Center. His research interests include the methodology of programming, specification methods, program verification and semantics, distributed programming, data structure, and programming languages.

Kenneth J. Pery has performed research in the area of distributed computing since obtaining Masters and Doctorate degrees in Computer Science from Cornell Univesity. His current interest is in studying problems of a partical nature in a formal context. He was graduated from Princeton University in 1979 with a B.S.E. degree in Electrical Engineering and Computer Science.

The Research of this author was partially supported by Research Grant 120-749 and the Argentinian Research Fund at the Technion

Rights and permissions

Reprints and permissions

About this article

Cite this article

Katz, S., Perry, K.J. Self-stabilizing extensions for meassage-passing systems. Distrib Comput 7, 17–26 (1993). https://doi.org/10.1007/BF02278852

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02278852

Key words

Navigation