Skip to main content

Self-stabilization Preserving Compiler

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3764))

Abstract

Self-Stabilization is an elegant approach for designing fault tolerant systems. A system is considered self-stabilizing if, starting in any state, it converges to the desired behavior. Self-stabilizing algorithms were designed for solving fundamental distributed tasks, such as leader election, token circulation and communication network protocols. The algorithms were expressed using guarded commands or pseudo-code. The realization of these algorithms requires the existence of (self-stabilizing) infrastructure for their execution such as a self-stabilizing microprocessor and a self-stabilizing operating system. Moreover, the high-level description of the algorithms needs to be converted into machine language of the microprocessor. In this work, we present a design for a self-stabilization preserving compiler designed for programs written in a language similar to the abstract state machine (ASM). The compiler preserves the stabilization property of the high level program.

Partially supported by Microsoft, IBM, NSF, Intel, Deutsche Telekom, Rita Altura Trust Chair in Computer Sciences, Intel, vaatat and Lynn and William Frankel Center for Computer Sciences.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Borger, E., Gurevich, Y., Rosenzweig, D.: The bakery algorithm: Yet another specification and verification. In: Borger, E. (ed.) Specification and Validation Methods, pp. 231–243. Oxford University Press, Oxford (1995)

    Google Scholar 

  2. Borger, E., Stark, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)

    Google Scholar 

  3. Brukman, O., Dolev, S., Kolodner, E.: Self-Stabilizing Autonomic Recoverer for Eventual Byzantine Software. In: IEEE International Conference on Software-Science, Technology & Engineering (SwSTE 2003), Herzelia, pp. 20–29 (2003); Also in the Workshop on Adaptive Distributed Systems (WADiS 2003), Sorrento, Italy (2003)

    Google Scholar 

  4. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)

    Article  MATH  Google Scholar 

  5. Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  6. Dolev, S., Haviv, Y.A.: Self-Stabilizing Soft Error Resilient Microprocessor. In: Müller-Schloer, C., Ungerer, T., Bauer, B. (eds.) ARCS 2004. LNCS, vol. 2981, pp. 31–46. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Dolev, S., Haviv, Y., Sagiv, M.: “Self-Stabilization Preserving Compiler” Technical Report #2005-06 (2005), http://www.cs.bgu.ac.il/~haviv/PHD/sspc-techreport.ps

  8. Dolev, S., Israeli, A., Moran, S.: Self-stabilization of dynamic systems assuming only read/write atomicity. Distributed Computing 7(1), 3–16 (1993)

    Article  Google Scholar 

  9. Dolev, S., Kat, R.: Self-Stabilizing Distributed File Systems. In: International Workshop on Self-Repairing and Self-Configurable Distributed Systems (RCDS 2002), pp. 384–389 (2002); To appear in Journal of High Speed Networks, special issue on self-stabilizing systems.

    Google Scholar 

  10. Dolev, S., Welch, J.L.: Self-Stabilizing Clock Synchronization in the Presence of Byzantine Faults. Journal of the ACM 51(5), 780–799 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  11. Dolev, S., Yagel, R.: Toward Self-Stabilizing Operating Systems. In: 2nd International Workshop on Self-Adaptive and Autonomic Computing Systems (SAACS 2004), pp. 684–688 (2004)

    Google Scholar 

  12. Fox, A., Patterson, D.: Self-Repairing Computers. Scientific American (June 2003)

    Google Scholar 

  13. Gouda, M.G., Haddix, F.F.: The alternator. In: WSS, pp. 48–53 (1999)

    Google Scholar 

  14. Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. In: IEEE Computer, pp. 41–50 (January 2003)

    Google Scholar 

  15. Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Boerger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)

    Google Scholar 

  16. Hadjicostis, C.N.: Coding Approaches to Fault Tolerance in Combinational and Dynamic Systems. Kluwer Academic Publishers, Dordrecht (2002)

    MATH  Google Scholar 

  17. Herman, T., Pirwani, I.: A composite stabilizing data structure. In: Datta, A.K., Herman, T. (eds.) WSS 2001. LNCS, vol. 2194, pp. 167–182. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  18. Kistler, M., Shivakumar, P., Alvisi, L., Burger, D., Keckler, S.: Modeling the effect of technology trends on the soft error rate of combinational logic. In: ICDSN. LNCS, vol. 72, pp. 216–226 (2002)

    Google Scholar 

  19. Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  20. Lynch, N.A.: Distributed Algorithms. Morgan Kaufman, San Francisco (1996)

    MATH  Google Scholar 

  21. McGuire, T.M., Gouda, M.G.: The Austin Protocol Compiler. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  22. Perlman, R.: Interconnections: Bridges, Routers, Switches, and Internetworking Protocols. Addison Wesley, Reading (1999)

    Google Scholar 

  23. Tanenbaum, A.: Structured Computer Organization, 2nd edn. Prentice-Hall, Inc., Englewood Cliffs (1984)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dolev, S., Haviv, Y., Sagiv, M. (2005). Self-stabilization Preserving Compiler. In: Tixeuil, S., Herman, T. (eds) Self-Stabilizing Systems. SSS 2005. Lecture Notes in Computer Science, vol 3764. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11577327_6

Download citation

  • DOI: https://doi.org/10.1007/11577327_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29814-4

  • Online ISBN: 978-3-540-32123-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics