skip to main content
research-article

SMT-Based Synthesis of Distributed Self-Stabilizing Systems

Published:08 October 2015Publication History
Skip Abstract Section

Abstract

A self-stabilizing system is one that guarantees reaching a set of legitimate states from any arbitrary initial state. Designing distributed self-stabilizing protocols is often a complex task and developing their proof of correctness is known to be significantly more tedious. In this article, we propose an SMT-based method that automatically synthesizes a self-stabilizing protocol, given the network topology of distributed processes and description of the set of legitimate states. Our method can synthesize synchronous, asynchronous, symmetric, and asymmetric protocols for two types of stabilization, namely weak and strong. We also report on successful automated synthesis of a set of well-known distributed stabilizing protocols such as Dijkstra’s token ring, distributed maximal matching, graph coloring, and mutual exclusion in anonymous networks.

References

  1. F. Abujarad and S. S. Kulkarni. 2011. Automated constraint-based addition of nonmasking and stabilizing fault-tolerance. Theoretical Computer Science 412, 33, 4228--4246.Google ScholarGoogle ScholarCross RefCross Ref
  2. A. Arora, M. G. Gouda, and G. Varghese. 1996. Constraint satisfaction as a basis for designing nonmasking fault-tolerance. Journal of High Speed Networks 5, 3, 293--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Bonakdarpour, S. S. Kulkarni, and F. Abujarad. 2012. Symbolic synthesis of masking fault-tolerant programs. Journal on Distributed Computing 25, 1, 83--108.Google ScholarGoogle ScholarCross RefCross Ref
  4. E. M. Clarke, A. Biere, R. Raimi, and Y. Zhu. 2001. Bounded model checking using satisfiability solving. Formal Methods in System Design 19, 1, 7--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. W. Damm and B. Finkbeiner. 2014. Automatic compositional synthesis of distributed systems. In Proceedings of the 19th International Symposium on Formal Methods (FM). 179--193.Google ScholarGoogle Scholar
  6. S. Devismes, S. Tixeuil, and M. Yamashita. 2008. Weak vs. self vs. probabilistic stabilization. In Proceedings of the 28th IEEE International Conference on Distributed Computing Systems (ICDCS). 681--688. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. W. Dijkstra. 1974. Self-stabilizing systems in spite of distributed control. Communications of the ACM 17, 11, 643--644. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. W. Dijkstra. 1986. A belated proof of self-stabilization. Distributed Computing 1, 1, 5--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Dimitrova and B. Finkbeiner. 2009. Synthesis of fault-tolerant distributed systems. In Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis (ATVA). 321--336. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Dolev and E. Schiller. 2004. Self-stabilizing group communication in directed networks. Acta Informatica 40, 9, 609--636. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Ebnenasir and A. Farahat. 2011. A lightweight method for automated design of convergence. In Proceedings of the 25th IEEE International Parallel and Distributed Processing Symposium (IPDPS). 219--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. A. Emerson. 1990. Temporal and Modal Logics. In Handbook of Theoretical Computer Science. Jan van Leeuwen (eds), Vol. B. Elsevier Science Publishers B. V., Amsterdam, The Netherlands. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Finkbeiner and E.-R. Olderog. 2014. Petri games: Synthesis of distributed systems with causal memory. In Proceedings of the 5th International Symposium on Games, Automata, Logics and Formal Verification (GandALF). 217--230.Google ScholarGoogle ScholarCross RefCross Ref
  14. B. Finkbeiner and S. Schewe. 2013. Bounded synthesis. International Journal on Software Tools for Technology Transfer (STTT) 15, 5--6, 519--539.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Gascón and A. Tiwari. 2014. Synthesis of a simple self-stabilizing system. In Proceedings of the 3rd Workshop on Synthesis (SYNT). 5--16.Google ScholarGoogle Scholar
  16. M. G. Gouda. 2001. The theory of weak stabilization. In International Workshop on Self-Stabilizing Systems. 114--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. G. Gouda and H. B. Acharya. 2009. Nash equilibria in stabilizing systems. In Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). 311--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Herman. 1990. Probabilistic self-stabilization. Information Processing Letters 35, 2, 63--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S.-C. Hsu and S.-T. Huang. 1992. A self-stabilizing algorithm for maximal matching. Information Processing Letters 43, 2, 77--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Jacobs and R. Bloem. 2014. Parameterized synthesis. Logical Methods in Computer Science 10, 1.Google ScholarGoogle ScholarCross RefCross Ref
  22. A. Klinkhamer and A. Ebnenasir. 2013. On the complexity of adding convergence. In Proceedings of the International Conference on Fundamentals of Software Engineering. 17--33.Google ScholarGoogle Scholar
  23. A. Klinkhamer and A. Ebnenasir. 2014. Synthesizing self-stabilization through superposition and backtracking. In Proceedings of the 16th International Symposium on Stabilization, Safety, and Security of Distributed Systems. 252--267.Google ScholarGoogle Scholar
  24. O. Kupferman and M. Y. Vardi. 2005. Safraless decision procedures. In Proceedings of 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS). 531--542. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Y. Lin, B. Bonakdarpour, and S. S. Kulkarni. 2013. Automated addition of fault-tolerance under synchronous semantics. In Proceedings of the 15th International Symposium on Stabilization, Safety, and Security of Distributed Systems. 266--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Lynch. 1996. Distributed Algorithms. Morgan Kaufmann Publishers, San Mateo, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. F. Manne, M. Mjelde, L. Pilard, and S. Tixeuil. 2009. A new self-stabilizing maximal matching algorithm. Theoretical Computer Science 410, 14, 1336--1345. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. Ooshita and S. Tixeuil. 2012. On the self-stabilization of mobile oblivious robots in uniform rings. In International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). 49--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. K. Raymond. 1989. A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems 7, 61--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. G. Tel. 1994. Maximal matching stabilizes in quadratic time. Information Processing Letters 49, 6, 271--272. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SMT-Based Synthesis of Distributed Self-Stabilizing Systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Autonomous and Adaptive Systems
            ACM Transactions on Autonomous and Adaptive Systems  Volume 10, Issue 3
            October 2015
            204 pages
            ISSN:1556-4665
            EISSN:1556-4703
            DOI:10.1145/2819320
            Issue’s Table of Contents

            Copyright © 2015 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 8 October 2015
            • Revised: 1 April 2015
            • Accepted: 1 April 2015
            • Received: 1 July 2014
            Published in taas Volume 10, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader