Skip to main content

SNAKES: A Flexible High-Level Petri Nets Library (Tool Paper)

  • Conference paper
  • First Online:
Application and Theory of Petri Nets and Concurrency (PETRI NETS 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9115))

Abstract

SNAKES (SNAKES is the Net Algebra Kit for Editors and Simulators) is a general purpose Petri nets library, primarily for the Python programming language but portable to other ones. It defines a very general variant of Python-coloured Petri nets that can be created and manipulated through the library, as well as executed to explore state spaces. Thanks to a variety of plugins, SNAKES can handle extensions of Petri nets, in particular algebras of Petri nets [4, 26]. SNAKES ships with a compiler for the ABCD language that is precisely such an algebra. Finally, one can use the companion tool Neco [14] that compiles a Petri net into an optimised library allowing to compute efficiently its state space or perform LTL model-checking thanks to library SPOT [8, 13]. This paper describes SNAKES’ structure and features.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beazley, D.M., Fulton, W.: SWIG – Simplified Wrapper and Interface Generator. http://www.swig.org

  2. Behnel, S., Bradshaw, R., Dalcín, L., Florisson, M., Makarov, V., Seljebotn, D.S.: Cython – C-extensions for Python. http://cython.org

  3. Berthomieu, B., Vernadat, F.: Time Petri nets analysis with TINA. In: Proc. of QEST 2006. IEEE Computer Society (2006)

    Google Scholar 

  4. Best, E., Devillers, R., Koutny, M.: Petri net algebra. Springer (2001)

    Google Scholar 

  5. Bilgin, A., Ellson, J., Gansner, E., Hu, Y., North, S.: Graphviz – Graph Visualization Software. http://graphviz.org

  6. Chaou, S., Utard, G., Pommereau, F.: Evaluating a peer-to-peer storage system in presence of malicious peers. In: Proceedings of HPCS 2011. IEEE Computer Society (2011)

    Google Scholar 

  7. Di Guisto, C., Klaudel, H., Delaplace, F.: Systemic approach for toxicity analysis. In: Proc. of BioPPN 2014. Workshop Proceedings, vol. 1159. CEUR (2014)

    Google Scholar 

  8. Duret-Lutz, A.: LTL translation improvements in Spot. In: Proc. of VECoS 2011. Electronic Workshops in Computing, British Computer Society (2011)

    Google Scholar 

  9. Evangeliste, S.: HELENA, a high level net analyzer. http://lipn.univ-paris13.fr/evangelista/helena

  10. Free Software Foundation: GNU Lesser General Public License. http://www.gnu.org/licenses/lgpl.html

  11. Fronc, Ł.: Neco net compiler. http://code.google.com/p/neco-net-compiler

  12. Fronc, Ł.: Effective marking equivalence checking in systems with dynamic process creation. In: Proc. of Infinity 2012. Electronic Proceedings in Theoretical Computer Science (2012)

    Google Scholar 

  13. Fronc, Ł., Duret-Lutz, A.: LTL model checking with neco. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 451–454. Springer, Heidelberg (2013)

    Google Scholar 

  14. Fronc, Ł., Pommereau, F.: Building Petri nets tools around Neco compiler. In: Proc. of PNSE 2013 (2013)

    Google Scholar 

  15. Gava, F., Pommereau, F., Guedj, M.: A BSP algorithm for on-the-fly checking CTL* formulas on security protocols. The Journal of Supercomputing (2014)

    Google Scholar 

  16. Group, T.C.: CPN tools. http://cpntools.org

  17. Haddad, S., Kordon, F., Petruci, L.: CosyVerif. http://cosyverif.org

  18. Jensen, K., Kristensen, L.M.: Coloured Petri Nets, Monographs in Theoretical Computer Science, vol. 2. Springer (1997)

    Google Scholar 

  19. Kindler, E., Weber, M.: The Petri Net Kernel: An infrastructure for building Petri net tools. Software Tools for Technology Transfer 3 (1999)

    Google Scholar 

  20. Klaudel, H., Koutny, M., Pelz, E., Pommereau, F.: State space reduction for dynamic process creation. Scientific Annals of Computer Science 20 (2010)

    Google Scholar 

  21. Mohamed, M., Amziani, M., Belaïd, D., Tata, S., Melliti, T.: An autonomic approach to manage elasticity of business processes in the Cloud. Future Generation Computer Systems (2014) (To appear)

    Google Scholar 

  22. Pommereau, F.: SNAKES out of Python. http://www.ibisc.univ-evry.fr/fpommereau/SNAKES/snakes-out-of-python.html

  23. Pommereau, F.: Quickly prototyping Petri nets tools with SNAKES. Petri net newsletter 10 (2008)

    Google Scholar 

  24. Pommereau, F.: Quickly prototyping Petri nets tools with SNAKES. In: Proc. of PNTAP 2008. ACM Digital Library. ACM (2008)

    Google Scholar 

  25. Pommereau, F.: Nets in nets with SNAKES. In: Proc. of MOCA 2009. Universität Hamburg, Dept. Informatik, Hamburg (2009)

    Google Scholar 

  26. Pommereau, F.: Algebras of coloured Petri nets. Lambert Academic Publishing (2010)

    Google Scholar 

  27. Python Software Foundation: Alternative Python implementations. http://www.python.org/download/alternatives

  28. Reinke, C.: Haskell-coloured petri nets. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol. 1868, pp. 165–180. Springer, Heidelberg (2000)

    Google Scholar 

  29. Sanjabi, S., Pommereau, F.: Modelling, verification, and formal analysis of security properties in a P2P system. In: Proceedings of COLSEC 2010. IEEE Digital Library. IEEE Computer Society (2010)

    Google Scholar 

  30. Van Pham, V.: Modelling and analysing open reconfigurable systems. Ph.D. thesis, Univ. Évry / Paris-Saclay (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franck Pommereau .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Pommereau, F. (2015). SNAKES: A Flexible High-Level Petri Nets Library (Tool Paper). In: Devillers, R., Valmari, A. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2015. Lecture Notes in Computer Science(), vol 9115. Springer, Cham. https://doi.org/10.1007/978-3-319-19488-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-19488-2_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-19487-5

  • Online ISBN: 978-3-319-19488-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics