Dependability Engineering of Silent Self-stabilizing Systems

  • Abhishek Dhama
  • Oliver Theel
  • Pepijn Crouzen
  • Holger Hermanns
  • Ralf Wimmer
  • Bernd Becker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5873)


Self-stabilization is an elegant way of realizing non-masking fault-tolerant systems. Sustained research over last decades has produced multiple self-stabilizing algorithms for many problems in distributed computing. In this paper, we present a framework to evaluate multiple self-stabilizing solutions under a fault model that allows intermittent transient faults. To that end, metrics to quantify the dependability of self-stabilizing systems are defined. It is also shown how to derive models that are suitable for probabilistic model checking in order to determine those dependability metrics. A heuristics-based method is presented to analyze counterexamples returned by a probabilistic model checker in case the system under investigation does not exhibit the desired degree of dependability. Based on the analysis, the self-stabilizing algorithm is subsequently refined.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dhama, A., Theel, O., Warns, T.: Reliability and Availability Analysis of Self-Stabilizing Systems. In: Datta, A.K., Gradinariu, M. (eds.) SSS 2006. LNCS, vol. 4280, pp. 244–261. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Arora, A., Kulkarni, S.S.: Component Based Design of Multitolerant Systems. IEEE Trans. Software Eng. 24, 63–78 (1998)CrossRefGoogle Scholar
  3. 3.
    Arora, A., Kulkarni, S.S.: Designing Masking Fault-Tolerance via Nonmasking Fault-Tolerance. IEEE Trans. Software Eng. 24, 435–450 (1998)CrossRefGoogle Scholar
  4. 4.
    Ghosh, S., Gupta, A., Herman, T., Pemmaraju, S.V.: Fault-Containing Self-Stabilizing Algorithms. In: PODC, pp. 45–54 (1996)Google Scholar
  5. 5.
    Ghosh, S., Pemmaraju, S.V.: Tradeoffs in fault-containing self-stabilization. In: WSS, pp. 157–169 (1997)Google Scholar
  6. 6.
    Beauquier, J., Gradinariu, M., Johnen, C.: Randomized Self-Stabilizing and Space Optimal Leader Election under Arbitrary Scheduler on Rings. Distributed Computing 20, 75–93 (2007)CrossRefGoogle Scholar
  7. 7.
    Aljazzar, H., Leue, S.: Debugging of Dependability Models Using Interactive Visualization of Counterexamples. In: QEST, pp. 189–198. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  8. 8.
    Dolev, S., Israeli, A., Moran, S.: Self-Stabilization of Dynamic Systems Assuming Only Read/Write Atomicity. Distributed Computing 7, 3–16 (1993)CrossRefGoogle Scholar
  9. 9.
    Trivedi, K.S.: Probability and Statistics with Reliability, Queuing, and Computer Science Applications. John Wiley and Sons, Chichester (2001)Google Scholar
  10. 10.
    Hinton, A., Kwiatkowska, M.Z., Norman, G., Parker, D.: PRISM: A Tool for Automatic Verification of Probabilistic Systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Wimmer, R., Braitling, B., Becker, B.: Counterexample Generation for Discrete-Time Markov Chains Using Bounded Model Checking. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 366–380. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  13. 13.
    Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: POPL, pp. 238–252 (1977)Google Scholar
  14. 14.
    Graf, S., Saïdi, H.: Construction of Abstract State Graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)Google Scholar
  15. 15.
    Balaban, I., Pnueli, A., Zuck, L.: Modular Ranking Abstraction. Int. J. Found. Comput. Sci. 18, 5–44 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Hermanns, H., Wachter, B., Zhang, L.: Probabilistic CEGAR. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 162–175. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Kessels, J.L.W.: An Exercise in Proving Self-Stabilization with a Variant Function. Inf. Process. Lett. 29, 39–42 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Oehlerking, J., Dhama, A., Theel, O.: Towards Automatic Convergence Verification of Self-Stabilizing Algorithms. In: Tixeuil, S., Herman, T. (eds.) SSS 2005. LNCS, vol. 3764, pp. 198–213. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Gouda, M.G., Multari, N.J.: Stabilizing Communication Protocols. IEEE Trans. Computers 40, 448–458 (1991)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Abhishek Dhama
    • 1
  • Oliver Theel
    • 1
  • Pepijn Crouzen
    • 2
  • Holger Hermanns
    • 2
  • Ralf Wimmer
    • 3
  • Bernd Becker
    • 3
  1. 1.System Software and Distributed SystemsUniversity of OldenburgGermany
  2. 2.Dependable Systems and SoftwareSaarland UniversityGermany
  3. 3.Chair of Computer ArchitectureAlbert-Ludwigs-University FreiburgGermany

Personalised recommendations