Process Tree Difference Calculation and Visualization

While most process-models are saved as (unordered) sets of nodes and arcs, other approaches save process models as trees where arcs are not explicit, but derived from the semantic of the tree structure. This has many advantages, especially when dealing with change operations such insert, delete, or move, because nor reasoning about correct arc insertion or removal is necessary, and syntactic consistency is always ensured (i.e. no syntactic errors can occur). While calculating the difference between two sets is trivial, calculating the difference between two (inherently ordered) trees is a bit more difficult. For both cases, considering semantic aspects is very difficult (but potentially more performant and easier in the case of trees due to the locality of the problem).

The purpose of this bachelor thesis is to, based on an existing BPMN process tree notation and implementation (, as well as based on existing literature dealing with XML tree difference algorithms, create an advance semantic diff algorithm that can serve as a basis for visualizing differences between process trees. The algorithm has to automatically detect insert, delete and move operations. *vi* users preferred.

Contact: bachelor.i17 [at]