Skip to main content

A Toolchain to Compute Concurrent Places of Petri Nets

  • Chapter
  • First Online:
Transactions on Petri Nets and Other Models of Concurrency XVII

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://cadp.inria.fr.

  2. 2.

    https://github.com/nicolasAmat/Kong.

  3. 3.

    https://pnml.lip6.fr/pnml2nupn.

  4. 4.

    https://projects.laas.fr/tina.

  5. 5.

    https://mcc.lip6.fr/2022/nupn.php.

  6. 6.

    https://cadp.inria.fr/man/nupn.html.

  7. 7.

    When unit-safeness is known by construction, or if it has been proven later.

  8. 8.

    https://projects.laas.fr/tina/manuals/ndrio.html.

  9. 9.

    https://cadp.inria.fr/man/caesar.bdd.html.

  10. 10.

    https://cadp.inria.fr/man/caesar.bdd.html.

  11. 11.

    In this method, singletons are also considered as pairs \(\{ p, p \}\).

  12. 12.

    https://github.com/nicolasAmat/Kong.

  13. 13.

    https://mcc.lip6.fr/2022/models.php.

  14. 14.

    This succeeded for all the nets considered here, although, in general, unit-safeness may be difficult to determine for large nets.

  15. 15.

    https://www.grid5000.fr.

References

  1. 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

    Chapter  MATH  Google Scholar 

  2. 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

  3. 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

    Chapter  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

    Chapter  Google Scholar 

  9. 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

  10. 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

    Chapter  MATH  Google Scholar 

  11. 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

    Chapter  MATH  Google Scholar 

  12. 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

    Chapter  MATH  Google Scholar 

  13. Garavel, H.: Nested-unit Petri nets. J. Logical Algebraic Methods Program. 104, 60–85 (2019)

    Article  MathSciNet  MATH  Google Scholar 

  14. 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

  15. 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)

    Article  MATH  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. Garavel, H., Serwe, W.: State space reduction for process algebra specifications. Theoret. Comput. Sci. 351(2), 131–145 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

  20. IEC: GRAFCET specification language for sequential function charts. International Standard 60848:2013, International Electrotechnical Commission, Geneva, February 2013

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Janicki, R.: Nets, sequential components and concurrency relations. Theoret. Comput. Sci. 29, 87–121 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  24. Karatkevich, A.: Conditions of SM-coverability of Petri nets, September 2012. https://www.researchgate.net/publication/267508814_Conditions_of_SM-Coverability_of_Petri_Nets

  25. Kordon, F., et al.: Complete Results for the 2021 Edition of the Model Checking Contest, June 2021. http://mcc.lip6.fr/2021/results.php

  26. Kordon, F., et al.: Complete Results for the 2022 Edition of the Model Checking Contest, June 2022. https://mcc.lip6.fr/2022/results.php

  27. 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

    Chapter  Google Scholar 

  28. 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

    Chapter  Google Scholar 

  29. 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)

    Google Scholar 

  30. 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

  31. Murata, T.: Petri nets: analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  32. Peterson, J.L.: Petri nets. ACM Comput. Surv. 9(3), 223–252 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Chapter  Google Scholar 

  35. 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

    Google Scholar 

  36. 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

Download references

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

Authors

Corresponding author

Correspondence to Nicolas Amat .

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.

Table 5. Decompression (left) and compression (right) algorithms.

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer-Verlag GmbH, DE, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics