Abstract
Choosing a good variable order is crucial for making symbolic state-space generation algorithms truly efficient. One such algorithm is the MDD-based Saturation algorithm for Petri nets implemented in , whose efficiency relies on exploiting event locality.
This paper presents a novel, static ordering heuristic that considers place invariants of Petri nets. In contrast to related work, we use the functional dependencies encoded by invariants to merge decision-diagram variables, rather than to eliminate them. We prove that merging variables always yields smaller MDDs and improves event locality, while eliminating variables may increase MDD sizes and break locality. Combining this idea of merging with heuristics for maximizing event locality, we obtain an algorithm for static variable order which outperforms competing approaches regarding both time-efficiency and memory-efficiency, as we demonstrate by extensive benchmarking.
Work supported in part by the National Science Foundation under grants CNS- 0501747 and CNS-0501748 and by the EPSRC under grant GR/S86211/01.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aziz, A., Taşiran, S., Brayton, R.K.: BDD variable ordering for interacting finite state machines. In: DAC, pp. 283–288. ACM Press, New York (1994)
Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. on Computers 45(9), 993–1002 (1996)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comp. 35(8), 677–691 (1986)
Burch, J.R., Clarke, E.M., Long, D.E.: Symbolic model checking with partitioned transition relations. In: Very Large Scale Integration, IFIP Transactions, North-Holland, pp. 49–58 (1991)
Campos, J., Chiola, G., Silva, M.: Ergodicity and throughput bounds of Petri nets with unique consistent firing count vectors. IEEE Trans. Softw. Eng. 17(2), 117–126 (1991)
Chiola, G.: Compiling techniques for the analysis of stochastic Petri nets. In: Modeling Techniques and Tools for Computer Performance Evaluation, pp. 11–24. Plenum Press, New York (1989)
Chiola, G., Franceschinis, G., Gaeta, R., Ribaudo, M.: GreatSPN 1.7: Graphical editor and analyzer for timed and stochastic Petri nets. Performance Evaluation 24(1,2), 47–68 (1995)
Ciardo, G.: Petri nets with marking-dependent arc multiplicity: Properties and analysis. In: Valette, R. (ed.) Application and Theory of Petri Nets 1994. LNCS, vol. 815, pp. 179–198. Springer, Heidelberg (1994)
Ciardo, G., Jones, R.L., Miner, A.S., Siminiceanu, R.: Logical and stochastic modeling with SMART. Performance Evaluation 63, 578–608 (2006)
Ciardo, G., Lüttgen, G., Siminiceanu, R.: Saturation: An efficient iteration strategy for symbolic state space generation. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 328–342. Springer, Heidelberg (2001)
Ciardo, G., Marmorstein, R., Siminiceanu, R.: Saturation unbound. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 379–393. Springer, Heidelberg (2003)
Ciardo, G., Marmorstein, R., Siminiceanu, R.: The Saturation algorithm for symbolic state space exploration. STTT 8(1), 4–25 (2006)
Ciardo, G., Yu, A.J.: Saturation-based symbolic reachability analysis using conjunctive and disjunctive partitioning. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 146–161. Springer, Heidelberg (2005)
Colom, J., Silva, M.: Improving the linearly based characterization of P/T nets. In: Advances in Petri Nets. LNCS, vol. 483, pp. 113–145. Springer, Heidelberg (1991)
Colom, J.M., Silva, M.: Convex geometry and semiflows in P/T nets: A comparative study of algorithms for the computation of minimal p-semiflows. In: ICATPN, pp. 74–95 (1989)
Corbett, J.C.: Evaluating deadlock detection methods for concurrent software. IEEE Trans. Softw. Eng. 22(3), 161–180 (1996)
Davies, I., Knottenbelt, W., Kritzinger, P.S.: Symbolic methods for the state space exploration of GSPN models. In: Field, T., Harrison, P.G., Bradley, J., Harder, U. (eds.) TOOLS 2002. LNCS, vol. 2324, pp. 188–199. Springer, Heidelberg (2002)
Grumberg, O., Livne, S., Markovitch, S.: Learning to order BDD variables in verification. J. Art. Int. Res. 18, 83–116 (2003)
Hu, A.J., Dill, D.L.: Reducing BDD size by exploiting functional dependencies. In: DAC, pp. 266–271. ACM Press, New York (1993)
Itai, A., Rodeh, M.: Symmetry breaking in distributed networks. In: Foundations of Computer Science, pp. 150–158. IEEE Press, New York (1981)
Jeong, S.-W., Plessier, B., Hachtel, G.D., Somenzi, F.: Variable ordering and selection for FSM traversal. In: ICCAD, pp. 476–479. ACM Press, New York (1991)
Kam, T., Villa, T., Brayton, R., Sangiovanni-Vincentelli, A.: Multi-valued decision diagrams: Theory and applications. Multiple-Valued Logic 4(1–2), 9–62 (1998)
McMillan, K.: Symbolic Model Checking: An Approach to the State-Explosion Problem. PhD thesis, Carnegie-Mellon Univ. (1992)
Miner, A.S.: Implicit GSPN reachability set generation using decision diagrams. Performance Evaluation 56(1-4), 145–165 (2004)
Miner, A.S., Ciardo, G.: Efficient reachability set generation and storage using decision diagrams. In: Donatelli, S., Kleijn, J.H.C.M. (eds.) ICATPN 1999. LNCS, vol. 1639, pp. 6–25. Springer, Heidelberg (1999)
Murata, T.: Petri nets: properties, analysis and applications. Proc. of the IEEE 77(4), 541–579 (1989)
Pastor, E., Cortadella, J.: Efficient encoding schemes for symbolic analysis of Petri nets. In: DATE, pp. 790–795. IEEE Press, New York (1998)
Pastor, E., Cortadella, J., Peña, M.: Structural methods to improve the symbolic analysis of Petri nets. In: Donatelli, S., Kleijn, J.H.C.M. (eds.) ICATPN 1999. LNCS, vol. 1639, pp. 26–45. Springer, Heidelberg (1999)
Pastor, E., Cortadella, J., Roig, O.: Symbolic analysis of bounded Petri nets. IEEE Trans.Computers 50(5), 432–448 (2001)
Pastor, E., Roig, O., Cortadella, J., Badia, R.: Petri net analysis using boolean manipulation. In: Valette, R. (ed.) Application and Theory of Petri Nets 1994. LNCS, vol. 815, pp. 416–435. Springer, Heidelberg (1994)
Ramachandran, P., Kamath, M.: On place invariant sets and the rank of the incidence matrix of Petri nets. In: Systems, Man, and Cybernetics, pp. 160–165. IEEE Press, New York (1998)
Reisig, W.: Elements of Distributed Algorithms: Modeling and Analysis with Petri Nets. Springer, Heidelberg (1998)
Roig, O., Cortadella, J., Pastor, E.: Verification of asynchronous circuits by BDD-based model checking of Petri nets. In: DeMichelis, G., Díaz, M. (eds.) Application and Theory of Petri Nets 1995. LNCS, vol. 935, pp. 374–391. Springer, Heidelberg (1995)
Sankaranarayanan, S., Sipma, H., Manna, Z.: Petri net analysis using invariant generation. In: Verification: Theory and Practice. LNCS, vol. 2772, pp. 682–701. Springer, Heidelberg (2003)
Schmidt, K.: Using Petri net invariants in state space construction. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 473–488. Springer, Heidelberg (2003)
Schmiedle, F., Günther, W., Drechsler, R.: Dynamic Re-Encoding During MDD Minimization. In: ISMVL (2000)
Semenov, A., Yakovlev, A.: Combining partial orders and symbolic traversal for efficient verification of asynchronous circuits. Techn. Rep. CS-TR 501, Newcastle Univ. (1995)
Sieling, D., Wegener, I.: NC-algorithms for operations on binary decision diagrams. Parallel Processing Letters 3, 3–12 (1993)
Siminiceanu, R., Ciardo, G.: New metrics for static variable ordering in decision diagrams. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006 and ETAPS 2006. LNCS, vol. 3920, pp. 90–104. Springer, Heidelberg (2006)
Tilgner, M., Takahashi, Y., Ciardo, G.: SNS 1.0: Synchronized Network Solver. In: Manufacturing and Petri Nets, pp. 215–234 (1996)
Valk, R.: Generalizations of Petri nets. In: Gruska, J., Chytil, M.P. (eds.) Mathematical Foundations of Computer Science 1981. LNCS, vol. 118, pp. 140–155. Springer, Heidelberg (1981)
Woodside, C.M., Li, Y.: Performance Petri net analysis of communications protocol software by delay-equivalent aggregation. In: PNPM, pp. 64–73 (1991)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Ciardo, G., Lüttgen, G., Yu, A.J. (2007). Improving Static Variable Orders Via Invariants. In: Kleijn, J., Yakovlev, A. (eds) Petri Nets and Other Models of Concurrency – ICATPN 2007. ICATPN 2007. Lecture Notes in Computer Science, vol 4546. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73094-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-73094-1_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73093-4
Online ISBN: 978-3-540-73094-1
eBook Packages: Computer ScienceComputer Science (R0)