Skip to main content

Haskell-Coloured Petri Nets

  • Conference paper
Implementation of Functional Languages (IFL 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1868))

Included in the following conference series:

Abstract

Colored Petri Nets (CPNs) are a high-level form of Petri Nets, in which transition inscriptions in some programming language operate on individual tokens, i.e., tokens attributed with values of the inscription language. Petri Nets have been known to combine well with functional inscription languages, but complex or even proprietary implementations have so far been obstacles to more widespread use. We show that such functional CPNs can have straightforward embeddings into their functional inscription languages.

As a concrete example, we introduce the variant of Haskell-Colored Petri Nets (HCPNs) and show that they have a simple mapping to Haskell. HCPNs are thus readily available for system modeling, possibly in preparation of system implementation in Haskell, following a process of stepwise refinement in which all intermediate specifications are executable Haskell programs. Similar mappings can be used to introduce functional Petri Nets as graphical specification languages on top of other functional languages.

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. World of Petri Nets: Homepage of the International Petri Net Community (1999), http://www.daimi.aau.dk/PetriNets/

  2. Aßmann, C.: Performance Results for an Implementation of the Process Coordination Language K2. In: Hammond, K., Davie, T., Clack, C. (eds.) IFL 1998. LNCS, vol. 1595, pp. 1–19. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  3. CPN group at the University of Aarhus in Denmark. Design/CPN – Computer Tool for Coloured Petri Nets (1999), http://www.daimi.aau.dk/designCPN/

  4. Hielscher, W., Urbszat, L., Reinke, C., Kluge, W.: On Modelling Train Traffic in a Model Train System. In: Proceedings of the Workshop and Tutorial on Practical Use of Coloured Petri Nets and Design/CPN, Aarhus, Denmark. Technical Report PB-532, Department of Computer Science, University of Aarhus (June 1998)

    Google Scholar 

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

    Google Scholar 

  6. Jensen, K.: Recommended Books and Papers on Coloured Petri Nets(1999); Includes links to online articles covering introductions, theory, and practice, http://www.daimi.aau.dk/~kjensen/papers_books/rec_papers_books.html

  7. Jones, M.P.: A prototype implementation of extensible records for Hugs. Part of the documentation for Hugs (March 1997), http://www.haskell.org/hugs/

  8. Jones, S.P., Hughes, J., Augustsson, L., Barton, D., Boutel, B., Burton, W., Fasel, J., Hammond, K., Hinze, R., Hudak, P., Johnsson, T., Jones, M., Launchbury, J., Meijer, E., Peterson, J., Reid, A., Runciman, C., Wadler, P.: Haskell 98: A Nonstrict, Purely Functional Language. Technical report (February 1999), Available at http://www.haskell.org

  9. Kluge, W.E.: A User’s Guide for the Reduction System π-RED+. Technical Report 9419, Institute of Computer Science and Applied Mathematics, Christian- Albrechts-University, Kiel (December 1994)

    Google Scholar 

  10. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2, Second Edition: New York: Griffiss Air Force Base, Technical Report RADC-TR-65-377, Vol.1, Pages: Suppl. 1, English translation (1962)

    Google Scholar 

  11. Reisig, W.: Petri Nets, An Introduction. EATCS, Monographs on Theoretical Computer Science. Springer, Heidelberg (1995)

    Google Scholar 

  12. Schepers, J.: Using Functional Languages for Process Specifications. In: Glaser, H., Hartel, P. (eds.) 3rd International Workshop on the Parallel Implementation of Functional Languages, Southampton, UK, June 5-7, pp. 89–102 (1991); Technical Report CSTR 91-07, University of Southampton

    Google Scholar 

  13. Stoye, W.: Message-Based Functional Operating Systems. Science of Computer Programming 6, 291–311 (1986)

    Article  MATH  Google Scholar 

  14. Theoretical Foundations Group, Department for Informatics, University of Hamburg. Renew — The Reference Net Workshop (1999), http://www.renew.de/

  15. Turner, D.: Functional Programming and Communicating Processes. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds.) PARLE 1987. LNCS, vol. 259. Springer, Heidelberg (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Reinke, C. (2000). Haskell-Coloured Petri Nets. In: Koopman, P., Clack, C. (eds) Implementation of Functional Languages. IFL 1999. Lecture Notes in Computer Science, vol 1868. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722298_10

Download citation

  • DOI: https://doi.org/10.1007/10722298_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67864-9

  • Online ISBN: 978-3-540-44658-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics