Skip to main content

Functional Languages in Design of Coloured Petri Nets Models

  • Chapter
  • First Online:
Central European Functional Programming School (CEFP 2015)

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

Included in the following conference series:

  • 311 Accesses

Abstract

Coloured Petri nets are a formal method that allows to create sophisticated event-driven models. In addition, there exists a software tool, called CPN Tools, which provides a support for creation, simulation and state space-based verification of CPN models. An interesting feature of CPN Tools is that it uses CPN ML, a slightly modified version of the SML functional language, for data manipulation. In this chapter we describe basic concepts of Coloured Petri nets (CPN), SML and CPN ML and by means of an example illustrate how CPN ML can be used to build a concrete, timed CPN model from an abstract, low-level Petri net model in such a way that the structure of the abstract model is preserved. We also explore possibilities of already existing SML code utilization in CPN models.

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

    In fact, Petri invented the formalism more than 20 years earlier, in August 1939, when he used it to describe chemical processes [12].

  2. 2.

    In high-level PN.

  3. 3.

    This is indicated by the thick frame around the transition in Fig. 1.

  4. 4.

    In CPN ML the operator is replaced by , because is reserved for so-called delay expressions.

  5. 5.

    As defined in Sect. 3.4.

  6. 6.

    See Sect. 5.3 for details.

  7. 7.

    We can use any pair of values, the first one is always for true and the second one for false.

  8. 8.

    In fact, if there are two or more arcs, they can be always replaced by one.

  9. 9.

    Assuming the ordering p1, p2, p3, p4 of places. The symbol \(\emptyset \) denotes an empty multiset.

References

  1. Desel, J., Reisig, W.: Place/transition Petri Nets. In: Reisig, W., Rozenberg, G. (eds.) ACPN 1996. LNCS, vol. 1491, pp. 122–173. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-65306-6_15

    Chapter  MATH  Google Scholar 

  2. Gilmore, S.: Programming in standard Ml 1997: a tutorial introduction. Technical report, Laboratory for Foundations of Computer Science, The University of Edinburgh, January 2003. http://homepages.inf.ed.ac.uk/stg/NOTES/notes.pdf

  3. Harper, R.: Programming in Standard ML. Carnegie Mellon University, Pittsburgh (2011). http://www.cs.cmu.edu/~rwh/smlbook/book.pdf

  4. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1. Springer, Heidelberg (1997)

    Book  Google Scholar 

  5. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 2. Springer, Heidelberg (1997)

    Book  Google Scholar 

  6. Jensen, K.: An introduction to the theoretical aspects of coloured Petri Nets. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1993. LNCS, vol. 803, pp. 230–272. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58043-3_21

    Chapter  Google Scholar 

  7. Jensen, K.: Coloured Petri Nets - Basic Concepts, Analysis Methods and Practical Use, vol. 3. Springer, Heidelberg (1997). https://doi.org/10.1007/978-3-642-60794-3

    Book  MATH  Google Scholar 

  8. Jensen, K., Kristensen, L.M.: Coloured Petri Nets: Modelling and Validation of Concurrent Systems. Springer, Heidelberg (2009). https://doi.org/10.1007/b95112

    Book  MATH  Google Scholar 

  9. Korečko, Š., Sobota, B.: Building parallel raytracing simulation model with Petri nets and B-method. In: Proceedings of Eurosim 2010, Praha, Česká republika (2010)

    Google Scholar 

  10. Korečko, Š., Sobota, B.: Using coloured petri nets for design of parallel raytracing environment. Acta Universitatis Sapientiae. Informatica 2(1), 28–39 (2010)

    Google Scholar 

  11. Milner, R., Tofte, M., Macqueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997). http://sml-family.org/sml97-defn.pdf

    Book  Google Scholar 

  12. Petri, C.A., Reisig, W.: Petri net. Scholarpedia 3(4), 6477 (2008). http://www.scholarpedia.org/article/Petri_net

    Article  Google Scholar 

  13. Stansifer, R.: The SML program: heap.sml (2015). http://cs.fit.edu/~ryan/sml/programs/heap-sml.html

  14. Ullman, J.D.: Elements of ML Programming, ML97 Edition, 2nd edn. Prentice Hall, Upper Saddle River (1998)

    Google Scholar 

  15. CPN Tools (2015). http://cpntools.org/

  16. MLton (2015). http://mlton.org/

  17. Poly/ML (2015). http://www.polyml.org/

  18. Standard ML Basis Library (2015). http://sml-family.org/Basis/

  19. Standard ML of New Jersey (2015). http://www.smlnj.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Štefan Korečko .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Korečko, Š. (2019). Functional Languages in Design of Coloured Petri Nets Models. In: Zsók, V., Porkoláb, Z., Horváth, Z. (eds) Central European Functional Programming School. CEFP 2015. Lecture Notes in Computer Science(), vol 10094. Springer, Cham. https://doi.org/10.1007/978-3-030-28346-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-28346-9_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-28345-2

  • Online ISBN: 978-3-030-28346-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics