SMT-Based Synthesis of Distributed Self-Stabilizing Systems

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.

[1]  Edsger W. Dijkstra A belated proof of self-stabilization , 2005, Distributed Computing.

[2]  Gerard Tel,et al.  Maximal Matching Stabilizes in Quadratic Time , 1994, Inf. Process. Lett..

[3]  Borzoo Bonakdarpour,et al.  Automated Addition of Fault-Tolerance under Synchronous Semantics , 2013, SSS.

[4]  Orna Kupferman,et al.  Safraless decision procedures , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[5]  Bernd Finkbeiner,et al.  Automatic Compositional Synthesis of Distributed Systems , 2014, FM.

[6]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[7]  Ali Ebnenasir,et al.  Synthesizing Self-stabilization through Superposition and Backtracking , 2014, SSS.

[8]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[9]  George Varghese,et al.  Constraint satisfaction as a basis for designing nonmasking fault-tolerance , 1994, 14th International Conference on Distributed Computing Systems.

[10]  Sébastien Tixeuil,et al.  On the self-stabilization of mobile oblivious robots in uniform rings , 2015, Theor. Comput. Sci..

[11]  Kerry Raymond,et al.  A tree-based algorithm for distributed mutual exclusion , 1989, TOCS.

[12]  Bernd Finkbeiner,et al.  Bounded synthesis , 2012, International Journal on Software Tools for Technology Transfer.

[13]  Sébastien Tixeuil,et al.  Weak vs. Self vs. Probabilistic Stabilization , 2007, 2008 The 28th International Conference on Distributed Computing Systems.

[14]  Ali Ebnenasir,et al.  On the Complexity of Adding Convergence , 2013, FSEN.

[15]  Shlomi Dolev,et al.  Self-stabilizing group communication in directed networks , 2003, Acta Informatica.

[16]  Ali Ebnenasir,et al.  A Lightweight Method for Automated Design of Convergence , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[17]  Hrishikesh B. Acharya,et al.  Nash equilibria in stabilizing systems , 2009, Theor. Comput. Sci..

[18]  D. Rosenkrantz,et al.  Developing self - stabilizing coloring algorithms via systematic randomization , 1994 .

[19]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[20]  Fuad Abujarad,et al.  Automated constraint-based addition of nonmasking and stabilizing fault-tolerance , 2011, Theor. Comput. Sci..

[21]  Ashish Tiwari,et al.  Synthesis of a simple self-stabilizing system , 2014, SYNT.

[22]  Bernd Finkbeiner,et al.  Petri Games: Synthesis of Distributed Systems with Causal Memory , 2014, GandALF.

[23]  Roderick Bloem,et al.  Parameterized Synthesis , 2012, TACAS.

[24]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[25]  Fuad Abujarad,et al.  Symbolic synthesis of masking fault-tolerant distributed programs , 2012, Distributed Computing.

[26]  Mohamed G. Gouda The Theory of Weak Stabilization , 2001, WSS.

[27]  Bernd Finkbeiner,et al.  Synthesis of Fault-Tolerant Distributed Systems , 2009, ATVA.

[28]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[29]  Shing-Tsaan Huang,et al.  A Self-Stabilizing Algorithm for Maximal Matching , 1992, Inf. Process. Lett..

[30]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[31]  Sébastien Tixeuil,et al.  A new self-stabilizing maximal matching algorithm , 2007, Theor. Comput. Sci..