Advertisement

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

  • Franck PommereauEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Petri nets library Prototyping Simulation Model-checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beazley, D.M., Fulton, W.: SWIG – Simplified Wrapper and Interface Generator. http://www.swig.org
  2. 2.
    Behnel, S., Bradshaw, R., Dalcín, L., Florisson, M., Makarov, V., Seljebotn, D.S.: Cython – C-extensions for Python. http://cython.org
  3. 3.
    Berthomieu, B., Vernadat, F.: Time Petri nets analysis with TINA. In: Proc. of QEST 2006. IEEE Computer Society (2006)Google Scholar
  4. 4.
    Best, E., Devillers, R., Koutny, M.: Petri net algebra. Springer (2001)Google Scholar
  5. 5.
    Bilgin, A., Ellson, J., Gansner, E., Hu, Y., North, S.: Graphviz – Graph Visualization Software. http://graphviz.org
  6. 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. 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. 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. 9.
    Evangeliste, S.: HELENA, a high level net analyzer. http://lipn.univ-paris13.fr/evangelista/helena
  10. 10.
    Free Software Foundation: GNU Lesser General Public License. http://www.gnu.org/licenses/lgpl.html
  11. 11.
    Fronc, Ł.: Neco net compiler. http://code.google.com/p/neco-net-compiler
  12. 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. 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. 14.
    Fronc, Ł., Pommereau, F.: Building Petri nets tools around Neco compiler. In: Proc. of PNSE 2013 (2013)Google Scholar
  15. 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. 16.
    Group, T.C.: CPN tools. http://cpntools.org
  17. 17.
    Haddad, S., Kordon, F., Petruci, L.: CosyVerif. http://cosyverif.org
  18. 18.
    Jensen, K., Kristensen, L.M.: Coloured Petri Nets, Monographs in Theoretical Computer Science, vol. 2. Springer (1997)Google Scholar
  19. 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. 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. 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. 22.
  23. 23.
    Pommereau, F.: Quickly prototyping Petri nets tools with SNAKES. Petri net newsletter 10 (2008)Google Scholar
  24. 24.
    Pommereau, F.: Quickly prototyping Petri nets tools with SNAKES. In: Proc. of PNTAP 2008. ACM Digital Library. ACM (2008)Google Scholar
  25. 25.
    Pommereau, F.: Nets in nets with SNAKES. In: Proc. of MOCA 2009. Universität Hamburg, Dept. Informatik, Hamburg (2009)Google Scholar
  26. 26.
    Pommereau, F.: Algebras of coloured Petri nets. Lambert Academic Publishing (2010)Google Scholar
  27. 27.
    Python Software Foundation: Alternative Python implementations. http://www.python.org/download/alternatives
  28. 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. 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. 30.
    Van Pham, V.: Modelling and analysing open reconfigurable systems. Ph.D. thesis, Univ. Évry / Paris-Saclay (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.IBISC, University of Évry/Paris-SaclayÉvry CedexFrance

Personalised recommendations