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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Y. Afek and Y. Matias. Simple and efficient election algorithms for anonymous networks. In 3rd International Workshop on Distributed Algorithms, Nice, France, 1989.
S. Aggarwal. Time optimal self-stabilizing spanning tree algorithms. Technical Report MIT/LCS/TR-632, MIT Laboratory for Computer Science, 1994. Master’s thesis.
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.
L. de Alfaro. Formal Verification of Probabilistic Systems. PhD thesis, Stanford University, 1997. Available as Technical report STAN-CS-TR-98-1601.
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.
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.
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.
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.
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.
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.
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.
J. Aspnes and M.P. Herlihy. Fast randomized consensus using shared memory. Journal of Algorithms, 15(1):441–460, September 1990.
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.
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.
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.
J.C.M. Baeten and W.P Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18, Cambridge University Press, 1990.
C. Baier. On algorithmic verification methods for probabilistic systems, 1998. Habilitation thesis, University of Mannheim.
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.
C. Baier and M. Kwiatkowska. Model checking for a probabilistic branching time logic with fairness. Distributed Computing, 11, 1998.
C. Baier and M. Stoelinga. Norm functions for bisimulations with delays. In Proceedings of FOSSACS. Springer-Verlag, 2000.
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.
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.
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.
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.
E. Brinksma and H. Hermanns. Process algebra and stochastic process algebra. This volume.
I. Christoff. Testing Equivalences for Probabilistic Processes. PhD thesis, Department of Computer Science, Uppsala University, 1990.
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.
W.R. Cleaveland, editor. Proceedings of CONCUR 92, Stony Brook, NY, USA, volume 630 of Lecture Notes in Computer Science. Springer-Verlag, 1992.
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.
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.
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.
C. Derman. Finite State Markovian Decision Processes. Acedemic Press, 1970.
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.
J. Desharnais, V. Gupta, and P. Panangaden. Bisimulation for labelled Markov processes. Information and Computation, 1999.
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.
E.A. Emerson and E.C. Clarke. Using branching time temporal logic to synthesize synchronous skeletons. Science of Computer Programming, 2:241–266, 1982.
W. Feller. An Introduction to Probability Theory and its Applications. Volume 1. Jokn Wiley & Sons, Inc., 1950.
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.
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.
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.
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.
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.
H. Hansson. Time and Probability in Formal Design of Distributed Systems. PhD thesis, Department of Computer Science, Uppsala University, 1991.
H. Hansson. Time and Probability in Formal Design of Distributed Systems, volume 1 of Real-Time Safety Critical Systems. Elsevier, 1994.
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.
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.
J. Hillston. Exploiting structure in solution: decomposing compositional models. This volume.
J. Hillston. PEPA: Performance enhanced process algebra. Technical Report CSR-24-93, Department of Computer Science, University of Edimburgh (UK), 1993.
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs, 1985.
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.
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.
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.
B. Jonsson and J. Parrow, editors. Proceedings of CONCUR 94, Uppsala, Sweden, volume 836 of Lecture Notes in Computer Science. Springer-Verlag, 1994.
C.C. Jou and S.A. Smolka. Equivalences, congruences, and complete axiomatizations for probabilistic processes. In Baeten and Klop [15], pages 367–383.
J.-P. Katoen and P.R. D’Argenio. General distributions in process algebra. This volume.
R. Keller. Formal verification of parallel programs. Communications of the ACM, 7(19):561–572, 1976.
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.
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.
M. Kwiatkowska, G. Norman, R. Segala, and J. Sproston. Verifying quantitative properties of continuous probabilistic real-time graphs. In Palamidessi [74], pages 132–137.
M. Kwiatkowska, G. Norman, R. Segala, and J. Sproston. Automatic verification of real-time systems with discrete probability distributions. Theoretical Computer Science, 286, 2001.
L. Lamport. Concurrent reading and writing. Communications of the ACM, 20(11):806–811, 1977.
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.
K.G. Larsen and A. Skou. Bisimulation through probabilistic testing. Information and Computation, 94(1):1–28, September 1991.
K.G. Larsen and A. Skou. Compositional verification of probabilistic processes. In Cleaveland [28], pages 456–471.
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.
N.A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, Inc., 1996.
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.
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.
Nancy Lynch and Frits Vaandrager. Forward and backward simulations-Part I: Untimed systems. Information and Computation, 121(2):214–233, September 1995.
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.
R. Milner. Communication and Concurrency. Prentice-Hall International, Englewood Cliffs, 1989.
Carroll Morgan, Annabelle McIver, and Karen Seidel. Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems, 18(3):325–353, May 1996.
M. Nunez and D. de Frutos. Testing semantics for probabilistic LOTOS. In Proceedings of Formal Description Techniques VIII, pages 365–380, 1995.
C. Palamidessi, editor. Proceedings of CONCUR 2000, University Park, PA, USA, volume 1877 of Lecture Notes in Computer Science. Springer-Verlag, 2000.
A. Philippou, I. Lee, and O. Sokolsky. Weak bisimulation for probabilistic systems. In Palamidessi [74], pages 334–349.
A. Pnueli and L. Zuck. Verification of multiprocess probabilistic protocols. Distributed Computing, 1(1):53–72, 1986.
A. Pnueli and L. Zuck. Probabilistic verification. Information and Computation, 1(1):1–29, 1993.
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.
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.
M.O. Rabin. Probabilistic automata. Information and Control, 6:230–245, 1963.
M.O. Rabin. Probabilistic algorithms. In J.F. Traub, editor, Algorithms and Complexity: New Directions and Results, pages 21–39. Academic Press, 1976.
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.
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.
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.
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.
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.
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.
R. Segala. The essence of coin lemmas. In Proceedings of PROBMIV’98, volume 22 of Electronic Notes in Theoretical Computer Science, 1999.
R. Segala and N.A. Lynch. Probabilistic simulations for probabilistic processes. In Jonsson and Parrow [53], pages 481–496.
R. Segala and N.A. Lynch. Probabilistic simulations for probabilistic processes. Nordic Journal of Computing, 2(2):250–273, 1995.
K. Seidel. Probabilistic communicating processes. Technical Report PRG-102, Ph.D. Thesis, Programming Research Group, Oxford University Computing Laboratory, 1992.
C. Tofts. A synchronous calculus of relative frequencies. In Baeten and Klop [15].
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.
S.H. Wu, S. Smolka, and E.W. Stark. Composition and behaviors of probabilistic I/O automata. In Jonsson and Parrow [53].
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.
W. Yi and K.G. Larsen. Testing probabilistic and nondeterministic processes. In Protocol Specification, Testing and Verification XII, pages 47–61, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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