Pattern 8 (Merging)
FLASH animation of Merging pattern
Description
This pattern describes features for merging similar process models based on their commonalities, i.e. their iden- tical model elements. The result is a single merged model.
Purpose
To consolidate a family of similar process models (i.e. process variants) into a single "reference" process model, by removing redundancies.
Example
Fig. 8 shows the model resulting from merging the "Home Loan" and "Student Loan" modules in Fig. 6a.
Metrics
Decreases models. It also decreases repository size since redundancies among variants are minimized. However, the resulting reference model may be more complex.
Rationale
Consolidating a process family improves its un- derstandability, since a single model is kept instead of many variants. It also improves the maintainability of a repository, given that the total number of models is reduced [117], [65]. Removing redundancies helps decrease the risk of inconsis- tencies due to independent changes to the repository [117].
Realization
[111] proposes, but does not fully automate, an approach for merging block-structured Workflow nets by using a set of merge patterns between mapped tasks. [82] proposes a merging operator that takes two different EPCs each representing a specific process view, as well as a mapping of their correspondences, and produces a merged EPC. Since the models to be merged represent partial views of a same process, the resulting merged model allows the various views to be executed in parallel. [44] merges pairs of EPCs by performing the union of each of the two models. The nodes to be merged must have identical labels and the input EPCs must have single start and end events and no connector chains. This approach is operationalized as a ProM plug-in. [65] presents an algorithm to merge process variants into a configurable process model [102] where divergencies between common and variant-specific fragments are marked via configurable connectors. The mapping between two input variants relies on the similarity of their nodes' labels (including resource and object nodes) and of their graph structures. The algorithm is language-independent (it has been validated on BPMN and eEPC models) and has been implemented on the AProMoRe process model repository. Tools deriving from research initia- tives such as Greta [39] and VipTool [15] allow the automatic synthesis of a Petri net from a set of partially-ordered Petri nets (called Oclets in Greta). This is closely related to the topic of process mining where example behavior is folded within a single model [1]. [72] proposes to construct a single generic model from a set of model variants, such that the sum of the change distances between each variant and the generic model is minimal. This approach only works for block-structured process models with AND and XOR blocks and has been implemented on the MiniADEPT tool. The problem of maintaining merged EPCs has been explored in [97]. Here the authors propose an alternative (mostly manual) method which is applicable if the need for maintaining merged models is identified before the actual process modeling effort is started. Finally, [62] describes the requirements of a process merging tool for version conflict resolution. The aim is to assist modelers in resolving differences manually, by identifying changes via the technique in [61].