Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems


This report will explain the article written by Kurt Jensen, Lars Michael Kristensen and Lisa Wells about the concept of Coloured Petri Nets and CPN Tools program used to perform this diagrams. This document called Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems and published at the International Journal on Software Tools for Technology Transfer (STTT) in 2007, explains what are CPN and all the elements that can appear in a model, also shows one of the programs to perform this type of schemas and different possible tools used to test and reproduce various procedures.

Kurt Jensen, professor in Department of Computer Science at Aarhus University since 1999, head of the Steering Committee for the International Petri net Community from 2004 to 2011. Lars Michael Kristensen, professor in Department of Computing at the Bergen University College since 2009, actual head of the Steering Committee for the International Petri net Community. And Lisa Wells, research and innovation specialist health IT lab, administrator of the projects Denmark as a telemedicine pioneer country and URB Grade.

Context of the work

At the moment of representing the process followed by a system along its procedure, a graphical representation is one of the best choices to plot it. The Petri Net, defined in the 60’s by Carl Adam Petri, confers a user to show in a different way the representation of all the steps followed in the performance of a system. Coloured Petri Net (CPN) is an improvement of the previous diagrams due to the fact that it is possible to distinguish between tokens and attach to them different values.

The problem of graphical representation has been present along the history, we have seen that some other standards have been created like Unified Modeling Language (UML), Business Process Model and Notation (BPMN) or Event-driven Process Chain (EPC). This standard offers a different way of showing the information and also has an advantage compared with the others shown previously: the fact that has a precise mathematical definition and a suitable process analysis theory.

In other words, at the moment of defining through a diagram the performance of a system introducing different parameters that can affect the behavior of each step as well as the response or the way to follow, CPN is one of the best ways to show all this characteristic in a very comprehensible and simplified manner.

Positioning and contributions

System engineering is the branch that embraces multiple activities as requirements engineering, design, implementation, testing and deployment. One way of fulfill this specifications, and specially to build an executable model to develop concurrent systems, is using CPN. CPN systems allow to the user to represent systems as a set of states and events, called transitions and that make the changes between states. CPN Tools is a program that makes possible to implement this type of diagrams and to make different analysis applying multiple variables and seeing each response of the system.

Test and visualize the different responses that a developed system performs is one of the crucial points to take into consideration at the moment of developing to see that satisfies all requirements and has the proper response depending on the different parameters inserted along the procedure. For testing purposes the user sets breackpoints to determine if the system follows the correct way and data collectors to check the values of all variables. Visualization is also a head problem to solve during the construction of a system, with that the user is able to have a global idea of the dimensions of the system and also of the relations between the different parts that are related along all the procedure.

This work developed by Kurt Jensen, Lars Michael Kristensen and Lisa Wells shows the way to represent a system through the CPN and also provides the basis to perform it using their own program CPN Tools to perform the visualization and the different tests in a proper manner.

Coloured Petri Nets

A CPN is a graphical drawing that contains different elements, distinguished by their shape and the info that contain. In the example shown in the following figure, we are going to explain the meaning of each element present in a basic CPN diagram.