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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
World of Petri Nets: Homepage of the International Petri Net Community (1999), http://www.daimi.aau.dk/PetriNets/
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)
CPN group at the University of Aarhus in Denmark. Design/CPN – Computer Tool for Coloured Petri Nets (1999), http://www.daimi.aau.dk/designCPN/
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)
Jensen, K.: Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. Springer, Heidelberg (1997) (Three Volumes)
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
Jones, M.P.: A prototype implementation of extensible records for Hugs. Part of the documentation for Hugs (March 1997), http://www.haskell.org/hugs/
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
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)
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)
Reisig, W.: Petri Nets, An Introduction. EATCS, Monographs on Theoretical Computer Science. Springer, Heidelberg (1995)
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
Stoye, W.: Message-Based Functional Operating Systems. Science of Computer Programming 6, 291–311 (1986)
Theoretical Foundations Group, Department for Informatics, University of Hamburg. Renew — The Reference Net Workshop (1999), http://www.renew.de/
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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