Skip to main content

Synthesizing Self-stabilization through Superposition and Backtracking

  • Conference paper

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

Abstract

While the design of self-stabilization is known to be a hard problem, several sound (but incomplete) heuristics exist for algorithmic design of self-stabilization. This paper presents a sound and complete method for algorithmic design of self-stabilizing network protocols. The essence of the proposed approach is based on variable superposition and backtracking search. We have validated the proposed method by creating both a sequential and a parallel implementation in the context of a software tool, called Protocon. Moreover, we have used Protocon to automatically design self-stabilizing protocols for the problems that all existing heuristics fail to solve.

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. Abujarad, F., Kulkarni, S.S.: Multicore constraint-based automated stabilization. In: Guerraoui, R., Petit, F. (eds.) SSS 2009. LNCS, vol. 5873, pp. 47–61. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  2. Abujarad, F., Kulkarni, S.S.: Automated constraint-based addition of nonmasking and stabilizing fault-tolerance. Theoretical Computer Science 412(33), 4228–4246 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  3. Afek, Y., Kutten, S., Yung, M.: The local detection paradigm and its application to self-stabilization. Theoretical Computer Science 186(1-2), 199–229 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  4. Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21, 181–185 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  5. Arora, A., Gouda, M.G.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Transactions on Software Engineering 19(11), 1015–1027 (1993)

    Article  Google Scholar 

  6. Attie, P.C., Arora, A., Emerson, E.A.: Synthesis of fault-tolerant concurrent programs. ACM Transactions on Programming Languages and Systems (TOPLAS) 26(1), 125–185 (2004)

    Article  Google Scholar 

  7. Awerbuch, B., Patt-Shamir, B., Varghese, G.: Self-stabilization by local checking and correction. In: Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science, pp. 268–277 (1991)

    Google Scholar 

  8. Bonakdarpour, B., Kulkarni, S.S.: Revising distributed UNITY programs is NP-complete. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 408–427. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley (1988)

    Google Scholar 

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

    Article  MATH  Google Scholar 

  11. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall (1990)

    Google Scholar 

  12. Ebnenasir, A.: Automatic Synthesis of Fault-Tolerance. PhD thesis, Michigan State University (May 2005)

    Google Scholar 

  13. Ebnenasir, A., Farahat, A.: Swarm synthesis of convergence for symmetric protocols. In: Proceedings of the Ninth European Dependable Computing Conference, pp. 13–24 (2012)

    Google Scholar 

  14. Farahat, A., Ebnenasir, A.: A lightweight method for automated design of convergence in network protocols. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 7(4), 38:1–38:36 (2012)

    Google Scholar 

  15. Gomes, C.P., Selman, B., Kautz, H.A.: Boosting combinatorial search through randomization. In: Mostow, J., Rich, C. (eds.) AAAI/IAAI, pp. 431–437. AAAI Press / The MIT Press (1998)

    Google Scholar 

  16. Gouda, M.G.: The theory of weak stabilization. In: Datta, A.K., Herman, T. (eds.) WSS 2001. LNCS, vol. 2194, pp. 114–123. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Gouda, M.G., Haddix, F.F.: The stabilizing token ring in three bits. Journal of Parallel and Distributed Computing 35(1), 43–48 (1996)

    Article  MATH  Google Scholar 

  18. Gouda, M.G., Multari, N.J.: Stabilizing communication protocols. IEEE Transactions on Computers 40(4), 448–458 (1991)

    Article  Google Scholar 

  19. Hoepman, J.-H.: Uniform deterministic self-stabilizing ring-orientation on odd-length rings. In: Tel, G., Vitányi, P. (eds.) WDAG 1994. LNCS, vol. 857, pp. 265–279. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  20. Huang, S.-T.: Leader election in uniform rings. ACM Transactions on Programming Languages and Systems (TOPLAS) 15, 563–573 (1993)

    Article  Google Scholar 

  21. Imase, M., Itoh, M.: A design for directed graphs with minimum diameter. IEEE Trans. Computers 32(8), 782–784 (1983)

    Article  MATH  Google Scholar 

  22. Katz, S., Perry, K.: Self-stabilizing extensions for message passing systems. Distributed Computing 7, 17–26 (1993)

    Article  MATH  Google Scholar 

  23. Klinkhamer, A.P., Ebnenasir, A.: On the hardness of adding nonmasking fault tolerance. IEEE Transactions on Dependable and Secure Computing (in press, 2014)

    Google Scholar 

  24. Klinkhamer, A.P., Ebnenasir, A.: Synthesizing self-stabilization through superposition and backtracking. Technical Report CS-TR-14-01, Michigan Technological University (May 2014), http://www.mtu.edu/cs/research/papers/pdfs/CS-TR-14-01.pdf

  25. Kulkarni, S.S.: Component-based design of fault-tolerance. PhD thesis, Ohio State University (1999)

    Google Scholar 

  26. Kulkarni, S.S., Arora, A.: Automating the addition of fault-tolerance. In: Joseph, M. (ed.) FTRTFT 2000. LNCS, vol. 1926, pp. 82–93. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  27. Liu, Z., Joseph, M.: Transformation of programs for fault-tolerance. Formal Aspects of Computing 4(5), 442–469 (1992)

    Article  MATH  Google Scholar 

  28. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall Press, Upper Saddle River (2009)

    Google Scholar 

  29. Stomp, F.: Structured design of self-stabilizing programs. In: Proceedings of the 2nd Israel Symposium on Theory and Computing Systems, pp. 167–176 (1993)

    Google Scholar 

  30. Varghese, G.: Self-stabilization by local checking and correction. PhD thesis. MIT (October 1992)

    Google Scholar 

  31. Varghese, G.: Self-stabilization by counter flushing. In: The 13th Annual ACM Symposium on Principles of Distributed Computing, pp. 244–253 (1994)

    Google Scholar 

  32. Zhu, L., Kulkarni, S.: Synthesizing round based fault-tolerant programs using genetic programming. In: Higashino, T., Katayama, Y., Masuzawa, T., Potop-Butucaru, M., Yamashita, M. (eds.) SSS 2013. LNCS, vol. 8255, pp. 370–372. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Klinkhamer, A., Ebnenasir, A. (2014). Synthesizing Self-stabilization through Superposition and Backtracking. In: Felber, P., Garg, V. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2014. Lecture Notes in Computer Science, vol 8756. Springer, Cham. https://doi.org/10.1007/978-3-319-11764-5_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11764-5_18

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11763-8

  • Online ISBN: 978-3-319-11764-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics