Skip to main content
Log in

Probabilistic symbolic model checking with PRISM: a hybrid approach

  • Special section on tools and algorithms for the construction and analysis of systems
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

In this paper we present efficient symbolic techniques for probabilistic model checking. These have been implemented in PRISM, a tool for the analysis of probabilistic models such as discrete-time Markov chains, continuous-time Markov chains and Markov decision processes using specifications in the probabilistic temporal logics PCTL and CSL. Motivated by the success of model checkers such as SMV which use BDDs (binary decision diagrams), we have developed an implementation of PCTL and CSL model checking based on MTBDDs (multi-terminal BDDs) and BDDs. Existing work in this direction has been hindered by the generally poor performance of MTBDD-based numerical computation, which is often substantially slower than explicit methods using sparse matrices. The focus of this paper is a novel hybrid technique which combines aspects of symbolic and explicit approaches to overcome these performance problems. For typical examples, we achieve a dramatic improvement over the purely symbolic approach. In addition, thanks to the compact model representation using MTBDDs, we can verify systems an order of magnitude larger than with sparse matrices, while almost matching or even beating them for speed.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. PRISM web site. www.cs.bham.ac.uk/∼dxp/prism

  2. Alur R, Henzinger T (1996) Reactive modules. In: Proceedings of the 11th annual IEEE symposium on logic in computer science (LICS’96), New Brunswick, NJ, July 1996. IEEE Press, New York, pp 207–218

  3. Aspnes J, Herlihy M (1990) Fast randomized consensus using shared memory. J Algorithms 15(1):441–460

    Article  MathSciNet  Google Scholar 

  4. Aziz A, Sanwal K, Singhal V, Brayton R (1996) Verifying continuous time Markov chains. In: Alur R, Henzinger T (eds) Proceedings of the 8th international conference on computer aided verification (CAV’96), New Brunswick, NJ, July–August 1996. Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 269–276

  5. Bahar I, Frohm E, Gaona C, Hachtel G, Macii E, Pardo A, Somenzi F (1993) Algebraic decision diagrams and their applications. In: Proceedings of the international conference on computer-aided design (ICCAD’93), Santa Clara, CA, November 1993, pp 188–191. Also available in: (1997) Formal Meth Sys Des 10(2/3):171–206

  6. Baier C (1998) On algorithmic verification methods for probabilistic systems. Habilitation thesis, Fakultät für Mathematik & Informatik, Universität Mannheim, Mannheim, Germany

  7. Baier C, Clarke E, Hartonas-Garmhausen V, Kwiatkowska M, Ryan M (1997) Symbolic model checking for probabilistic processes. In: Degano P, Gorrieri R, Marchetti-Spaccamela A (eds) Proceedings of the 24th international colloquium on automata, languages and programming (ICALP’97), Bologna, Italy, July 1997. Lecture notes in computer science, vol 1256. Springer, Berlin Heidelberg New York, pp 430–440

  8. Baier C, Haverkort B, Hermanns H, Katoen J-P (2000) Model checking continuous-time Markov chains by transient analysis. In: Emerson A, Sistla A (eds) Proceedings of the 12th international conference on computer aided verification (CAV’00), Chicago, July 2000. Lecture notes in computer science, vol 1855. Springer, Berlin Heidelberg New York, pp 358–372

  9. Baier C, Katoen J-P, Hermanns H (1999) Approximate symbolic model checking of continuous-time Markov chains. In: Baeten J, Mauw S (eds) Proceedings of the 10th international conference on concurrency theory (CONCUR’99), Eindhoven, The Netherlands, August 1999. Lecture notes in computer science, vol 1664. Springer, Berlin Heidelberg New York, pp 146–161

  10. Baier C, Kwiatkowska M (1998) Model checking for a probabilistic branching time logic with fairness. Distrib Comput 11(3):125–155

    Article  Google Scholar 

  11. Bause F, Buchholz P, Kemper P (1998) A toolbox for functional and quantitative analysis of DEDS. In: Puigjaner R, Savino N, Serra B (eds) Proceedings of Computer Performance Evaluation (TOOLS’98), Palma de Mallorca, Spain, September 1998. Lecture notes in computer science, vol 1469. Springer, Berlin Heidelberg New York, pp 356–359

  12. Bianco A, de Alfaro L (1995) Model checking of probabilistic and nondeterministic systems. In: Thiagarajan P (ed) Proceedings of the 15th conference on foundations of software technology and theoretical computer science, Bangalore, India, December 1995. Lecture notes in computer science, vol 1026. Springer, Berlin Heidelberg New York, pp 499–513

  13. Bollig B, Wegner I (1996) Improving the variable ordering of OBDDs is NP-complete. IEEE Trans Comput 45(9):993–1006

    Article  Google Scholar 

  14. Bozga M, Maler O (1999) On the representation of probabilities over structured domains. In: Halbwachs N, Peled D (eds) Proceedings of the 11th international conference on computer aided verification (CAV’99), Trento, Italy, July 1999. Lecture notes in computer science, vol 1633. Springer, Berlin Heidelberg New York, pp 261–273

  15. Bryant R (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691

  16. Buchholz P, Ciardo G, Donatelli S, Kemper P (1997) Complexity of Kronecker operations on sparse matrices with applications to the solution of Markov models. ICASE Report 97-66, Institute for Computer Applications in Science and Engineering, Hampton, VA

  17. Buchholz P, Kemper P (2001) Compact representations of probability distributions in the analysis of superposed GSPNs. In: German R, Haverkort B (eds) Proceedings of the 9th international workshop on Petri nets and performance models (PNPM’01). IEEE Press, New York, pp 81–90

  18. Burch J, Clarke E, McMillan K, Dill D, Hwang J (1990) Symbolic model checking: 1020 states and beyond. In: Proceedings of the 5th annual IEEE symposium on logic in computer science (LICS’90). IEEE Press, New York, pp 428–439

  19. Chiola G, Franceschinis G, Gaeta R, Ribaudo M (1995) GreatSPN 1.7: Graphical editor and analyzer for timed and stochastic Petri nets Perform Eval 24(1–2):47–68

  20. Ciardo G, Miner A (1996) SMART: simulation and Markovian analyser for reliability and timing. In: Proceedings of the 2nd international computer performance and dependability symposium (IPDS’96). IEEE Press, New York, p 60

  21. Ciardo G, Miner A (1999) A data structure for the efficient Kronecker solution of GSPNs. In: Buchholz P, Silva M (eds) Proceedings of the 8th international workshop on Petri nets and performance models (PNPM’99). IEEE Press, New York, pp 22–31

  22. Ciardo G, Tilgner M (1996) On the use of Kronecker operators for the solution of generalized stocastic Petri nets. ICASE Report 96-35, Institute for Computer Applications in Science and Engineering, Hampton, VA

  23. Clarke E, Fujita M, McGeer P, McMillan K, Yang J, Zhao X (1993) Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. In: Proceedings of the international workshop on logic synthesis (IWLS’93), Tahoe City, CA, May 1993, pp 1–15. Also available in: (1997) Formal Meth Sys Des 10(2/3):149–169

  24. Clarke E, McMillan K, Zhao X, Fujita M, Yang J (1993) Spectral transforms for large Boolean functions with applications to technology mapping. In: Proceedings of the 30th design automation conference (DAC’93). ACM Press, New York, pp 54–60. Also available in: (1997) Formal Meth Sys Des 10(2/3):137–148

  25. Daly D, Deavours D, Doyle J, Webster P, Sanders W (2000) Möbius: An extensible tool for performance and dependability modeling. In: Haverkort B, Bohnenkamp H, Smith C (eds) Proceedings of the 11th international conference on modelling techniques and tools for computer performance evaluation (TOOLS’00), Schaumburg, IL, March 2000. Lecture notes in computer science, vol 1786. Springer, Berlin Heidelberg New York, pp 332–336

  26. D’Argenio P, Jeannet B, Jensen H, Larsen K (2001) Reachability analysis of probabilistic systems by successive refinements. In: De Alfaro L, Gilmore S (eds) Proceedings of the 1st joint international workshop on process algebra and probabilistic methods, performance modeling and verification (PAPM/PROBMIV’01), Aachen, Germany, September 2001. Lecture notes in computer science, vol 2165. Springer, Berlin Heidelberg New York, pp 39–56

  27. De Alfaro L (1997) Formal verification of probabilistic systems. PhD thesis, Stanford University, Stanford, CA

  28. De Alfaro L (1997) Temporal logics for the specification of performance and reliability. In: Reischuk R, Morvan M (eds) Proceedings of the symposium on theoretical aspects of computer science (STACS’97), Lübeck, Germany, February–March 1997. Lecture notes in computer science, vol 1200. Springer, Berlin Heidelberg New York, pp 165–176

  29. De Alfaro L (1998) How to specify and verify the long-run average behavior of probabilistic systems. In: Proceedings of the 13th annual IEEE symposium on logic in computer science (LICS’98), Indianapolis, IN, June 1998, pp 454–465

  30. De Alfaro L (1999) Computing minimum and maximum reachability times in probabilistic systems. In: Baeten J, Mauw S (eds) Proceedings of the 10th international conference on concurrency theory (CONCUR’99), Eindhoven, The Netherlands, August 1999. Lecture notes in computer science, vol 1664. Springer, Berlin Heidelberg New York, pp 66–81

  31. De Alfaro L, Kwiatkowska M, Norman G, Parker D, Segala R (2000) Symbolic model checking of concurrent probabilistic processes using MTBDDs and the Kronecker representation. In: Graf S, Schwartzbach M (eds) Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS’00), Berlin, March–April 2000. Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 395–410

  32. Deavours D, Sanders W (1997) An efficient disk-based tool for solving very large Markov models. In: Marie R, Plateau B, Calzarossa M, Rubino G (eds) Proceedings of the 9th international conference on modelling techniques and tools (TOOLS’97), St Malo, France, June 1997. Lecture notes in computer science, vol 1245. Springer, Berlin Heidelberg New York, pp 58–71

  33. Deavours D, Sanders W (1998) “On-the-fly” solution techniques for stochastic Petri nets and extensions. IEEE Trans Softw Eng 24(10):889–902

    Article  Google Scholar 

  34. Gilmore S, Hillston J (1994) The PEPA workbench: a tool to support a process algebra-based approach to performance modelling. In: Haring G, Kotsis G (eds) Proceedings of the 7th international conference on modelling techniques and tools for computer performance evaluation, Vienna, May 1994. Lecture notes in computer science, vol 794. Springer, Berlin Heidelberg New York, pp 353–368

  35. Hachtel G, Macii E, Pardo A, Somenzi F (1994) Probabilistic analysis of large finite state machines. In: Proceedings of the 31st design automation conference (DAC’94). ACM Press, New York, pp 270–275

  36. Hachtel G, Macii E, Pardo A, Somenzi F (1996) Markovian analysis of large finite state machines. IEEE Trans CAD 15(12):1479–1493

    Article  Google Scholar 

  37. Hansson H, Jonsson B (1994) A logic for reasoning about time and probability. Formal Aspects Comput 6(5):512–535

    Article  Google Scholar 

  38. Hartonas-Garmhausen V, Campos S, Clarke E (1999) ProbVerus: probabilistic symbolic model checking. In: Katoen J-P (ed) Proceedings of the 5th international AMAST workshop on real-time and probabilistic systems (ARTS’99), Bamburg, Germany, May 1999. Lecture notes in computer science, vol 1601. Springer, Berlin Heidelberg New York, pp 96–110

  39. Herman T (1990) Probabilistic self-stabilization. Inf Process Lett 35(2):63–67

    Article  MathSciNet  Google Scholar 

  40. Hermanns H, Herzog U, Klehmet U, Mertsiotakis V, Siegle M (2000) Compositional performance modelling with the TIPPtool. Perform Eval 39(1–4):5–35

  41. Hermanns H, Katoen J-P, Meyer-Kayser J, Siegle M (2000) A Markov chain model checker. In: Graf S, Schwartzbach M (eds) Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS’00), Berlin, March–April 2000. Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 347–362

  42. Hermanns H, Kwiatkowska M, Norman G, Parker D, Siegle M (2003) On the use of MTBDDs for performability analysis and verification of stochastic systems. J Logic Algebr Programm 56(1–2):23–67

  43. Hermanns H, Meyer-Kayser J, Siegle M (1999) Multi terminal binary decision diagrams to represent and analyse continuous time Markov chains. In: Plateau B, Stewart W, Silva M (eds) Proceedings of the 3rd international workshop on numerical solution of Markov chains (NSMC’99), Prensas Universitarias de Zaragoza, Spain, September, pp 188–207

  44. Ibe O, Trivedi K (1990) Stochastic Petri net models of polling systems. IEEE J Select Areas Commun 8(9):1649–1657

    Article  Google Scholar 

  45. Itai A, Rodeh M (1990) Symmetry breaking in distributed networks. Inf Comput 88(1):60–87

    Article  MathSciNet  Google Scholar 

  46. Katoen J-P, Kwiatkowska M, Norman G, Parker D (2001) Faster and symbolic CTMC model checking. In: de Alfaro L, Gilmore S (eds) Proceedings of the 1st joint international workshop on process algebra and probabilistic methods, performance modeling and verification (PAPM/PROBMIV’01), Aachen, Germany, September 2001. Lecture notes in computer science, vol 2165. Springer, Berlin Heidelberg New York, pp 23–38

  47. Knottenbelt W, Harrison P (1999) Distributed disk-based solution techniques for large Markov models. In: Plateau B, Stewart W, Silva M (eds) Proceedings of the 3rd international workshop on numerical solution of Markov chains (NSMC’99), Prensas Universitarias de Zaragoza, Spain, September 1999, pp 58–75

  48. Kuntz M, Siegle M (2002) Deriving symbolic representations from stochastic process algebras. In: Hermanns H, Segala R (eds) Proceedings of the 2nd joint international workshop on process algebra and probabilistic methods, performance modeling and verification (PAPM/PROBMIV’02), Copenhagen, July 2002. Lecture notes in computer science, vol 2399. Springer, Berlin Heidelberg New York, pp 188–206

  49. Kwiatkowska M, Mehmood R (2002) Out-of-core solution of large linear systems of equations arising from stochastic modelling. In: Hermanns H, Segala R (eds) Proceedings of the 2nd joint international workshop on process algebra and probabilistic methods, performance modeling and verification (PAPM/PROBMIV’02), Copenhagen, July 2002. Lecture notes in computer science, vol 2399. Springer, Berlin Heidelberg New York, pp 135–151

  50. Kwiatkowska M, Norman G, Parker D, Segala R (1999) Symbolic model checking of concurrent probabilistic systems using MTBDDs and Simplex. Technical Report CSR-99-1, School of Computer Science, University of Birmingham, Birmingham, UK

  51. Kwiatkowska M, Norman G, Segala R (2001) Automated verification of a randomized distributed consensus protocol using Cadence SMV and PRISM. In: Berry G, Comon H, Finkel A (eds) Proceedings of the 13th international conference on computer aided verification (CAV’01), Paris, July 2001. Lecture notes in computer science, vol 2102. Springer, Berlin Heidelberg New York, pp 194–206

  52. Kwiatkowska M, Mehmood R, Norman G, Parker D (2002a) A symbolic out-of-core solution method for Markov models. In: Proceedings of the workshop on parallel and distributed model checking (PDMC’02), Brno, Czech Republic, August 2002. Electronic notes in theoretical computer science, vol 68.4. Elsevier, Amsterdam

  53. Kwiatkowska M, Norman G, Parker D (2002b) PRISM: Probabilistic symbolic model checker. In: Field T, Harrison P, Bradley J, Harder U (eds) Proceedings of the 12th international conference on modelling techniques and tools for computer performance evaluation (TOOLS’02), London, April 2002. Lecture notes in computer science, vol 2324. Springer, Berlin Heidelberg New York, pp 200–204

  54. Kwiatkowska M, Norman G, Sproston J (2003) Probabilistic model checking of deadline properties in the IEEE 1394 FireWire root contention protocol. Formal Aspects Comput 14:295–318

    Article  Google Scholar 

  55. McMillan K (1993) Symbolic model checking. Kluwer, Dordrecht

  56. Miner A (2000) Data structures for the analysis of large structured Markov chains. PhD thesis, Department of Computer Science, College of William & Mary, Williamsburg, VA

  57. Parker D (2002) Implementation of symbolic model checking for probabilistic systems. PhD thesis, University of Birmingham, Birmingham, UK

  58. Plateau B (1985) On the stochastic structure of parallelism and synchronisation models for distributed algorithms. In: Proceedings of the 1985 ACM SIGMETRICS conference on measurement and modeling of computer systems, Austin, TX, August 1985. Perform Eval Rev 13(2):147–153

    Article  Google Scholar 

  59. Sanders W, Obal W, Qureshi M, Widjanarko F (1995) The UltraSAN modeling environment. Perform Eval 24(1):89–115

    Article  Google Scholar 

  60. Somenzi F (1997) CUDD: Colorado University decision diagram package. Public software, Colorado Univeristy, Boulder. http://vlsi.colorado.edu/∼fabio/

  61. Stewart W (1991) MARCA: Markov chain analyser, a software package for Markov modelling. In: Stewart W (eds) Proceedings of NSMC’91, Raleigh, NC, January 1990. Marcel Dekker, New York, pp 37–62

  62. Tani S, Hamaguchi K, Yajima S (1993) The complexity of the optimal variable ordering problems of shared binary decision diagrams. In: Ng K, Raghavan P, Balasubramanian N, Chin F (eds) Proceedings of the 4th international symposium on algorithms and computation (ISAAC’93), Hong Kong, December 1993. Lecture notes in computer science, vol 762. Springer, Berlin Heidelberg New York, pp 389–398

  63. Xie A, Beerel A (1997) Symbolic techniques for performance analysis of timed circuits based on average time separation of events. In: Proceedings of the 3rd international symposium on advanced research in asynchronous circuits and systems (ASYNC’97), Eindhoven, The Netherlands, April 1997. IEEE Press, New York, pp 64–75

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marta Kwiatkowska.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kwiatkowska, M., Norman, G. & Parker, D. Probabilistic symbolic model checking with PRISM: a hybrid approach. Int J Softw Tools Technol Transfer 6, 128–142 (2004). https://doi.org/10.1007/s10009-004-0140-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0140-2

Keywords

Navigation