Process and Decision Modeling
The vision of this project is to research capabilities to separate process modeling and decision logic in multiple diagrams while both sides need to be linked properly for process execution.
Although it is not considered good practice, many process models from practice contain detailed decision logic, encoded through control flow structures. This often results in spaghetti-like and complex process models and reduces maintainability of the models. In this context, the OMG proposes to use the Decision Model and Notation (DMN) in combination with BPMN in order to reach a separation of concerns. We introduce a semi-automatic approach to (i) identify decision logic in process models, (ii) to derive a corresponding DMN model and to adapt the original process model by replacing the decision logic accordingly, and (iii) to allow final configurations of this result during post-processing. This approach enables business organizations to migrate already existing BPMN models. We evaluate this approach by implementation, semantic comparison of the decision taking process before and after approach application, and an empirical analysis of industry process models.
User Guide and Sources
The algorithm is implemented as a module for promnicat, a tool developed to perform analysis on large process model collections. In particular, we created the package for identifying the decision patterns of the input process model and developed the algorithm of integration of BPMN model with DMN model.
The steps of testing the approach are following:
- Download promnicat from here: https://code.google.com/p/promnicat/
- In the promnicat project, create the package "de.uni_potsdam.hpi.bpt.promnicat.analysis.bpmnDmn" and include the classes from here: bpmnDmn.zip.
- Use as input process model Pattern P3 - Sequence of Split Gateways Separated by an Activity: Pattern3.sgx. In
BPMNToDMN.java change the variable pathToSgxArchive so that it contains the path to the folder to which you downloaded the
- The algorithm will yield the detection of all the applicable patterns for the model, and the user has to choose one of them:
- For example, if the user chooses to apply the detected pattern number 3 (depicted with the red colour in the previous picture), the corresponding process and decision models are following:
Extracting Decision Logic from Process Models