Skip to main content

Tools for Curry-Coloured Petri Nets

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

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

  • 700 Accesses

Abstract

The Curry-coloured Petri net (CCPN) simulation combines Petri nets with the purely functional logic programming language Curry. The most notable aspects of the CCPN simulator are the absence of side effects, the use of logic program evaluation for the transition binding search and a concurrent simulation. Furthermore, the inscribed programs can be non-deterministic.

In this contribution we present the tools that were developed so far: simulator, editor, reachability graph and library.

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 EPUB and 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

Notes

  1. 1.

    We spell Coloured Petri net in its original form but otherwise use American English.

  2. 2.

    A guide and the resources for the installation of the CCPN tool set can be found at https://git.informatik.uni-hamburg.de/tgipublic/ccpn/ccpn/wikis/pn19.

  3. 3.

    The occurrence of Java exceptions breaks this assumption which is a problem.

  4. 4.

    A monad is a versatile Haskell type class that can be implemented by specific data types. It is used by the CCPN simulator to offer simulation actions that operate on a simulation state and are easy to combine and mix with user-provided pure code. The properties of monads guarantee that this can be achieved without directly exposing the simulation state and its implementation to the library user. The CCPN simulator provides multiple monad data types that encapsulate different aspects of the simulation state. The high-level monad type in the SimulationMonad module additionally encapsulates the IO side effects in the compilation of CCPN inscriptions. See [16] for a detailed introduction to monads.

  5. 5.

    It offers a monad transformer that forms a monad based on any instance type given by the library user. This can be used to explore multiple markings for the same simulation steps instead of just a single simulation trace at a time.

References

  1. Albert, E., Hanus, M., Huch, F., Oliver, J., Vidal, G.: Operational semantics for declarative multi-paradigm languages. J. Symb. Comput. 40(1), 795–829 (2005)

    Article  MathSciNet  Google Scholar 

  2. Antoy, S., Hanus, M., Libby, S.: Proving non-deterministic computations in agda. In: Proceedings of WFLP 2016. Electronic Proceedings in Theoretical Computer Science, vol. 234, pp. 180–195. Open Publishing Association (2017)

    Google Scholar 

  3. BraĂŸel, B., Hanus, M., Peemöller, B., Reck, F.: KiCS2: a new compiler from curry to Haskell. In: Kuchen, H. (ed.) WFLP 2011. LNCS, vol. 6816, pp. 1–18. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22531-4_1

    Chapter  Google Scholar 

  4. Delgado Friedrichs, F.: Referenznetze mit Anschriften in Scheme. Diploma thesis, University of Hamburg, Department of Informatics, September 2007

    Google Scholar 

  5. Hanus, M. (ed.): Curry: an integrated functional logic language (vers. 0.9.0) (2016). http://www.curry-language.org

  6. Hillah, L., Kindler, E., Kordon, F., Petrucci, L., Trèves, N.: A primer on the Petri Net Markup Language and ISO/IEC 15909–2. Petri Net Newsl. 76, 9–28 (2009)

    Google Scholar 

  7. Jensen, K.: Coloured Petri Nets: a high level language for system design and analysis. In: Rozenberg, G. (ed.) ICATPN 1989. LNCS, vol. 483, pp. 342–416. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-53863-1_31

    Chapter  Google Scholar 

  8. Jensen, K., Kristensen, L.M., Wells, L.: Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems. IJSTTT 9(3), 213–254 (2007)

    Google Scholar 

  9. Kristensen, L.M., Christensen, S.: Implementing Coloured Petri Nets using a functional programming language. High. Order Symb. Comput. 17(3), 207–243 (2004)

    Article  Google Scholar 

  10. Kummer, O., Wienberg, F., Duvigneau, M., Cabac, L., Haustermann, M., Mosteller, D.: Renew - The Reference Net Workshop, June 2016. http://www.renew.de/, release 2.5

  11. Kummer, O.: Referenznetze. Logos Verlag, Berlin (2002)

    Google Scholar 

  12. Reinke, C.: Haskell-Coloured Petri Nets. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol. 1868, pp. 165–180. Springer, Heidelberg (2000). https://doi.org/10.1007/10722298_10

    Chapter  Google Scholar 

  13. Simon, M., Moldt, D.: About the development of a Curry-Coloured Petri net simulator. In: Lorenz, R., Bergenthum, R. (eds.) AWPN 2018, pp. 53–54 (2018). https://opus.bibliothek.uni-augsburg.de/opus4/41861

  14. Simon, M.: Concept and implementation of distributed simulations in Renew. Bachelor thesis, University of Hamburg, Department of Informatics, March 2014

    Google Scholar 

  15. Simon, M.: Curry-Coloured Petri Nets: a concurrent simulator for Petri Nets with purely functional logic program inscriptions. Master thesis, University of Hamburg, Department of Informatics, April 2018

    Google Scholar 

  16. Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 2(4), 461–493 (1992)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Simon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Simon, M., Moldt, D., Schmitz, D., Haustermann, M. (2019). Tools for Curry-Coloured Petri Nets. In: Donatelli, S., Haar, S. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2019. Lecture Notes in Computer Science(), vol 11522. Springer, Cham. https://doi.org/10.1007/978-3-030-21571-2_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-21571-2_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-21570-5

  • Online ISBN: 978-3-030-21571-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics