Skip to main content
Log in

The saturation algorithm for symbolic state-space exploration

  • Regular contribution
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

We present various algorithms for generating the state space of an asynchronous system based on the use of multiway decision diagrams to encode sets and Kronecker operators on boolean matrices to encode the next-state function. The Kronecker encoding allows us to recognize and exploit the “locality of effect” that events might have on state variables. In turn, locality information suggests better iteration strategies aimed at minimizing peak memory consumption. In particular, we focus on the saturation strategy, which is completely different from traditional breadth-first symbolic approaches, and extend its applicability to models where the possible values of the state variables are not known a priori. The resulting algorithm merges “on-the-fly” explicit state-space generation of each submodel with symbolic state-space generation of the overall model.

Each algorithm we present is implemented in our tool SmArT. This allows us to run fair and detailed comparisons between them on a suite of representative models. Saturation, in particular, is shown to be many orders of magnitude more efficient in terms of memory and time with respect to traditional methods.

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. Ajmone Marsan M, Balbo G, Conte G, Donatelli S, Franceschinis G (1995) Modelling with generalized stochastic Petri nets. Wiley, New York

  2. Amoia V, De Micheli G, Santomauro M (1981) Computer-oriented formulation of transition-rate matrices via Kronecker algebra. IEEE Trans Reliabil 30:123–132

    Article  MATH  Google Scholar 

  3. Bergstra JA, Ponse A, Smolka SA (2001) Handbook of process algebra. Elsevier, Amsterdam

  4. Bloem R, Ravi K, Somenzi F (2000) Symbolic guided search for CTL model checking. In: Proc. DAC, Los Angeles. ACM Press, New York, pp 29–34

  5. Bouajjani A, Jonsson B, Nilsson M, Touili T (2000) Regular model checking. In: CAV ’00, pp 403–418

  6. Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691

    MATH  Google Scholar 

  7. Buchholz P, Ciardo G, Donatelli S, Kemper P (2000) Complexity of memory-efficient Kronecker operations with applications to the solution of Markov models. INFORMS J Comput 12(3):203–222

    Article  MATH  MathSciNet  Google Scholar 

  8. Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ (1990) Symbolic model checking: 1020 states and beyond. In: Proc. 5th annual IEEE symposium on logic in computer science, Philadelphia, 4–7 June 1990. IEEE Press, New York, pp 428–439

  9. Burch JR, Clarke EM, Long DE (1991) Symbolic model checking with partitioned transition relations. In: Halaas A, Denyer PB (eds) International conference on very large scale integration, Edinburgh, UK, August 1991. IFIP Transactions, North-Holland, Amsterdam, pp 49–58

  10. Cabodi G, Camurati P, Quer S (1999) Improving symbolic traversals by means of activity profiles. In: Design Automation Conference, pp 306–311

  11. Ciardo G, Miner AS, Jones III RL, Marmorstein RM, Siminiceanu RI (2004) SMART: Stochastic Model checking Analyzer for Reliability and Timing, user manual. http://www.cs.ucr.edu/∼ciardo/SMART/

  12. Ciardo G, Jones RL, Miner AS, Siminiceanu R (2003) Logical and stochastic modeling with SMART. In: Kemper P, Sanders WH (eds) Proc. Modelling Techniques and Tools for Computer Performance Evaluation, Urbana, IL, September 2003. Lecture notes in computer science, vol 2794. Springer, Berlin Heidelberg New York, pp 78–97

  13. Ciardo G, Lüttgen G, Siminiceanu R (2000) Efficient symbolic state-space construction for asynchronous systems. In: Nielsen M, Simpson D (eds) Proc. 21st international conference on applications and theory of Petri nets, Aarhus, Denmark, June 2000. Lecture notes in computer science, vol 1825. Springer, Berlin Heidelberg New York, pp 103–122

  14. Ciardo G, Lüttgen G, Siminiceanu R (2001) Saturation: an efficient iteration strategy for symbolic state space generation. In: Margaria T, Yi W (eds) Proc. TACAS, Genova, Italy, April 2001. Lecture notes in computer science, vol 2031. Springer, Berlin Heidelberg New York, pp 328–342

  15. Ciardo G, Marmorstein R, Siminiceanu R (2003) Saturation unbound. In: Garavel H, Hatcliff J (eds) Proc. TACAS, Warsaw, Poland, April 2003. Lecture notes in computer science, vol 2619. Springer, Berlin Heidelberg New York, pp 379–393

  16. Ciardo G, Miner AS (1997) Storage alternatives for large structured state spaces. In: Marie R, Plateau B, Calzarossa M, Rubino G (eds) Proc. 9th international conference on modelling techniques and tools for computer performance evaluation, St. Malo, France, June 1997. Lecture notes in computer science, vol 1245. Springer, Berlin Heidelberg New York, pp 44–57

  17. Ciardo G, Siminiceanu R (2002) Using edge-valued decision diagrams for symbolic generation of shortest paths. In: Aagaard MD, O’Leary JW (eds) Proc. 4th international conference on formal methods in computer-aided design (FMCAD), Portland, OR, November 2002. Lecture notes in computer science, vol 2517. Springer, Berlin Heidelberg New York, pp 256–273

  18. Ciardo G, Siminiceanu R (2003) Structural symbolic CTL model checking of asynchronous systems. In: Hunt W Jr, Somenzi F (eds) CAV ’03, Boulder, CO, July 2003. Lecture notes in computer science, vol 2725. Springer, Berlin Heidelberg New York, pp 40–53

  19. Ciardo G, Trivedi KS (1993) A decomposition approach for stochastic reward net models. Perf Eval 18(1):37–59

    Article  MATH  MathSciNet  Google Scholar 

  20. Cimatti A, Clarke E, Giunchiglia F, Roveri M (1999) NuSMV: A new symbolic model verifier. In: CAV ’99. Lecture notes in computer science, vol 1633. Springer, Berlin Heidelberg New York, pp 495–499

  21. Clarke E, Filkorn T, Jha S (1993) Exploiting symmetry in model checking. In: CAV ’93. Lecture notes in computer science, vol 697. Springer, Berlin Heidelberg New York, pp 450–462

  22. Clarke EM, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge, MA

  23. Coudert O, Madre JC (1991) Symbolic computation of the valid states of a sequential machine: algorithms and discussion. In: International workshop on formal methods in VLSI design, Miami, FL, pp 1–19

  24. Geser A, Knoop J, Lüttgen G, Steffen B, Rüthing O (1994) Chaotic fixed point iterations. Technical Report MIP-9403, University of Passau, Germany

  25. Godefroid P (1996) Partial-order methods for the verification of concurrent systems – an approach to the state-explosion problem. Lecture notes in computer science, vol 1032. Springer, Berlin Heidelberg New York

  26. Godefroid P, Long DE (1999) Symbolic protocol verification with queue BDDs. Formal Methods Syst Des 14(3):257–271

    Article  Google Scholar 

  27. Graf S, Steffen B (1990) Compositional minimization of finite state systems. In: Clarke EM, Kurshan RP (eds) Proc. CAV. Lecture notes in computer science, vol 531. Springer, Berlin Heidelberg New York, pp 186–196

  28. Graf S, Steffen B, Lüttgen G (1996) Compositional minimisation of finite state systems using interface specifications. Formal Asp Comput 8(5):607–616

    Article  MATH  Google Scholar 

  29. Grumberg O, Heyman T, Schuster A (2003) A work-efficient distributed algorithm for reachability analysis. In: CAV ’03, July 2003

  30. Henriksen JG, Jensen JL, Jørgensen ME, Klarlund N, Paige R, Rauhe T, Sandholm A (1995) Mona: Monadic second-order logic in practice. In: Brinksma E, Cleaveland R, Larsen KG, Margaria T, Steffen B (eds) Proc. TACAS, vol 1019. Springer, Berlin Heidelberg New York, pp 89–110

  31. Hoare CAR (1985) Communicating sequential processes. Prentice Hall, Englewood Cliffs, NJ

  32. Holzmann G, Peled D (1994) An improvement in formal verification. In: Proc. Formal Description Techniques, FORTE94, Berne, Switzerland, October 1994. Chapman and Hall, London, pp 197–211

  33. Kam T, Villa T, Brayton R, Sangiovanni-Vincentelli A (1998) Multi-valued decision diagrams: theory and applications. Multiple-Valued Logic 4(1–2):9–62

  34. Kimura S, Clarke EM (1990) A parallel algorithm for constructing binary decision diagrams. In: Proc. international conference on computer design (ICCD), Cambridge, MA, September 1990. IEEE Press, New York, pp 220–223

  35. Krimm J-P, Mounier L (1997) Compositional state space generation from Lotos programs. In: Brinksma E (ed) Proc. TACAS, Enschede, The Netherlands, April 1997. Lecture notes in computer science, vol 1217. Springer, Berlin Heidelberg New York, pp 239–258

  36. Miner AS, Ciardo G (1999) Efficient reachability set generation and storage using decision diagrams. In: Kleijn H, Donatelli S (eds) Proc. 20th international conference on applications and theory of Petri nets, Williamsburg, VA, June 1999. Lecture notes in computer science, vol 1639. Springer, Berlin Heidelberg New York, pp 6–25

  37. Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541–579

    Article  Google Scholar 

  38. Pastor E, Roig O, Cortadella J, Badia R (1994) Petri net analysis using boolean manipulation. In: Valette R (ed) Proc. 15th international conference on applications and theory of Petri nets, Zaragoza, Spain, June 1994. Lecture notes in computer science, vol 815. Springer, Berlin Heidelberg New York, pp 416–435

  39. Pissanetzky S (1984) Sparse matrix technology. Academic, San Diego

  40. Plateau B (1985) On the stochastic structure of parallelism and synchronisation models for distributed algorithms. In: Proc. ACM SIGMETRICS, Austin, TX, May 1985, pp 147–153

  41. Preuss H, Srivastav A (1998) Blockwise variable orderings for shared BDDs. In: MFCS: Symposium on mathematical foundations of computer science

  42. Ravi K, Somenzi F (1995) High-density reachability analysis. In: ICCAD ’95. IEEE Press, New York, pp 154–158

  43. Roig O, Cortadella J, Pastor E (1995) Verification of asynchronous circuits by BDD-based model checking of Petri nets. In: De Michelis G, Diaz M (eds) Proc. 16th international conference on applications and theory of Petri nets, Turin, Italy, June 1995. Lecture notes in computer science, vol 935. Springer, Berlin Heidelberg New York, pp 374–391

  44. Solé M, Pastor E (2002) Traversal techniques for concurrent systems. Lecture notes in computer science, vol 2517. Springer, Berlin Heidelberg New York, pp 220–237

  45. Somenzi F (2004) CUDD: CU Decision Diagram Package, release 2.3.1. http://vlsi.colorado.edu/∼fabio/CUDD/cuddIntro.html

  46. Valmari A (1990) A stubborn attack on the state explosion problem. In: CAV ’90. Springer, Berlin Heidelberg New York, pp 156–165

  47. Yang B, O’Hallaron DR (1997) Parallel breadth-first BDD construction. In: Proc. 6th ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP’97), Las Vegas, June 1997, pp 145–156

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gianfranco Ciardo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ciardo, G., Marmorstein, R. & Siminiceanu, R. The saturation algorithm for symbolic state-space exploration. Int J Softw Tools Technol Transfer 8, 4–25 (2006). https://doi.org/10.1007/s10009-005-0188-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-005-0188-7

Keywords

Navigation