Abstract
The concurrent places of a Petri net are all pairs of places that may simultaneously have a token in some reachable marking. Concurrent places generalize the usual notion of dead places and are particularly useful for decomposing a Petri net into synchronized automata executing in parallel. We present a state-of-the-art toolchain to compute the concurrent places of a Petri net. This is achieved by a rich combination of various techniques, including: state-space exploration using BDDs, structural rules for concurrent places, quadratic over- and under-approximation of reachable markings, and polyhedral abstraction of the state space based on structural reductions and linear arithmetic constraints on markings. We assess the performance of our toolchain on a large collection of 850 nets originating from the 2022 edition of the Model Checking Contest.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
When unit-safeness is known by construction, or if it has been proven later.
- 8.
- 9.
- 10.
- 11.
In this method, singletons are also considered as pairs \(\{ p, p \}\).
- 12.
- 13.
- 14.
This succeeded for all the nets considered here, although, in general, unit-safeness may be difficult to determine for large nets.
- 15.
References
Amat, N., Berthomieu, B., Dal Zilio, S.: On the combination of polyhedral abstraction and SMT-based model checking for Petri nets. In: Buchs, D., Carmona, J. (eds.) PETRI NETS 2021. LNCS, vol. 12734, pp. 164–185. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-76983-3_9
Amat, N., Berthomieu, B., Dal Zilio, S.: A polyhedral abstraction for Petri Nets and its application to SMT-based model checking. Fund. Inform. 187(2–4), 103–138 (2022). https://doi.org/10.3233/FI-222134, publisher: IOS Press
Amat, N., Chauvet, L.: Kong: a tool to squash concurrent places. In: Bernardinello, L., Petrucci, L. (eds.) PETRI NETS 2022. LNCS, vol. 13288, pp. 115–126. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-06653-5_6
Amat, N., Dal Zilio, S.: SMPT: a testbed for reachabilty methods in generalized Petri nets. In: Chechik, M., Katoen, J.P., Leucker, M. (eds.) FM 2023. LNCS, vol. 14000, pp. 445–453. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-27481-7_25
Amat, N., Dal Zilio, S., Le Botlan, D.: Accelerating the computation of dead and concurrent places using reductions. In: Laarman, A., Sokolova, A. (eds.) SPIN 2021. LNCS, vol. 12864, pp. 45–62. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-84629-9_3
Amat, N., Dal Zilio, S., Le Botlan, D.: Leveraging polyhedral reductions for solving Petri net reachability problems. Int. J. Softw. Tools Technol. Transfer (2022). https://doi.org/10.1007/s10009-022-00694-8
Amparore, E., et al.: Presentation of the 9th edition of the model checking contest. In: Beyer, D., Huisman, M., Kordon, F., Steffen, B. (eds.) TACAS 2019. LNCS, vol. 11429, pp. 50–68. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17502-3_4
Berthelot, G.: Transformations and decompositions of nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 254, pp. 359–376. Springer, Heidelberg (1987). https://doi.org/10.1007/978-3-540-47919-2_13
Berthomieu, B., Ribet, P.O., Vernadat, F.: The tool TINA - construction of abstract state spaces for Petri nets and time Petri nets. Int. J. Prod. Res. 42(14) (2004).https://doi.org/10.1080/00207540412331312688
Bouvier, P., Garavel, H.: Efficient algorithms for three reachability problems in safe Petri nets. In: Buchs, D., Carmona, J. (eds.) PETRI NETS 2021. LNCS, vol. 12734, pp. 339–359. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-76983-3_17
Bouvier, P., Garavel, H., Ponce-de-León, H.: Automatic decomposition of Petri nets into automata networks – a synthetic account. In: Janicki, R., Sidorova, N., Chatain, T. (eds.) PETRI NETS 2020. LNCS, vol. 12152, pp. 3–23. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51831-8_1
Garavel, H.: Nested-unit Petri nets: a structural means to increase efficiency and scalability of verification on elementary nets. In: Devillers, R., Valmari, A. (eds.) PETRI NETS 2015. LNCS, vol. 9115, pp. 179–199. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19488-2_9
Garavel, H.: Nested-unit Petri nets. J. Logical Algebraic Methods Program. 104, 60–85 (2019)
Garavel, H.: Proposal for adding useful features to Petri-net model checkers. Technical report, abs/2101.05024, arXiv Computing Research Repository, December 2020. https://hal.inria.fr/hal-03087421
Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: a toolbox for the construction and analysis of distributed processes. Springer Int. J. Softw. Tools Technol. Transf. (STTT) 15(2), 89–107 (2013)
Garavel, H., Lang, F., Serwe, W.: From LOTOS to LNT. In: Katoen, J.-P., Langerak, R., Rensink, A. (eds.) ModelEd, TestEd, TrustEd. LNCS, vol. 10500, pp. 3–26. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68270-9_1
Garavel, H., Serwe, W.: State space reduction for process algebra specifications. Theoret. Comput. Sci. 351(2), 131–145 (2006)
Garavel, H., Sifakis, J.: Compilation and verification of LOTOS specifications. In: Logrippo, L., Probert, R.L., Ural, H. (eds.) Proceedings of the 10th IFIP International Symposium on Protocol Specification, Testing and Verification (PSTV’90), Ottawa, Canada, pp. 379–394. North-Holland, June 1990
Giua, A., DiCesare, F., Silva, M.: Generalized mutual exclusion constraints on nets with uncontrollable transitions. In: IEEE International Conference on Systems, Man, and Cybernetics. IEEE (1992). https://doi.org/10.1109/ICSMC.1992.271666
IEC: GRAFCET specification language for sequential function charts. International Standard 60848:2013, International Electrotechnical Commission, Geneva, February 2013
ISO/IEC: LOTOS - A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. International Standard 8807, International Organization for Standardization - Information Processing Systems - Open Systems Interconnection, Geneva, September 1989
ISO/IEC: High-level Petri Nets - Part 2: Transfer Format. International Standard 15909–2:2011, International Organization for Standardization - Information Technology - Systems and Software Engineering, Geneva (2011)
Janicki, R.: Nets, sequential components and concurrency relations. Theoret. Comput. Sci. 29, 87–121 (1984)
Karatkevich, A.: Conditions of SM-coverability of Petri nets, September 2012. https://www.researchgate.net/publication/267508814_Conditions_of_SM-Coverability_of_Petri_Nets
Kordon, F., et al.: Complete Results for the 2021 Edition of the Model Checking Contest, June 2021. http://mcc.lip6.fr/2021/results.php
Kordon, F., et al.: Complete Results for the 2022 Edition of the Model Checking Contest, June 2022. https://mcc.lip6.fr/2022/results.php
Kovalyov, A.V.: Concurrency relations and the safety problem for Petri nets. In: Jensen, K. (ed.) ICATPN 1992. LNCS, vol. 616, pp. 299–309. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55676-1_17
Kovalyov, A.: A polynomial algorithm to compute the concurrency relation of a regular STG. In: Yakovlev, A., Gomes, L., Lavagno, L. (eds.) Hardware Design and Petri Nets, pp. 107–126. Springer, Boston (2000). https://doi.org/10.1007/978-1-4757-3143-9_6
Kovalyov, A., Esparza, J.: A polynomial algorithm to compute the concurrency relation of free-choice signal transition graphs. In: Proceedings of the 3rd Workshop on Discrete Event Systems (WODES’96), Edinburgh, Scotland, UK, pp. 1–6 (1996)
Murata, T., Koh, J.: Reduction and expansion of live and safe marked graphs. IEEE Trans. Circuits Syst. 27(1) (1980). https://doi.org/10.1109/TCS.1980.1084711
Murata, T.: Petri nets: analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Peterson, J.L.: Petri nets. ACM Comput. Surv. 9(3), 223–252 (1977)
Semenov, A., Yakovlev, A.: Combining partial orders and symbolic traversal for efficient verification of asynchronous circuits. In: Ohtsuki, T., Johnson, S. (eds.) Proceedings of the 12th International Conference on Computer Hardware Description Languages and their Applications (CHDL’95), Makuhari, Chiba, Japan. IEEE, August–September 1995
Silva, M., Terue, E., Colom, J.M.: Linear algebraic and linear programming techniques for the analysis of place/transition net systems. In: Reisig, W., Rozenberg, G. (eds.) ACPN 1996. LNCS, vol. 1491, pp. 309–373. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-65306-6_19
Wiśniewski, R., Karatkevich, A., Adamski, M., Kur, D.: Application of comparability graphs in decomposition of Petri nets. In: Proceedings of the 7th International Conference on Human System Interactions (HSI’14), Costa da Caparica, Portugal, pp. 216–220. IEEE, June 2014
Wiśniewski, R., Wiśniewska, M., Jarnut, M.: C-exact hypergraphs in concurrency and sequentiality analyses of cyber-physical systems specified by safe Petri nets. IEEE Access 7 (2019). https://doi.org/10.1109/ACCESS.2019.2893284
Acknowledgements
Experiments presented in this paper were carried out using the Grid’5000 testbed, supported by a scientific interest group hosted by Inria and including Cnrs, Renater, and several Universities as well as other organizations. We are grateful to Lom Messan Hillah for his Pnml2Nupn translator, to Fabio Somenzi for providing us with the latest version 3.1.0 of Cudd, to Bernard Berthomieu for providing the tool Reduce, and to Silvano Dal Zilio and Didier Le Botlan for their contributions to Kong.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Run-Length-Encoding Compression
A Run-Length-Encoding Compression
As mentioned in Sect. 2.3, each line of the concurrency matrix is compressed using a simple run-length-encoding scheme: any sequence of \(n>3\) consecutive identical characters is replaced by a single character followed by the value of n enclosed between parentheses. For instance, the following sequence of 18 characters: “10000..........001” is replaced by a sequence of 13 characters: “10(4).(10)001”. Table 4 illustrates the compression of an entire matrix, and Table 5 gives an implementation in C of the compression and decompression algorithms (which we also implemented in Awk, Python, and Bourne shell).
This scheme enjoys three nice properties: (i) the size (in characters) of the compressed output is always less or equal to the size of the input; in practice, we observed a reduction factor of 214 (mean value) up to 4270 (maximal value) measured on 12,671 NUPNs; (ii) compressing an already compressed input has no effect; (iii) compression and decompression can operate on the fly (e.g., using coroutines, pipes, or data streams), meaning that it is not mandatory to generate a matrix entirely before starting to compress it, and that one can compare two (or more) compressed matrices without having to decompress them entirely in advance.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer-Verlag GmbH, DE, part of Springer Nature
About this chapter
Cite this chapter
Amat, N., Bouvier, P., Garavel, H. (2024). A Toolchain to Compute Concurrent Places of Petri Nets. In: Koutny, M., Bergenthum, R., Ciardo, G. (eds) Transactions on Petri Nets and Other Models of Concurrency XVII. Lecture Notes in Computer Science(), vol 14150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-68191-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-662-68191-6_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-68190-9
Online ISBN: 978-3-662-68191-6
eBook Packages: Computer ScienceComputer Science (R0)