Generalized Conformance Checking

Recently, we submitted a work to the BPM conference with the title “In Log and Model We Trust? – A Generalized Conformance Checking Framework”.
The work is dealing with a problem, where we are given a process log and a process model, but both can have errors. That is, we might have different degrees of trust in the correctness of each of the artifacts. Imagine a process model created by a novice, or not capturing the process in it’s entirety. In this situation we might want to pull the model closer to the behavior reflected in the log. Conversely, the log can also have anomalies, outliers, noise or missing entries. Then, we might have a lower degree of trust in the log and want to pull it more towards the modeled behavior.

The proposed approach solves both problems in one go, when it tries to find a model-log pair that is well-fitting each other, and also not too far away from the input model and input log (in terms of edit distance). We applied this general framework to the formalism of process trees as model representation and event logs.

The attached screencast shows the GeneralizedConformance plugin in Prom in action. Currently, it requires two inputs: a Process Tree model, and an Event Log. If you only have an Event Log, you can simply first mine a process tree, as shown in the screencast.

Temporal Anomaly Intervals

Recently, I was asked to provide the functionality to detect temporal anomalies outside of ProM. The idea is to use the information encoded in the stochastic Petri net models to determine outlier regions. A simple test is then enough to see whether a new observed duration is anomalous (e.g. falls into the category of the 5 % most extreme cases).

This short screencast shows how we can extract the anomaly intervals from a stochastic Petri net model. We can then use the output JSON file in conformance checking applications without bothering with the duration distributions of the activities in the process.