BPMNspector-fixSeqFlow
February 16, 2015 ยท View on GitHub
Fixing Sequence Flow Issues in BPMN models.
Description
Using the BPMN 2.0 process model analysis tool BPMNspector revealed
that one of the most common mistakes in BPMN processes is a violation of a <sequenceFlow> constraint
(named EXT.023 in BPMNspector):
<process id="P1" name="A Basic Process" isExecutable="true">
<startEvent id="start" name="Start"></startEvent>
<sequenceFlow id="flow1" sourceRef="start" targetRef="task"></sequenceFlow>
<task id="task" name="Do The Work!"></task>
<sequenceFlow id="flow2" sourceRef="task" targetRef="end"></sequenceFlow>
<endEvent id="end" name="The End."></endEvent>
</process>
Although this process looks perfectly sound, the Standard Document (see here, p. 96-98) requires developers/tools to introduce some redundancy:
<process id="P1" name="A Basic Process" isExecutable="true">
<startEvent id="start" name="Start">
<outgoing>flow1</outgoing>
</startEvent>
<sequenceFlow id="flow1" sourceRef="start" targetRef="task"></sequenceFlow>
<task id="task" name="Do The Work!">
<incoming>flow1</incoming>
<outgoing>flow2</outgoing>
</task>
<sequenceFlow id="flow2" sourceRef="task" targetRef="end"></sequenceFlow>
<endEvent id="end" name="The End.">
<incoming>flow2</incoming>
</endEvent>
</process>
BPMNspector-fixSeqFlow adds the missing <incoming>/<outgoing> elements and creates a corrected
version of a given BPMN process file.
Requirements
BPMNspector-fixSeqFlow uses gradlew - therefore, only a Java 8 installation is needed. Download and configuration of needed libraries is performed on the fly.
- JDK 1.8.0 (or higher)
- JAVA_HOME should point to the jdk directory
- PATH should include JAVA_HOME/bin
Usage
To use BPMNspector-fixSeqFlow simply run the start script:
$ BPMNspector-fixSeqFlow fileToFix.bpmn
or
$ BPMNspector-fixSeqFlow folder/to/fix
*Note: All *.bpmn, *.bpmn2 and .bpmn20.xml in this and all subfolders will be analyzed and fixed.
If the file contains an error which can be fixed a copy of the file prefixed with fixed_ will be
created which contains the corrected process.
Licensing
LGPL Version 3: http://www.gnu.org/licenses/lgpl-3.0.html
Authors
Further Information
BPMNspector-fixSeqFlow and BPMNspector are part of ongoing research on BPMN process model quality. For further information visit the project web page at the University of Bamberg: http://www.uni-bamberg.de/pi/bpmn-constraints