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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Abujarad, F., Kulkarni, S.S.: Automated constraint-based addition of nonmasking and stabilizing fault-tolerance. Theoretical Computer Science 412(33), 4228–4246 (2011)
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)
Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21, 181–185 (1985)
Arora, A., Gouda, M.G.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Transactions on Software Engineering 19(11), 1015–1027 (1993)
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)
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)
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)
Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley (1988)
Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17(11), 643–644 (1974)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall (1990)
Ebnenasir, A.: Automatic Synthesis of Fault-Tolerance. PhD thesis, Michigan State University (May 2005)
Ebnenasir, A., Farahat, A.: Swarm synthesis of convergence for symmetric protocols. In: Proceedings of the Ninth European Dependable Computing Conference, pp. 13–24 (2012)
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)
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)
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)
Gouda, M.G., Haddix, F.F.: The stabilizing token ring in three bits. Journal of Parallel and Distributed Computing 35(1), 43–48 (1996)
Gouda, M.G., Multari, N.J.: Stabilizing communication protocols. IEEE Transactions on Computers 40(4), 448–458 (1991)
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)
Huang, S.-T.: Leader election in uniform rings. ACM Transactions on Programming Languages and Systems (TOPLAS) 15, 563–573 (1993)
Imase, M., Itoh, M.: A design for directed graphs with minimum diameter. IEEE Trans. Computers 32(8), 782–784 (1983)
Katz, S., Perry, K.: Self-stabilizing extensions for message passing systems. Distributed Computing 7, 17–26 (1993)
Klinkhamer, A.P., Ebnenasir, A.: On the hardness of adding nonmasking fault tolerance. IEEE Transactions on Dependable and Secure Computing (in press, 2014)
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
Kulkarni, S.S.: Component-based design of fault-tolerance. PhD thesis, Ohio State University (1999)
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)
Liu, Z., Joseph, M.: Transformation of programs for fault-tolerance. Formal Aspects of Computing 4(5), 442–469 (1992)
Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall Press, Upper Saddle River (2009)
Stomp, F.: Structured design of self-stabilizing programs. In: Proceedings of the 2nd Israel Symposium on Theory and Computing Systems, pp. 167–176 (1993)
Varghese, G.: Self-stabilization by local checking and correction. PhD thesis. MIT (October 1992)
Varghese, G.: Self-stabilization by counter flushing. In: The 13th Annual ACM Symposium on Principles of Distributed Computing, pp. 244–253 (1994)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)