I was looking for a tool that would help me compare two BPMN processes easily. I know of BPMN.IO Diff project, however it looks like this is essentially based on the element IDs. From what I see, this only works to compare versions of the same initial process; and not two different processes that have been created separately.
Would you have any advice or entry point to develop such a capability? Or maybe an alternative project you know of? The use case is basically to compare differences between two processes that could be either variants of the main process, or simply two processes that have been created independently from each other.
Thank you for your help!
As I understand you ID based diffing as showcased by our diffing demo is not enough for you. In this case, you’d need to find another correlation key / similarity measure.
Basically, to perform a diff you need to find the pair of elements in both versions
B first. To do that you need some sort of correlation / similarity measure such as: If element
A and element
B are similar enough with
?, we consider them equal. A general approach to do this is to add up to a similarity score that you compute from various properties of each element, if above a certain threshold, is a measure for both elements are equal.
Hope that helps.
The question that remains is, why would you like to compare diagrams without correlating by ID? The ID is the identifier.