Abstract
Design and verification of Self-Stabilizing (SS) network protocols are difficult tasks in part because of the convergence property that requires an SS protocol to recover to a set of legitimate states from any state in its state space. Once an SS protocol reaches a legitimate state, it remains in the set of legitimate states as long as there are no faults, called the closure property. Distribution issues exacerbate the design complexity of SS protocols as processes should collaborate and take local actions that result in global convergence. Most existing design techniques are manual, and mainly focus on protocols whose global state can be corrected if the local states of all processes are corrected, called the locally correctable protocols. After manual design, an SS protocol has to be verified for closure and convergence. Previous work observes that verifying SS protocols is a harder problem than designing them as developers have to ensure the correctness of closure and convergence functionalities and their noninterference. An algorithmic method for the design of convergence generates protocols that are correct by construction, thereby eliminating the need for verification.
In order to facilitate the design of SS protocols, this article presents a lightweight method for algorithmic addition of convergence to finite-state nonstabilizing protocols, including nonlocally correctable protocols. The proposed method enables the reuse of design efforts in the development of different self-stabilizing protocols. Moreover, for the first time (to the best of our knowledge), this article presents an algorithmic method for the addition of convergence to symmetric protocols that consist of structurally similar processes. The proposed approach is supported by a software tool that automatically adds convergence to nonstabilizing protocols. We have used the proposed method/tool to automatically generate several self-stabilizing protocols with up to 40 processes (and 340 states) in a few minutes on a regular PC. Surprisingly, our tool has synthesized both protocols that are the same as their manually designed versions as well as alternative solutions for well-known problems in the literature (e.g., Dijkstra’s token ring, maximal matching, graph coloring, agreement and leader election in a ring). Moreover, the proposed method has helped us detect a design flaw in a manually designed self-stabilizing protocol.
- Abujarad, F. and Kulkarni, S. S. 2009. Multicore constraint-based automated stabilization. In Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems. 47--61. Google Scholar
Digital Library
- Afek, Y., Kutten, S., and Yung, M. 1997. The local detection paradigm and its application to self-stabilization. Theoret. Comput. Sci. 186, 1--2, 199--229. Google Scholar
Digital Library
- Arora, A., Gouda, M., and Varghese, G. 1996. Constraint satisfaction as a basis for designing nonmasking fault-tolerant systems. J. High Speed Netw. 5, 3, 293--306. Google Scholar
Digital Library
- Arora, A. and Gouda, M. G. 1993. Closure and convergence: A foundation of fault-tolerant computing. IEEE Trans. Softw. Eng. 19, 11, 1015--1027. Google Scholar
Digital Library
- Arora, A. and Gouda, M. G. 1994. Distributed reset. IEEE Trans. Comput. 43, 9, 1026--1038. Google Scholar
Digital Library
- Attie, P. and Emerson, A. 2001. Synthesis of concurrent programs for an atomic read/write model of computation. ACM Trans. Program. Lang. Syst. 23, 2, 187--242. Google Scholar
Digital Library
- Attie, P. and Emerson, E. 1998. Synthesis of concurrent systems with many similar processes. ACM Trans. Program. Lang. Syst. 20, 1, 51--115. Google Scholar
Digital Library
- Attie, P. C., Anish A., and Emerson, E. A. 2004. Synthesis of fault-tolerant concurrent programs. ACM Trans. Prog. Lang. Syst. 26, 1, 125--185. Google Scholar
Digital Library
- Awerbuch, B., Patt-Shamir, B., and Varghese, G. 1991. Self-stabilization by local checking and correction. In Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science. 268--277. Google Scholar
Digital Library
- Beauquier, J., Tixeuil, S., and Datta, A. K. 1999. Self-stabilizing census with cut-through constraint. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS). 70--77. Google Scholar
Digital Library
- Bloem, R., Chatterjee, K., Greimel, K., Henzinger, T. A., and Jobstmann, B. 2010. Robustness in the presence of liveness. In Proceedings of the International Conference on Computer Aided Verification (CAV). 410--424. Google Scholar
Digital Library
- Bloem, R., Greimel, K., Henzinger, T. A., and Jobstmann, B. 2009. Synthesizing robust systems. In Proceedings of the International Conference on Formal Methods in Computer-Aided Design (FMCAD). 85--92.Google Scholar
- Bonakdarpour, B. and Kulkarni, S. S. 2007. Exploiting symbolic techniques in automated synthesis of distributed programs with large state space. In Proceedings of the 27th International Conference on Distributed Computing Systems. IEEE Computer Society, Los Alaminos, CA, 3--10. Google Scholar
Digital Library
- Bonakdarpour, B. and Kulkarni, S. S. 2008. Revising distributed UNITY programs is NP-complete. In Proceedings of the 12th International Conference on Principles of Distributed Systems (OPODIS). 408--427. Google Scholar
Digital Library
- Brown, G., Gouda, M., and Wu, C.-L. 1989. Token systems that self-stabilize. IEEE Trans. Comput. 38, 6, 845--852. Google Scholar
Digital Library
- Bryant, R. 1986. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 35, 8, 677--691. Google Scholar
Digital Library
- Cho, K. and Lim, J. 1998. Synthesis of fault-tolerant supervisor for automated manufacturing systems: A case study on photolithography process. IEEE Trans. Robotics Automat. 14, 2, 348--351.Google Scholar
Cross Ref
- Cottenier, T., van den Berg, A., and Elrad, T. 2007. Motorola WEAVER: Aspect and model-driven engineering. J. Object Tech. 6, 7, 51--88.Google Scholar
Cross Ref
- Dijkstra, E. W. 1974. Self-stabilizing systems in spite of distributed control. Commun. ACM 17, 11, 643--644. Google Scholar
Digital Library
- Dijkstra, E. W. 1990. A Discipline of Programming. Prentice-Hall.Google Scholar
- Dolev, S. and Herman, T. 1995. Superstabilizing protocols for dynamic distributed systems. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing. 255. Google Scholar
Digital Library
- Dolev, S. and Welch, J. L. 2004. Self-stabilizing clock synchronization in the presence of byzantine faults. J. ACM 51, 5, 780--799. Google Scholar
Digital Library
- Ebnenasir, A. 2005. Automatic synthesis of fault-tolerance. Ph.D. thesis, Michigan State University. Google Scholar
Digital Library
- Ebnenasir, A. and Farahat, A. 2010. Towards an extensible framework for automated design of self-stabilization. Tech. rep. CS-TR-10-03, Michigan Technological University. http://www.cs.mtu.edu/html/tr/10/10-03.pdf.Google Scholar
- Ebnenasir, A., Kulkarni, S. S., and Arora, A. 2008. FTSyn: A framework for automatic synthesis of fault-tolerance. Int. J. Softw. Tools Tech. Transfer 10, 5, 455--471. Google Scholar
Digital Library
- Emerson, E. and Clarke, E. 1982. Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2, 3, 241--266.Google Scholar
Cross Ref
- Emerson, E. and Sistla, A. 1996. Symmetry and model checking. Formal Meth. Syst. Design 9, 1, 105--131. Google Scholar
Digital Library
- Garg, V. K. 1993. Parallel and distributed algorithms for supervisory control of discrete event systems. In Proceedings of 32nd IEEE Conference on Decision and Control. 2236--2241.Google Scholar
Cross Ref
- Gentilini, R., Piazza, C., and Policriti, A. 2003. Computing strongly connected components in a linear number of symbolic steps. In Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms. 573--582. Google Scholar
Digital Library
- Gouda, M. 1995. The triumph and tribulation of system stabilization. In Proceedings of the Distributed Algorithms (WDAG’95), J.-M. Helary and M. Raynal Eds., Lecture Notes in Computer Science, vol. 972. Springer-Verlag, 1--18. Google Scholar
Digital Library
- Gouda, M. 2001. The theory of weak stabilization. In Proceedings of 5th International Workshop on Self-Stabilizing Systems. Lecture Notes in Computer Science, vol. 2194. 114--123. Google Scholar
Digital Library
- Gouda, M. 2002. Multiphase stabilization. IEEE Trans. Softw. Eng. 28, 2, 201--208. Google Scholar
Digital Library
- Gouda, M. G. and Acharya, H. B. 2009. Nash equilibria in stabilizing systems. In Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems. 311--324. Google Scholar
Digital Library
- Gouda, M. G. and Multari, N. 1991. Stabilizing communication protocols. IEEE Trans. Comput. 40, 4, 448--458. Google Scholar
Digital Library
- Holzmann, G. 1997. The model checker SPIN. IEEE Trans. Softw. Eng. 23, 5, 279--295. Google Scholar
Digital Library
- Huang, S.-T. 1993. Leader election in uniform rings. ACM Trans. Prog. Lang. Syst. 15, 3, 563--573. Google Scholar
Digital Library
- Katz, S. and Perry, K. 1993. Self-stabilizing extensions for message passing systems. Distrib. Comput. 7, 17--26. Google Scholar
Digital Library
- Kulkarni, S. S. and Arora, A. 2000. Automating the addition of fault-tolerance. In Formal Techniques in Real-Time and Fault-Tolerant Systems, Springer-Verlag, 82--93. Google Scholar
Digital Library
- Kupferman, O. and Vardi, M. 2001. Synthesizing distributed systems. In Proceedings of the 16th IEEE Symposium on Logic in Computer Science. 389--398. Google Scholar
Digital Library
- Lafortune, S. and Lin, F. 1992. On tolerable and desirable behaviors in supervisory control of discrete event systems. Disc. Event Dynam. Syst.: Theory Appl. 1, 1, 61--92.Google Scholar
Cross Ref
- Leal, W. and Arora, A. 2004. Scalable self-stabilization via composition. In Proceedings of the IEEE International Conference on Distributed Computing Systems. 12--21. Google Scholar
Digital Library
- Lin, F. and Wonham, W. M. 1990. Decentralized control and coordination of discrete-event systems with partial observation. IEEE Trans. Automat. Control 35, 12, 1330--1337.Google Scholar
Cross Ref
- ling Yen, I. and Bastani, F. B. 1995. A highly safe self-stabilizing mutual exclusion algorithm. In Proceedings of the 2nd Workshop on Self-Stabilizing Systems. 301--305.Google Scholar
- Liu, Z. and Joseph, M. 1992. Transformation of programs for fault-tolerance. Formal Asp. Comput. 4, 5, 442--469.Google Scholar
Cross Ref
- Manna, Z. and Wolper, P. 1984. Synthesis of communicating processes from temporal logic specifications. ACM Trans. Program. Lang. Syst. 6, 1, 68--93. Google Scholar
Digital Library
- Pnueli, A. and Rosner, R. 1989. On the synthesis of a reactive module. In Proceedings of the 16th ACM Symposium on Principles of Programming Languages. ACM, New York, 179--190. Google Scholar
Digital Library
- Pnueli, A. and Rosner, R. 1990. Distributed reactive systems are hard to synthesis. In Proceedings of 31st IEEE Symposium on Foundation of Computer Science. IEEE Computer Society, Los Alamitos, CA, 746--757. Google Scholar
Digital Library
- Ramadge, P. and Wonham, W. 1989. The control of discrete event systems. Proc. IEEE 77, 1, 81--98.Google Scholar
Cross Ref
- Rohloff, K. R. 2004. Computations on distributed discrete-event systems. Ph.D. thesis, University of Michigan, MI. Google Scholar
Digital Library
- Rudie, K., Lafortune, S., and Lin, F. 2003. Minimal communication in a distributed discrete-event systems. IEEE Trans. Automat. Cont. 48, 6, 957--975.Google Scholar
Cross Ref
- Rudie, K. and Wonham, W. 1992. Think globally, act locally: Decentralized supervisory control. IEEE Trans. Automat. Cont. 37, 11, 1692--1708.Google Scholar
Cross Ref
- Rumbaugh, J., Jacobson, I., and Booch, G. 1999. The Unified Modeling Language Reference Manual. Addison-Wesley. Google Scholar
Digital Library
- Somenzi, F. 1998. CUDD: CU decision diagram package release 2.3. 0. University of Colorado at Boulder.Google Scholar
- Staber, S., Jobstmann, B., and Bloem, R. 2005. Finding and fixing faults. In Proceedings of the 13th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods. 35--49. Google Scholar
Digital Library
- Stomp, F. 1993. Structured design of self-stabilizing programs. In Proceedings of the 2nd Israel Symposium on Theory and Computing Systems. 167--176.Google Scholar
Cross Ref
- Thomas, W. 1995. On the synthesis of strategies in infinite games. In Proceedings of the 12th Annual Symposium on Theoretical Aspects of Computer Science. 1--13.Google Scholar
Cross Ref
- Thomas, W. 2002. Infinite games and verification (extended abstract of a tutorial). In Proceedings of the 14th International Conference (CAV). Lecture Notes in Computer Science, vol. 2404, 58--64. Google Scholar
Digital Library
- Varghese, G. 1993. Self-stabilization by local checking and correction. Ph.D. thesis, MIT/LCS/TR-583. Google Scholar
Digital Library
- Varghese, G. 1994. Self-stabilization by counter flushing. In Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing. 244--253. Google Scholar
Digital Library
- Wallmeier, N., Hütten, P., and Thomas, W. 2003. Symbolic synthesis of finite-state controllers for request-response specifications. In Proceedings of CIAA, Lecture Notes in Computer Science, vol. 2759, 11--22. Google Scholar
Digital Library
Index Terms
A Lightweight Method for Automated Design of Convergence in Network Protocols
Recommendations
A Lightweight Method for Automated Design of Convergence
Design and verification of Self-Stabilizing (SS) network protocols are difficult tasks in part because of the requirement that a SS protocol must recover to a set of legitimate states from {\em any} state in its state space (when perturbed by transient ...
A self-stabilizing link-coloring protocol resilient to unbounded byzantine faults in arbitrary networks
Self-stabilizing protocols can tolerate any type and any number of transient faults. However, in general, self-stabilizing protocols provide no guarantee about their behavior against permanent faults. This paper proposes a self-stabilizing link-coloring ...
Swarm Synthesis of Convergence for Symmetric Protocols
This paper presents a novel non-deterministic method for algorithmic addition of convergence to non-stabilizing symmetric protocols. The proposed method exploits randomization and parallelization in order to expand the scope of the search for self-...






Comments