Teaching Coloured Petri Nets: Examples of Courses and Lessons Learned

  • Søren Christensen
  • Jens Bæk Jørgensen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3098)


In this paper, we describe and discuss three different courses in which Coloured Petri Nets (CPN) is used: (1) an introductory course on distributed systems and network protocols; (2) an advanced course on CPN; (3) a course on industrial application of CPN. Courses (1) and (2) are taught at the Department of Computer Science, University of Aarhus and course (3) is given for professional software engineers. For each course, we briefly present contents, format, and role of CPN. Then we describe a number of lessons learned from teaching the three courses. We have two aims in mind: In the first place, we want to share our specific experiences with other teachers. Secondly, we want to contribute to a more general discussion and exchange of ideas on Petri nets and education.


Home Page Network Protocol Teaching Assistant Object Management Group Computer Science Student 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alur, R., Dill, D.: Automata for Modelling Real-Time Systems. Theoretical Computer Science 126(2), 183–236 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Berthelot, G., Petrucci, L.: Specification and Validation of a Concurrent System: an Educational Project. Software Tools for Technology Transfer 3(4), 372–381 (2001)zbMATHGoogle Scholar
  3. 3.
    Boyle, R., Evangelidis, G. (eds.): Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education, Thessaloniki, Greece (2003)Google Scholar
  4. 4.
    Christensen, S., Jørgensen, J.B.: Analysing Bang & Olufsen’s BeoLink Audio/ Video System Using Coloured Petri Nets. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 387–406. Springer, Heidelberg (1997)Google Scholar
  5. 5.
    Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-Line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Christensen, S., Mortensen, K.H.: Teaching Coloured Petri Nets – A Gentle Introduction to Formal Methods in a Distributed Systems Course. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 290–309. Springer, Heidelberg (1997)Google Scholar
  7. 7.
    Coulouris, G., Dollimore, J., Kindberg, T.: Distributed Systems – Concepts and Design. Addison-Wesley, Reading (2001)Google Scholar
  8. 8.
    Jensen, K. (ed.): Proceedings of the 3rd CPN Workshop, CPN 2002. Technical report DAIMI PB-560, Department of Computer Science, University of Aarhus (2002)Google Scholar
  9. 9.
    Jensen, K.: Coloured Petri Nets and the Invariant Method. Theoretical Computer Science 14, 317–336 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Jensen, K.: Coloured Petri Nets – Basic Concepts, Analysis Methods and Practical Use, Vol. 1, Basic Concepts. Monographs in Theoretical Computer Science, An EATCS Series. Springer, Heidelberg (1992)Google Scholar
  11. 11.
    Jensen, K.: Coloured Petri Nets – Basic Concepts, Analysis Methods and Practical Use, Vol. 2, Analysis Methods. Monographs in Theoretical Computer Science, An EATCS Series. Springer, Heidelberg (1994)Google Scholar
  12. 12.
    Jensen, K., Schmidt, E.M.: Pascal Semantics by a Combination of Denotational Semantics and High-level Petri Nets. In: Rozenberg, G. (ed.) APN 1985. LNCS, vol. 222, pp. 297–329. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  13. 13.
    Jørgensen, J.B., Bossen, C.: Requirements Engineering for a Pervasive Health Care System. In: Proceedings of the IEEE International Requirements Engineering Conference (RE 2003), Monterey Bay, California, pp. 55–64. IEEE, Los Alamitos (2003)Google Scholar
  14. 14.
    Jørgensen, J.B., Christensen, S.: Executable Design Models for a Pervasive Healthcare Middleware System. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 140–149. Springer, Heidelberg (2002)Google Scholar
  15. 15.
    Kristensen, L.M., Christensen, S., Jensen, K.: The Practitioner’s Guide to Coloured Petri Nets. International Journal on Software Tools for Technology Transfer 2(2), 98–132 (1998)zbMATHCrossRefGoogle Scholar
  16. 16.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  17. 17.
    Milner, R., Harper, R., Tofte, M.: The Definition of Standard ML. MIT Press, Cambridge (1990)Google Scholar
  18. 18.
    Monvelet, G., Christensen, S., Demmou, H., Paludetto, M., Porras, J.: Analysing a Mechatronic System with Coloured Petri Nets. Software Tools for Technology Transfer 2(2), 160–167 (1998)CrossRefGoogle Scholar
  19. 19.
    OMG Unified Modeling Language Specification, Version 1.4. Object Management Group (OMG); UML Revision Taskforce (2001)Google Scholar
  20. 20.
    Rasmussen, J.L., Singh, M.: Designing a Security System by Means of Colored Petri Nets. In: Billington, J., Reisig, W. (eds.) ICATPN 1996. LNCS, vol. 1091, pp. 400–419. Springer, Heidelberg (1996)Google Scholar
  21. 21.
    Ratzer, A.V., Wells, L., Lassen, H.M., Laursen, M., Qvortrup, J.F., Stissing, M.S., Westergaard, M., Christensen, S., Jensen, K.: CPN Tools for Editing, Simulating, and Analysing Coloured Petri Nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 450–462. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  22. 22.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)Google Scholar
  23. 23.
    Stallings, W.: Data & Computer Communications, Sixth Edition. Prentice-Hall, Englewood Cliffs (2000)Google Scholar
  24. 24.
    Tanenbaum, A.S.: Modern Operating Systems. Prentice-Hall, Englewood Cliffs (1992)zbMATHGoogle Scholar
  25. 25.
    Valmari, A.: A Stubborn Attack on State Explosion. Formal Methods in System Design 1, 297–322 (1992)zbMATHCrossRefGoogle Scholar
  26. 26.
    Home page of the CPN Group at the University of Aarhus,
  27. 27.
    Home page of Design/CPN,
  28. 28.
    Home page of Kurt Jensen,
  29. 29.
    Home page of ACM Curricula Recommendations,
  30. 30.
    Home page of CPN Tools,
  31. 31.
    Home page of 3rd CPN Workshop, CPN 2002,
  32. 32.
    Home page of Department of Computer Science, University of Aarhus,
  33. 33.
    Home page of Distributed Systems Course, (in Danish)

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Søren Christensen
    • 1
  • Jens Bæk Jørgensen
    • 1
  1. 1.Department of Computer ScienceUniversity of AarhusAarhus NDenmark

Personalised recommendations