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.
Similar content being viewed by others
References
Ajmone Marsan M, Balbo G, Conte G, Donatelli S, Franceschinis G (1995) Modelling with generalized stochastic Petri nets. Wiley, New York
Amoia V, De Micheli G, Santomauro M (1981) Computer-oriented formulation of transition-rate matrices via Kronecker algebra. IEEE Trans Reliabil 30:123–132
Bergstra JA, Ponse A, Smolka SA (2001) Handbook of process algebra. Elsevier, Amsterdam
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
Bouajjani A, Jonsson B, Nilsson M, Touili T (2000) Regular model checking. In: CAV ’00, pp 403–418
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691
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
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
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
Cabodi G, Camurati P, Quer S (1999) Improving symbolic traversals by means of activity profiles. In: Design Automation Conference, pp 306–311
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/
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
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
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
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
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
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
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
Ciardo G, Trivedi KS (1993) A decomposition approach for stochastic reward net models. Perf Eval 18(1):37–59
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
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
Clarke EM, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge, MA
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
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
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
Godefroid P, Long DE (1999) Symbolic protocol verification with queue BDDs. Formal Methods Syst Des 14(3):257–271
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
Graf S, Steffen B, Lüttgen G (1996) Compositional minimisation of finite state systems using interface specifications. Formal Asp Comput 8(5):607–616
Grumberg O, Heyman T, Schuster A (2003) A work-efficient distributed algorithm for reachability analysis. In: CAV ’03, July 2003
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
Hoare CAR (1985) Communicating sequential processes. Prentice Hall, Englewood Cliffs, NJ
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
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
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
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
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
Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541–579
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
Pissanetzky S (1984) Sparse matrix technology. Academic, San Diego
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
Preuss H, Srivastav A (1998) Blockwise variable orderings for shared BDDs. In: MFCS: Symposium on mathematical foundations of computer science
Ravi K, Somenzi F (1995) High-density reachability analysis. In: ICCAD ’95. IEEE Press, New York, pp 154–158
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
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
Somenzi F (2004) CUDD: CU Decision Diagram Package, release 2.3.1. http://vlsi.colorado.edu/∼fabio/CUDD/cuddIntro.html
Valmari A (1990) A stubborn attack on the state explosion problem. In: CAV ’90. Springer, Berlin Heidelberg New York, pp 156–165
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-005-0188-7