Reachability Set Generation for Petri Nets: Can Brute Force Be Smart?

Generating the reachability set is one of the most commonly required step when analyzing the logical or stochastic behavior of a system modeled with Petri nets. Traditional “explicit” algorithms that explore the reachability graph of a Petri net require memory and time at least proportional to the number of reachable markings, thus they are applicable only to fairly small systems in practice. Symbolic “implicit” algorithms, typically implemented using binary decision diagrams, have been successfully employed in much larger systems, but much of the work to date is based on breadth-first search techniques best suited for synchronous hardware verification. Here, instead, we describe recently-introduced data structures and algorithms particularly targeted to Petri nets and similar asynchronous models, and show why they are enormously more efficient for this application. We conclude with some directions for future research.

[1]  J. Winkowski,et al.  Mathematical Foundations of Computer Science 1978 , 1978, Lecture Notes in Computer Science.

[2]  E. Pastor,et al.  Symbolic Analysis of Bounded Petri Nets , 2001, IEEE Trans. Computers.

[3]  Timothy Kam State minimization of finite state machines using implicit techniques , 1996 .

[4]  Stephen Gilmore,et al.  PEPA Nets: A Structured Performance Modelling Formalism , 2002, Computer Performance Evaluation / TOOLS.

[5]  Gianfranco Ciardo,et al.  Efficient Reachability Set Generation and Storage Using Decision Diagrams , 1999, ICATPN.

[6]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[7]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[8]  Ramon Puigjaner,et al.  Computer Performance Evaluation , 2000, Lecture Notes in Computer Science.

[9]  Gianfranco Ciardo,et al.  A data structure for the efficient Kronecker solution of GSPNs , 1999, Proceedings 8th International Workshop on Petri Nets and Performance Models (Cat. No.PR00331).

[10]  Jordi Cortadella,et al.  Petri Net Analysis Using Boolean Manipulation , 1994, Application and Theory of Petri Nets.

[11]  Marc Davio,et al.  Kronecker products and shuffle algebra , 1981, IEEE Transactions on Computers.

[12]  Tiziano Villa,et al.  Multi-valued decision diagrams: theory and applications , 1998 .

[13]  Manuel Silva Suárez,et al.  Convex geometry and semiflows in P/T nets. A comparative study of algorithms for computation of minimal P-semiflows , 1991, Applications and Theory of Petri Nets.

[14]  Giorgio De Michelis,et al.  Application and Theory of Petri Nets 1995 , 1995 .

[15]  Gianfranco Ciardo,et al.  Storage Alternatives for Large Structured State Spaces , 1997, Computer Performance Evaluation.

[16]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[17]  William H. Sanders,et al.  Möbius : An Extensible Framework For Performance and Dependability Modeling , 1910 .

[18]  Brigitte Plateau On the stochastic structure of parallelism and synchronization models for distributed algorithms , 1985, SIGMETRICS 1985.

[19]  Jordi Cortadella,et al.  Verification of Asynchronous Circuits by BDD-based Model Checking of Petri Nets , 1995, Application and Theory of Petri Nets.

[20]  Susanna Donatelli,et al.  Application and Theory of Petri Nets 1999 , 2003, Lecture Notes in Computer Science.

[21]  Kishor S. Trivedi,et al.  A Decomposition Approach for Stochastic Reward Net Models , 1993, Perform. Evaluation.

[22]  Andrew S. Miner Efficient solution of GSPNs using canonical matrix diagrams , 2001, Proceedings 9th International Workshop on Petri Nets and Performance Models.

[23]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[24]  T. Agerwala,et al.  Complete model for representing the coordination of asynchronous processes , 1974 .

[25]  Gianfranco Ciardo,et al.  Petri Nets with Marking-Dependent Ar Cardinality: Properties and Analysis , 1994, Application and Theory of Petri Nets.

[26]  Susanna Donatelli,et al.  Superposed Generalized Stochastic Petri Nets: Definition and Efficient Solution , 1994, Application and Theory of Petri Nets.

[27]  Rüdiger Valk,et al.  Generalizations of Petri Nets , 1981, MFCS.

[28]  Jozef Gruska,et al.  Mathematical Foundations of Computer Science 1981 , 1981, Lecture Notes in Computer Science.

[29]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[30]  Gianfranco Ciardo,et al.  Efficient Symbolic State-Space Construction for Asynchronous Systems , 2000, ICATPN.

[31]  Tadao Kasami,et al.  Some Decision Problems Related to the Reachability Problem for Petri Nets , 1976, Theor. Comput. Sci..

[32]  Rüdiger Valk On the Computational Power of Extended Petri Nets , 1978, MFCS.

[33]  Jean-Pierre Deschamps,et al.  Synthesis of Discrete Functions Using I2L Technology , 1981, IEEE Transactions on Computers.

[34]  Marco Ajmone Marsan,et al.  Modelling with Generalized Stochastic Petri Nets , 1995, PERV.

[35]  Shuzo Yajima,et al.  The Complexity of the Optimal Variable Ordering Problems of Shared Binary Decision Diagrams , 1993, ISAAC.

[36]  Gianfranco Ciardo,et al.  Logical and Stochastic Modeling with SMART , 2003, Computer Performance Evaluation / TOOLS.

[37]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[38]  Robert Valette,et al.  Application and Theory of Petri Nets 1997 , 1997, Lecture Notes in Computer Science.

[39]  Gianfranco Ciardo,et al.  Saturation: An Efficient Iteration Strategy for Symbolic State-Space Generation , 2001, TACAS.

[40]  C. Petri Kommunikation mit Automaten , 1962 .

[41]  Gianfranco Ciardo,et al.  Using Edge-Valued Decision Diagrams for Symbolic Generation of Shortest Paths , 2002, FMCAD.

[42]  Bernhard Steffen,et al.  Compositional minimisation of finite state systems using interface specifications , 1996, Formal Aspects of Computing.

[43]  Gianfranco Ciardo,et al.  Structural Symbolic CTL Model Checking of Asynchronous Systems , 2003, CAV.

[44]  Peter Buchholz,et al.  Numerical analysis of stochastic marked graph nets , 1995, Proceedings 6th International Workshop on Petri Nets and Performance Models.

[45]  Gianfranco Ciardo,et al.  Saturation Unbound , 2003, TACAS.

[46]  Peter Buchholz,et al.  Complexity of Memory-Efficient Kronecker Operations with Applications to the Solution of Markov Models , 2000, INFORMS J. Comput..

[47]  Michel Hack,et al.  Decidability Questions for Petri Nets , 1975, Outstanding Dissertations in the Computer Sciences.

[48]  Mogens Nielsen,et al.  Application and Theory of Petri Nets 2000: 21st International Conference, ICATPN 2000 Aarhus, Denmark, June 26–30, 2000 Proceedings , 2000, ICATPN.

[49]  William H. Sanders,et al.  Möbius: An Extensible Tool for Performance and Dependability Modeling , 2000, Computer Performance Evaluation / TOOLS.