Skip to main content

Verification of Randomized Distributed Algorithms

  • Chapter
  • First Online:
Book cover Lectures on Formal Methods and PerformanceAnalysis (EEF School 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2090))

Included in the following conference series:

Abstract

We describe modular verification techniques for randomized distributed algorithms as extensions of techniques for ordinary, non randomized, distributed algorithms. The main difficulty to overcome arises from the subtle interplay between probability and nondeterminism, where probability is due to the random choices that occur within an algorithm, and nondeterminism is due to the unknown speeds and scheduling policies of the processes. The techniques that we introduce are based on separation of probability from nondeterminism.

When the nondeterminism is factored out, the analysis of an algorithm has several pieces that are in common with the area of performance evaluation. Thus, the techniques that we describe are likely to constitute a bridge to export typical performance evaluation techniques to the area of concurrent nondeterministic systems and, vice versa, to understand alternative ways for handling nondeterminism when it arises.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Y. Afek and Y. Matias. Simple and efficient election algorithms for anonymous networks. In 3rd International Workshop on Distributed Algorithms, Nice, France, 1989.

    Google Scholar 

  2. S. Aggarwal. Time optimal self-stabilizing spanning tree algorithms. Technical Report MIT/LCS/TR-632, MIT Laboratory for Computer Science, 1994. Master’s thesis.

    Google Scholar 

  3. S. Aggarwal and S. Kutten. Time optimal self stabilizing spanning tree algorithms. In R.K. Shyamasundar, editor, 13th International Conference on Foundations of Software Technology and Theoretical Computer Science, volume 761 of Lecture Notes in Computer Science, pages 400–410, Bombay, India., December 1993. Springer-Verlag.

    Google Scholar 

  4. L. de Alfaro. Formal Verification of Probabilistic Systems. PhD thesis, Stanford University, 1997. Available as Technical report STAN-CS-TR-98-1601.

    Google Scholar 

  5. L. de Alfaro. How to specify and verify the long-run average behavior of probabilistic systems. In Proceedings 13 th Annual Symposium on Logic in Computer Science, pages 454–465. IEEE Computer Society Press, 1998.

    Google Scholar 

  6. L. de Alfaro. Stochastic transition systems. In Proceedings of CONCUR 98, Nice, France, volume 1466 of Lecture Notes in Computer Science, pages 423–438. Springer-Verlag, 1998.

    Chapter  Google Scholar 

  7. L. de Alfaro. Computing minimum and maximum reachability times in probabilistic systems. In L. Baeten and S. Mauw, editors, Proceedings of CONCUR 99, Eindhoven, The Netherlands, volume 1664 of Lecture Notes in Computer Science, pages 66–81. Springer-Verlag, 1999.

    Google Scholar 

  8. L. de Alfaro, M. Kwiatkowska, G. Norman, D. Parker, and R. Segala. Symbolic model checking of concurrent probabilistic processes using mtbdds and the kronecker representation. In Proceedings of TACAS’2000, volume 1785 of Lecture Notes in Computer Science. Springer-Verlag, 2000.

    Google Scholar 

  9. R. Alur, C. Courcoubetis, and D.L. Dill. Model-checking for probabilistic real-time systems. In J. Leach Albert, B. Monien, and M. Rodríguez, editors, Proceedings 18th ICALP, Madrid, volume 510 of Lecture Notes in Computer Science, pages 115–136. Springer-Verlag, 1991.

    Google Scholar 

  10. R. Alur, C. Courcoubetis, and D.L. Dill. Verifying automata specifications of probabilistic real-time systems. In J.W. de Bakker, C. Huizing, W.P. de Roever, and G. Rozenberg, editors, Proceedings of the REX Workshop “Real-Time: Theory in Practice”, volume 600 of Lecture Notes in Computer Science, pages 28–44. Springer-Verlag, 1991.

    Chapter  Google Scholar 

  11. S. Andova. Process algebra with probabilistic choice. In J.P. Katoen, editor, Formal Methods for Real-Time and Probabilistic Systems, number 1601 in Lecture Notes in Computer Science, pages 111–129. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  12. J. Aspnes and M.P. Herlihy. Fast randomized consensus using shared memory. Journal of Algorithms, 15(1):441–460, September 1990.

    Article  MathSciNet  Google Scholar 

  13. James Aspnes and Orli Waarts. Randomized consensus in expected O(n log2_n) operations per processor. In 33rd Annual Symposium on Foundations of Computer Science, pages 137–146, Pittsburgh, Pennsylvania, 24-27 October 1992. IEEE.

    Google Scholar 

  14. J.C.M. Baeten, J.A. Bergstra, and S.A. Smolka. Axiomatizing probabilistic processes: ACP with generative probabilities. Information and Computation, 122:234–255, 1995.

    Article  MathSciNet  Google Scholar 

  15. J.C.M. Baeten and J.W. Klop, editors. Proceedings of CONCUR 90, Amsterdam, volume 458 of Lecture Notes in Computer Science. Springer-Verlag, 1990.

    MATH  Google Scholar 

  16. J.C.M. Baeten and W.P Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18, Cambridge University Press, 1990.

    Google Scholar 

  17. C. Baier. On algorithmic verification methods for probabilistic systems, 1998. Habilitation thesis, University of Mannheim.

    Google Scholar 

  18. C. Baier and H. Hermanns. Weak bisimulation for fully probabilistic processes. Technical Report 99/12, Centre for Telematics and Information Technology, University of Twente, 1999.

    Google Scholar 

  19. C. Baier and M. Kwiatkowska. Model checking for a probabilistic branching time logic with fairness. Distributed Computing, 11, 1998.

    Google Scholar 

  20. C. Baier and M. Stoelinga. Norm functions for bisimulations with delays. In Proceedings of FOSSACS. Springer-Verlag, 2000.

    Google Scholar 

  21. M. Ben-Or. Another advantage of free choice: completely asynchronous agreement protocols. In Proceedings of the 2 nd Annual ACM Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, August 1983.

    Google Scholar 

  22. M. Bernardo, L. Donatiello, and R. Gorrieri. Modeling and analyzing concurrent systems with MPA. In U. Herzog and M. Rettelbach, editors, Proceedings of the Second Workshop on Process Algebras and Performance Modelling (PAPM), Erlangen, Germany, pages 175–189, 1994.

    Google Scholar 

  23. A. Bianco and L. de Alfaro. Model checking of probabilistic and nondeterministic systems. In Proceedings Conferenco on Foundations of Software Technology and Theoretical Computer Science, volume 1026 of Lecture Notes in Computer Science, pages 499–513, 1995.

    Google Scholar 

  24. B. Bloom and A. Meyer. A remark on bisimulation between probabilistic processes. In Proceedings of the Symposium on Logical Foundations of Computer Science, volume 363 of Lecture Notes in Computer Science, pages 26–40, 1989.

    Google Scholar 

  25. E. Brinksma and H. Hermanns. Process algebra and stochastic process algebra. This volume.

    Google Scholar 

  26. I. Christoff. Testing Equivalences for Probabilistic Processes. PhD thesis, Department of Computer Science, Uppsala University, 1990.

    Google Scholar 

  27. R. Cleaveland, S.A. Smolka, and A. Zwarico. Testing preorders for probabilistic processes (extended abstract). In Proceedings 19 th ICALP, Madrid, volume 623 of Lecture Notes in Computer Science, pages 708–719. Springer-Verlag, 1992.

    Google Scholar 

  28. W.R. Cleaveland, editor. Proceedings of CONCUR 92, Stony Brook, NY, USA, volume 630 of Lecture Notes in Computer Science. Springer-Verlag, 1992.

    Google Scholar 

  29. C. Courcoubetis and M. Yannakakis. Verifying temporal properties of finite-state probabilistic programs. In 29 th Annual Symposium on Foundations of Computer Science, pages 338–345, 1988.

    Google Scholar 

  30. C. Courcoubetis and M. Yannakakis. Markov decision procedures and regular events. In M. Paterson, editor, Proceedings 17 th ICALP, Warwick, volume 443 of Lecture Notes in Computer Science, pages 336–349. Springer-Verlag, July 1990.

    Google Scholar 

  31. P. D’Argenio, H. Hermanns, and J.P. Katoen. On asynchronous generative parallel composition. In Proceedings of PROBMIV’98, volume 22 of Electronic Notes in Theoretical Computer Science, 1999.

    Google Scholar 

  32. C. Derman. Finite State Markovian Decision Processes. Acedemic Press, 1970.

    Google Scholar 

  33. J. Desharnais, V. Gupta, R. Jagadeesan, and P. Panangaden. Approximating continuous Markov processes. In Proceedings 15 th Annual Symposium on Logic in Computer Science, Santa Barbara, California, pages 95–106. IEEE Computer Society Press, 2000.

    Google Scholar 

  34. J. Desharnais, V. Gupta, and P. Panangaden. Bisimulation for labelled Markov processes. Information and Computation, 1999.

    Google Scholar 

  35. S. Dolev, A. Israeli, and S. Moran. Analyzing expected time by scheduler-luck games. IEEE Transactions on Parallel and Distributed Systems, 8(4):424–440, April 1997.

    Article  Google Scholar 

  36. E.A. Emerson and E.C. Clarke. Using branching time temporal logic to synthesize synchronous skeletons. Science of Computer Programming, 2:241–266, 1982.

    Article  MATH  Google Scholar 

  37. W. Feller. An Introduction to Probability Theory and its Applications. Volume 1. Jokn Wiley & Sons, Inc., 1950.

    Google Scholar 

  38. M. Fischer, N. Lynch, and M. Paterson. Impossibility of distributed consensus with a family of faulty process. Journal of the ACM, 32(2):374–382, April 1985.

    Article  MATH  MathSciNet  Google Scholar 

  39. A. Giacalone, C.C Jou, and S.A. Smolka. Algebraic reasoning for probabilistic concurrent systems. In Proceedings of the Working Conference on Programming Concepts and Methods (IFIP TC2), Sea of Galilee, Israel, 1990.

    Google Scholar 

  40. R.J. van Glabbeek, S.A. Smolka, and B. Steffen. Reactive, generative, and stratified models of probabilistic processes. Information and Computation, 121(1):59–80, 1996.

    Article  Google Scholar 

  41. R.J. van Glabbeek, S.A. Smolka, B. Steffen, and C.M.N. Tofts. Reactive, generative, and stratified models of probabilistic processes. In Proceedings 5 th Annual Symposium on Logic in Computer Science, Philadelphia, USA, pages 130–141. IEEE Computer Society Press, 1990.

    Google Scholar 

  42. N. Götz, U. Herzog, and M. Rettelbach. Multiprocessor and distributed system design: the integration of functional specification and performance analysis using stochastic process algebras. In L. Donatiello and R. Nelson, editors, Performance Evaluation of Computer and Communication Systems. Joint Tutorial Papers of Performance’ 93 and Sigmetrics’ 93, volume 729 of Lecture Notes in Computer Science, pages 121–146. Springer-Verlag, 1993.

    Chapter  Google Scholar 

  43. H. Hansson. Time and Probability in Formal Design of Distributed Systems. PhD thesis, Department of Computer Science, Uppsala University, 1991.

    Google Scholar 

  44. H. Hansson. Time and Probability in Formal Design of Distributed Systems, volume 1 of Real-Time Safety Critical Systems. Elsevier, 1994.

    Google Scholar 

  45. H. Hansson and B. Jonsson. A framework for reasoning about time and reliability. In Proceedings of the 10 th IEEE Symposium on Real-Time Systems, Santa Monica, Ca., 1989.

    Google Scholar 

  46. H. Hansson and B. Jonsson. A calculus for communicating systems with time and probabilities. In Proceedings of the 11 th IEEE Symposium on Real-Time Systems, Orlando, Fl., 1990.

    Google Scholar 

  47. J. Hillston. Exploiting structure in solution: decomposing compositional models. This volume.

    Google Scholar 

  48. J. Hillston. PEPA: Performance enhanced process algebra. Technical Report CSR-24-93, Department of Computer Science, University of Edimburgh (UK), 1993.

    Google Scholar 

  49. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs, 1985.

    MATH  Google Scholar 

  50. C. Jones and G. Plotkin. A probabilistic powerdomain of evaluations. In Proceedings 4 th Annual Symposium on Logic in Computer Science, Asilomar, California, pages 186–195. IEEE Computer Society Press, 1989.

    Google Scholar 

  51. B. Jonsson. Simulations between specifications of distributed systems. In J.C.M. Baeten and J.F. Groote, editors, Proceedings of CONCUR 91, Amsterdam, volume 527 of Lecture Notes in Computer Science, pages 346–360. Springer-Verlag, 1991.

    Google Scholar 

  52. B. Jonsson and K.G. Larsen. Specification and refinement of probabilistic processes. In Proceedings of the 6th IEEE Symposium on Logic in Computer Science, pages 266–277, Amsterdam, July 1991.

    Google Scholar 

  53. B. Jonsson and J. Parrow, editors. Proceedings of CONCUR 94, Uppsala, Sweden, volume 836 of Lecture Notes in Computer Science. Springer-Verlag, 1994.

    Google Scholar 

  54. C.C. Jou and S.A. Smolka. Equivalences, congruences, and complete axiomatizations for probabilistic processes. In Baeten and Klop [15], pages 367–383.

    Google Scholar 

  55. J.-P. Katoen and P.R. D’Argenio. General distributions in process algebra. This volume.

    Google Scholar 

  56. R. Keller. Formal verification of parallel programs. Communications of the ACM, 7(19):561–572, 1976.

    Google Scholar 

  57. E. Kushilevitz and M. Rabin. Randomized mutual exclusion algorithms revisited. In Proceedings of the 11 th Annual ACM Symposium on Principles of Distributed Computing, Quebec, Canada, pages 275–284, 1992.

    Google Scholar 

  58. M. Kwiatkowska, G. Norman, and R. Segala. Automated verification of a randomized distributed consensus protocol using Cadence SMV and PRISM. In Proceedings of the 13 th Workshop on Computer Aided Verification, Paris, France, July 2001, Lecture Notes in Computer Science. Springer-Verlag, 2001.

    Google Scholar 

  59. M. Kwiatkowska, G. Norman, R. Segala, and J. Sproston. Verifying quantitative properties of continuous probabilistic real-time graphs. In Palamidessi [74], pages 132–137.

    Google Scholar 

  60. M. Kwiatkowska, G. Norman, R. Segala, and J. Sproston. Automatic verification of real-time systems with discrete probability distributions. Theoretical Computer Science, 286, 2001.

    Google Scholar 

  61. L. Lamport. Concurrent reading and writing. Communications of the ACM, 20(11):806–811, 1977.

    Article  MATH  MathSciNet  Google Scholar 

  62. K.G. Larsen and A. Skou. Bisimulation through probabilistic testing. In Conference Record of the 16 th ACM Symposium on Principles of Programming Languages, Austin, Texas, pages 344–352, 1989.

    Google Scholar 

  63. K.G. Larsen and A. Skou. Bisimulation through probabilistic testing. Information and Computation, 94(1):1–28, September 1991.

    Article  MATH  MathSciNet  Google Scholar 

  64. K.G. Larsen and A. Skou. Compositional verification of probabilistic processes. In Cleaveland [28], pages 456–471.

    Google Scholar 

  65. D. Lehmann and M. Rabin. On the advantage of free choice: a symmetric and fully distributed solution to the dining philosophers problem. In Proceedings of the 8 th Annual ACM Symposium on Principles of Programming Languages, pages 133–138, January 1981.

    Google Scholar 

  66. N.A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, Inc., 1996.

    Google Scholar 

  67. N.A. Lynch, I. Saias, and R. Segala. Proving time bounds for randomized distributed algorithms. In Proceedings of the 13 th Annual ACM Symposium on Principles of Distributed Computing, Los Angeles, CA, pages 314–323, 1994.

    Google Scholar 

  68. N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the 6 th Annual ACM Symposium on Principles of Distributed Computing, pages 137–151, Vancouver, Canada, August 1987. A full version is available as MIT Technical Report MIT/LCS/TR-387.

    Google Scholar 

  69. Nancy Lynch and Frits Vaandrager. Forward and backward simulations-Part I: Untimed systems. Information and Computation, 121(2):214–233, September 1995.

    Article  MATH  MathSciNet  Google Scholar 

  70. A. McIver. Reasoning about efficiency within a probabilistic mu-calculus. In Proceedings of PROBMIV’98, volume 22 of Electronic Notes in Theoretical Computer Science, 1999.

    Google Scholar 

  71. R. Milner. Communication and Concurrency. Prentice-Hall International, Englewood Cliffs, 1989.

    MATH  Google Scholar 

  72. Carroll Morgan, Annabelle McIver, and Karen Seidel. Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems, 18(3):325–353, May 1996.

    Article  Google Scholar 

  73. M. Nunez and D. de Frutos. Testing semantics for probabilistic LOTOS. In Proceedings of Formal Description Techniques VIII, pages 365–380, 1995.

    Google Scholar 

  74. C. Palamidessi, editor. Proceedings of CONCUR 2000, University Park, PA, USA, volume 1877 of Lecture Notes in Computer Science. Springer-Verlag, 2000.

    Google Scholar 

  75. A. Philippou, I. Lee, and O. Sokolsky. Weak bisimulation for probabilistic systems. In Palamidessi [74], pages 334–349.

    Google Scholar 

  76. A. Pnueli and L. Zuck. Verification of multiprocess probabilistic protocols. Distributed Computing, 1(1):53–72, 1986.

    Article  MATH  Google Scholar 

  77. A. Pnueli and L. Zuck. Probabilistic verification. Information and Computation, 1(1):1–29, 1993.

    Article  MathSciNet  Google Scholar 

  78. A. Pogosyants and R. Segala. Formal verification of timed properties of randomized distributed algorithms. In Proceedings of the 14 th Annual ACM Symposium on Principles of Distributed Computing, Ottawa, Ontario, Canada, pages 174–183, August 1995.

    Google Scholar 

  79. A. Pogosyants, R. Segala, and N. Lynch. Verification of the randomized consensus algorithm of Aspnes and Herlihy: a case study. Distributed Computing, 13:155–186, July 2000.

    Article  Google Scholar 

  80. M.O. Rabin. Probabilistic automata. Information and Control, 6:230–245, 1963.

    Article  Google Scholar 

  81. M.O. Rabin. Probabilistic algorithms. In J.F. Traub, editor, Algorithms and Complexity: New Directions and Results, pages 21–39. Academic Press, 1976.

    Google Scholar 

  82. M.O. Rabin. N-process mutual exclusion with bounded waiting by 4 logN shared variables. Journal of Computer and System Sciences, 25:66–75, 1982.

    Article  MATH  MathSciNet  Google Scholar 

  83. J.R. Rao. Reasoning about probabilistic algorithms. In Proceedings of the 9 th Annual ACM Symposium on Principles of Distributed Computing, Quebec, Canada, August 1990.

    Google Scholar 

  84. I. Saias. Proving probabilistic correctness: the case of Rabin–s algorithm for mutual exclusion. In Proceedings of the 11 th Annual ACM Symposium on Principles of Distributed Computing, Quebec, Canada, August 1992.

    Google Scholar 

  85. R. Segala. A compositional trace-based semantics for probabilistic automata. In I. Lee and S.A. Smolka, editors, Proceedings of CONCUR 95, Philadelphia, PA, USA, volume 962 of Lecture Notes in Computer Science, pages 234–248. Springer-Verlag, 1995.

    Google Scholar 

  86. R. Segala. Modeling and Verification of Randomized Distributed Real-Time Systems. PhD thesis, MIT, Dept. of Electrical Engineering and Computer Science, 1995. Also appears as technical report MIT/LCS/TR-676.

    Google Scholar 

  87. R. Segala. Testing probabilistic automata. In U. Montanari and V. Sassone, editors, Proceedings of CONCUR 95, Pisa, Italy, volume 1119 of Lecture Notes in Computer Science, pages 299–314. Springer-Verlag, 1996.

    Google Scholar 

  88. R. Segala. The essence of coin lemmas. In Proceedings of PROBMIV’98, volume 22 of Electronic Notes in Theoretical Computer Science, 1999.

    Google Scholar 

  89. R. Segala and N.A. Lynch. Probabilistic simulations for probabilistic processes. In Jonsson and Parrow [53], pages 481–496.

    Google Scholar 

  90. R. Segala and N.A. Lynch. Probabilistic simulations for probabilistic processes. Nordic Journal of Computing, 2(2):250–273, 1995.

    MATH  MathSciNet  Google Scholar 

  91. K. Seidel. Probabilistic communicating processes. Technical Report PRG-102, Ph.D. Thesis, Programming Research Group, Oxford University Computing Laboratory, 1992.

    Google Scholar 

  92. C. Tofts. A synchronous calculus of relative frequencies. In Baeten and Klop [15].

    Google Scholar 

  93. M.Y. Vardi. Automatic verification of probabilistic concurrent finite-state programs. In Proceedings of 26th IEEE Symposium on Foundations of Computer Science, pages 327–338, Portland, OR, 1985.

    Google Scholar 

  94. S.H. Wu, S. Smolka, and E.W. Stark. Composition and behaviors of probabilistic I/O automata. In Jonsson and Parrow [53].

    Google Scholar 

  95. S.H. Wu, S. Smolka, and E.W. Stark. Composition and behaviors of probabilistic I/O automata. Theoretical Computer Science, 176(1-2):1–38, 1999.

    Article  MathSciNet  Google Scholar 

  96. W. Yi and K.G. Larsen. Testing probabilistic and nondeterministic processes. In Protocol Specification, Testing and Verification XII, pages 47–61, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Segala, R. (2001). Verification of Randomized Distributed Algorithms. In: Brinksma, E., Hermanns, H., Katoen, JP. (eds) Lectures on Formal Methods and PerformanceAnalysis. EEF School 2000. Lecture Notes in Computer Science, vol 2090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44667-2_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-44667-2_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42479-6

  • Online ISBN: 978-3-540-44667-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics