Using Petri net invariants in state space construction

The linear algebraic invariant calculus is a powerful technique for the verification of Petri nets. Traditionally it is used for structural verification, i.e. for avoiding the explicit construction of a state space. In this paper, we study the use of Petri net invariants for reducing the memory resources required during state space construction. While place invariants help to reduce the amount of memory needed for each single state (without reducing the number of states as such), transition invariants can be used to reduce the number of states to be stored. Interestingly, our approach does not require computing invariants in full, let alone storing them permanently. All information we need can be deduced from an upper triangular form of the Petri net's incidence matrix. Experiments prove that the place invariant technique leads to improvements in both memory and run time costs while transition invariants lead to a space/time tradeoff that can be controlled heuristically.

[1]  Peter Huber,et al.  Towards reachability trees for high-level Petri nets , 1985, European Workshop on Applications and Theory in Petri Nets.

[2]  Wang Yi,et al.  Efficient verification of real-time systems: compact data structure and state-space reduction , 1997, Proceedings Real-Time Systems Symposium.

[3]  Alain Finkel,et al.  The Minimal Coverability Graph for Petri Nets , 1991, Applications and Theory of Petri Nets.

[4]  Kurt Jensen Condensed state spaces for symmetrical Coloured Petri Nets , 1996, Formal Methods Syst. Des..

[5]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

[6]  Antti Valmari,et al.  The State Explosion Problem , 1996, Petri Nets.

[7]  Giovanni Chiola,et al.  Colored GSPN models and automatic symmetry detection , 1989, Proceedings of the Third International Workshop on Petri Nets and Performance Models, PNPM89.

[8]  P. H. Starke,et al.  Reachability analysis of Petri nets using symmetries , 1991 .

[9]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[10]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[11]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[12]  Kurt Jensen How to Find Invariants for Coloured Petri Nets , 1981, MFCS.

[13]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[14]  Jordi Cortadella,et al.  Efficient encoding schemes for symbolic analysis of Petri nets , 1998, Proceedings Design, Automation and Test in Europe.

[15]  Karsten Schmidt LoLA: a low level analyser , 2000 .

[16]  Gerard J. Holzmann,et al.  On Limits and Possibilities of Automated Protocol Analysis , 1987, PSTV.

[17]  A. Prasad Sistla,et al.  Symmetry and model checking , 1996, Formal Methods Syst. Des..

[18]  Karsten Schmidt Integrating Low Level Symmetries into Reachability Analysis , 2000 .

[19]  Karsten Schmidt,et al.  How to calculate symmetries of Petri nets , 2000 .

[21]  Kurt Lautenbach,et al.  Liveness in Bounded Petri Nets Which Are Covered by T-Invariants , 1994, Application and Theory of Petri Nets.