Teaching Coloured Petri Nets — a gentle introduction to formal methods in a distributed systems course

  • Søren Christensen
  • Kjeld H. Mortensen
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1248)


This paper is about the two compulsory project assignments set to the students in an undergraduate course on distributed systems. In the first assignment the students design and validate a non-trivial layered protocol by means of Coloured Petri Nets, and in the second they implement the designed protocol in an object-oriented language. From the two assignments the students experience that Coloured Petri Nets, as a formal method, are useful for designing and analysing distributed systems. In the course students are introduced to basic concepts and techniques for distributed systems, and it is explained that such systems are often too complex to manage without using formal methods. In this paper we also report on our experience with teaching the course and describe the didactic methods applied. Based on the obtained experience we conclude that the combination of distributed systems and Coloured Petri Nets is fruitful — the two areas complement each other. Although our experiences origin in Coloured Petri Nets, we believe that many of our observations hold for other formal methods as well.


Educational issues related to nets Coloured Petri Nets distributed systems experience with using nets, case studies applications of nets to protocols 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    W. Brauer, editor. Net Theory and Applications: Proceedings of the Advanced Course on General Net Theory of Processes and Systems, Volume 84 of Lecture Notes in Computer Science, Hamburg, October 1979. Springer-Verlag.Google Scholar
  2. 2.
    Coloured Petri Nets at the Computer Science Department, University of Aarhus, Denmark. World-Wide Web: http://www.daimi.aau.dk/CPnets/.Google Scholar
  3. 3.
    Design/CPN Online. World-Wide Web: http://www.daimi.aau.dk/designCPN/.Google Scholar
  4. 4.
    W. Feurzeig, G. Lukas, and J.D. Lukas. The LOGO Language: Learning Mathematics Through Programming. Entelek, Inc., Portsmouth, NH, 1977.Google Scholar
  5. 5.
    K. Grønbæk and R.H. Trigg. Design Issues for a Dexter-based Hypermedia System. Communications of the ACM, Vol. 37, 2, 1994.Google Scholar
  6. 6.
    International Telecommunication Union; Telecommunication Standardization Sector (ITU-T). ITU-T Recommendation Z.120: Message Sequence Chart, Geneva, Switzerland, 1993.Google Scholar
  7. 7.
    M. Jantzen. Structured Representation of Knowledge by Petri Nets as an Aid for Teaching and Research. In Brauer [1], pages 507–517.Google Scholar
  8. 8.
    K. Jensen. Coloured Petri Nets — Basic Concepts, Analysis Methods and Practical Use. Volume 3, Practical Use. To be published by Springer-Verlag.Google Scholar
  9. 9.
    K. Jensen. Coloured Petri Nets — Basic Concepts, Analysis Methods and Practical Use. Volume 1, Basic Concepts. Monographs in Theoretical Computer Science. Springer-Verlag, 1992.Google Scholar
  10. 10.
    K. Jensen. Coloured Petri Nets — Basic Concepts, Analysis Methods and Practical Use. Volume 2, Analysis Methods. Monographs in Theoretical Computer Science. Springer-Verlag, 1994.Google Scholar
  11. 11.
    K. Jensen, S. Christensen, P. Huber, and M. Holla. Design/CPN Reference Manual. Computer Science Department, University of Aarhus, Denmark, 1996. Available from [3].Google Scholar
  12. 12.
    T.A. Joseph and K.P. Birman. Reliable Broadcast Protocols. In S. Mullender, editor, Distributed Systems, Frontier Series, chapter 14, pages 293–318. ACM Press, 1989.Google Scholar
  13. 13.
    N.A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, Inc., 1996.Google Scholar
  14. 14.
    O.L. Madsen, B. Møller-Pedersen, and K. Nygaard. Object-oriented Programming in the BETA Programming Language. Addison Wesley, 1993. World-Wide Web: http://www.mjolner.com/.Google Scholar
  15. 15.
    H. Oberquelle. In Teaching and in Terminology Work. In Brauer [1], pages 481–506.Google Scholar
  16. 16.
    L.C. Paulson. ML for the Working Programmer (2nd Edition). Cambridge University Press, 1996.Google Scholar
  17. 17.
    A.S. Tanenbaum. Modern Operating Systems. Prentice-Hall International, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Søren Christensen
    • 1
  • Kjeld H. Mortensen
    • 1
  1. 1.Computer Science DepartmentUniversity of AarhusAarhus CDenmark

Personalised recommendations