Process Conformance Checking using Python (BSc)



Alessandro Berti

Software Engineer


+49 241 80 21912



Process Conformance Checking using Python

Course Details

Language: The language of the course is English; therefore, all meetings and the written reports will be in English.


Process Mining is a growing branch of Data Science that focuses on analysing event data recorded in Information Systems, focusing on the process perspective.

Investments in Process Mining from public and private companies are steadily increasing, and are expected to more than double in the next five years.

Hence a good knowledge of Process Mining is an important skill for Data Scientists.

Conformance Checking is a part of Process Mining discipline and consists in techniques to compare the process model and the real behaviour recorded in an Information Systems to find commonalities and discrepancies. These may signal the need of better control of the process, or that the model needs to be improved to capture reality better. Common implementations of Conformance Checking on Information Systems are event listeners that trigger some kind of alert when deviations occur, or post-mortem analysis to detect fraudulent behaviour, for example violations of the Four Eyes Principle.

This Software Lab course includes tutorials describing the existing ProM Framework and Conformance checking techniques.

The course will use Python as the core language for implementation. It is expected that the students will follow the Software engineering principles during the course term.

Introductory Sessions

All the above topics will be introduced in brief. Participation is mandatory throughout the course. In the introductory sessions, topics will be assigned to the students and deadline for submitting the report and implementation will be discussed.

Groups will be formed to work on the assignments

Student work structure

Students will be required to understand and implement the assignment requirements in Python and provide proper visualizations. A proper SDLC lifecycle will be followed during this phase to track the development. The details of the methodology will be communicated in the introductory session.

A written report on the implementation, its advantages and issues should be produced individually by the students.


The grading will take into account the written report and the Python code implemented.


  • Software Engineering knowledge(Design, development and testing)
  • Prior programming experience. Not necessarily Java or Python.
  • Interest to learn and code in Python