Closing the process mining circle with CPN IDE

CPN Tools is a tool that is well-known in the Petri net community. CPN Tools provides a mature environment for constructing, simulating, and performing analysis of CPN (Coloured Petri Net) models. CPN Tools consists of an ML-based CPN simulator (the back-end), and a CPN editor (the front-end) that has been developed in the BETA programming language using the Mjølner development system.

CPN Tools has been used extensively in courses both as an editor and as a simulator for both coloured Petri nets and (uncoloured) P/T nets (like workflow nets). These courses include our process mining courses, where CPN Tools is used as a Petri net editor next to our process mining tool ProM. As an example, we can first discover a Petri net from an event log with ProM, second we can edit the discovered Petri net using CPN Tools, and third we can replay the event log on the edited Petri net using again ProM.

Although the latest versions of CPN Tools are still working on recent operating systems like Windows 10, we foresee that at some point in the future changes have to be made to CPN Tools to keep it running, and that in particular changes to the CPN editor may be needed. The main problem with the current CPN editor is that the language and development system used for it (BETA and Mjølner) are rather uncommon and unlike other languages and systems. As a result, only a few people actually know how to change the current BETA-based CPN editor, and it is very hard to extend CPN Tools with new functionalities.

This problem of using the BETA language and the Mjølner system has already been acknowledged in the past and Access/CPN has been introduced to alleviate it. Access/CPN wraps the CPN simulator in a Java-based implementation of CPN models. As a result of this, Java programs can now easily embed the ML-based simulator.

As CPN Tools is used in courses on process mining at the TU/e, we did not want to wait until CPN Tools stops working due to new or updated operating systems. Therefore, we have developed a new tool called CPN IDE, that offers a new JavaScript-based CPN editor on top of Access/CPN. This CPN editor communicates through a REST interface with a Java-based controller that embeds Access/CPN and that is running as a Spring Boot server. When the CPN editor is started, the Spring Boot server with the controller is also started. As usual, Access/CPN will take care of starting an ML-based CPN simulator when needed.

As a result, CPN IDE can be extended either on the level of the CPN editor (using JavaScript) or on the level of the controller (using Java).

The goal of this master project is to close the circle in process mining by adding functionality to CPN IDE to generate XES event logs from models. As an example, this would allow us to create a model using CPN IDE, to create a XES event log from that model by simulating the model in CPN IDE, and to import and analyze this event log using ProM.


For more information, contact prof. Boudewijn van Dongen

Leave a Reply