ACM Transactions on Autonomous and Adaptive Systems · 2015 · 14 citations · 20 references
ComputingComputer ScienceComputer SystemsComputer NetworksDistributed SystemsFormal MethodsDistributed AlgorithmsDistributed ComputingDistributed Systems DesignNetwork ProtocolsReliable Distributed SystemsSelf-stabilizing SystemsAnonymous NetworksAutomated Design SynthesisDijkstra's AlgorithmMutual ExclusionSelf-stabilizationSelf-stabilizing ProtocolsToken Ring AlgorithmsToken Ring Networks
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.
20
Self-stabilizing systems in spite of distributed control
Edsger W. Dijkstra · Communications of the ACM · 1974 · 2.1K citations · Full text
Software abstractions: logic, language and analysis
Choice Reviews Online · 2007 · 1.5K citations
Bounded Model Checking Using Satisfiability Solving
Edmund M. Clarke, Armin Biere, Richard Raimi et al. · Formal Methods in System Design · 2001 · 679 citations
Orna Kupferman, Moshe Y. Vardi · 2005 · 238 citations