Skip to main content

Programming-Logic Analysis of Fault Tolerance: Expected Performance of Self-stabilisation

  • Chapter
  • 457 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4157))

Abstract

Formal proofs of functional correctness and rigorous analyses of fault tolerance have, traditionally, been separate processes. In the former a programming logic (proof) or computational model (model checking) is used to establish that all the system’s behaviours satisfy some (specification) criteria. In the latter, techniques derived from engineering are used to determine quantitative properties such as probability of failure (given failure of some component) or expected performance (an average measure of execution time, for example).

To combine the formality and the rigour requires a quantitative approach within which functional correctness can be embedded. Programming logics for probability are capable in principle of doing so, and in this article we illustrate the use of the probabilistic guarded-command language (pGCL) and its logic for that purpose.

We take self-stabilisation as an example of fault tolerance, and present program-logical techniques for determining, on the one hand, that termination occurs with probability one and, on the other, the the expected time to termination is bounded above by some value. An interesting technical novelty required for this is the recognition of both “angelic” and “demonic” refinement, reflecting our simultaneous interest in both upper- and lower bounds.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Brassard, G., Bratley, P.: Fundamentals of Algorithmics. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  2. Celiku, O., McIver, A.: Compositional specification and analysis of cost-based properties in probabilistic programs. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 107–122. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall International, Englewood Cliffs (1976)

    MATH  Google Scholar 

  4. Hallerstede, S., Butler, M.: Performance analysis of probabilistic action systems. Formal Aspects of Computing 16(4), 313–331 (2004)

    Article  MATH  Google Scholar 

  5. Herman, T.: Probabilistic self-stabilization. Inf. Proc. Lett. 35(2), 63–67 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  6. Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  7. Hoang, T.S., Jin, Z., Robinson, K., McIver, A.K., Morgan, C.: Development via refinement in probabilistic B — foundation and case study. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 355–373. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Katoen, J.-P., Meyer-Kayser, J., Siegle, M.: A Markov-chain model checker. In: Schwartzbach, M.I., Graf, S. (eds.) ETAPS 2000 and TACAS 2000. LNCS, vol. 1785, pp. 347–362. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. McIver, A.K., Morgan, C.C., Sanders, J.W., Seidel, K.: Probabilistic Systems Group: Collected reports, web.comlab.ox.ac.uk/oucl/research/areas/probs

  10. McIver, A., Morgan, C.: Annabelle McIver and Carroll Morgan. In: Technical Monographs in Computer Science. Springer, New York (2004)

    Google Scholar 

  11. Morgan, C.C., McIver, A.K.: pGCL: Formal reasoning for random algorithms. South African Computer Journal 22 (March 1999), available at: [9, key pGCL]

    Google Scholar 

  12. Morgan, C.C., McIver, A.K., Seidel, K.: Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems 18(3), 325–353 (1996), doi.acm.org/10.1145/229542.229547

    Google Scholar 

  13. PRISM. Probabilistic symbolic model checker, www.cs.bham.ac.uk/~dxp/prism

  14. Rabin, M.O.: The choice-coordination problem. Acta Informatica 17(2), 121–134 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  15. Sere, K., Troubitsyna, E.: Probabilities in action systems. In: Proc. of the 8th Nordic Workshop on Programming Theory (1996)

    Google Scholar 

  16. Stirzaker, D.: Elementary Probability. Cambridge University Press, Cambridge (1994)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Morgan, C.C., McIver, A.K. (2006). Programming-Logic Analysis of Fault Tolerance: Expected Performance of Self-stabilisation. In: Butler, M., Jones, C.B., Romanovsky, A., Troubitsyna, E. (eds) Rigorous Development of Complex Fault-Tolerant Systems. Lecture Notes in Computer Science, vol 4157. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11916246_15

Download citation

  • DOI: https://doi.org/10.1007/11916246_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48265-9

  • Online ISBN: 978-3-540-48267-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics