Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/all.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const allRules = [
'no-implicit-split',
'no-implicit-start',
'no-inclusive-gateway',
'no-multi-instance-termination',
'no-overlapping-elements',
'single-blank-start-event',
'single-event-definition',
Expand Down
1 change: 1 addition & 0 deletions config/recommended.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = {
'no-implicit-end': 'error',
'no-implicit-start': 'error',
'no-inclusive-gateway': 'warn',
'no-multi-instance-termination': 'warn',
'no-overlapping-elements': 'warn',
'single-blank-start-event': 'error',
'single-event-definition': 'error',
Expand Down
1 change: 1 addition & 0 deletions docs/rules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ This library implements the following lint rules:
* [No Implicit Split](./no-implicit-split.md)
* [No Implicit End](./no-implicit-end.md)
* [No Inclusive Gateway](./no-inclusive-gateway.md)
* [No Multi-instance Termination](./no-multi-instance-termination.md)
* [No Overlapping Elements](./no-overlapping-elements.md)
* [Single Blank Start Event](./single-blank-start-event.md)
* [Single Event Definition](./single-event-definition.md)
Expand Down
113 changes: 113 additions & 0 deletions docs/rules/examples/no-multi-instance-termination-correct.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.53.0" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.4.0">
<bpmn:process id="Process" isExecutable="false">
<bpmn:subProcess id="Task_1">
<bpmn:multiInstanceLoopCharacteristics>
<bpmn:loopCardinality xsi:type="bpmn:tFormalExpression">3</bpmn:loopCardinality>
</bpmn:multiInstanceLoopCharacteristics>
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:parallelGateway id="Gateway_1">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:task id="Task_3" name="...">
<bpmn:incoming>Flow_2</bpmn:incoming>
</bpmn:task>
<bpmn:task id="Task_4">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="Event_5">
<bpmn:incoming>Flow_4</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="Event_3">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_137zzv5" />
</bpmn:endEvent>
<bpmn:boundaryEvent id="Event_0w3mzk0" attachedToRef="Task_4">
<bpmn:outgoing>Flow_5</bpmn:outgoing>
<bpmn:errorEventDefinition id="ErrorEventDefinition_0azct4x" />
</bpmn:boundaryEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Gateway_1" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Gateway_1" targetRef="Task_3" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Gateway_1" targetRef="Task_4" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_4" targetRef="Event_5" />
<bpmn:sequenceFlow id="Flow_5" sourceRef="Event_0w3mzk0" targetRef="Event_3" />
</bpmn:subProcess>
<bpmn:task id="Activity_04272ij">
<bpmn:incoming>Flow_0epvd51</bpmn:incoming>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_0epvd51" sourceRef="Event_1fvfv1y" targetRef="Activity_04272ij" />
<bpmn:boundaryEvent id="Event_1fvfv1y" attachedToRef="Task_1">
<bpmn:outgoing>Flow_0epvd51</bpmn:outgoing>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_0ri82a7" />
</bpmn:boundaryEvent>
</bpmn:process>
<bpmn:escalation id="ItemRejected" name="Item rejected" escalationCode="ITEM_REJECTED" />
<bpmndi:BPMNDiagram id="Diagram">
<bpmndi:BPMNPlane id="Plane" bpmnElement="Process">
<bpmndi:BPMNShape id="Activity_04272ij_di" bpmnElement="Activity_04272ij">
<dc:Bounds x="490" y="520" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_10w04b8" bpmnElement="Task_1" isExpanded="true">
<dc:Bounds x="160" y="110" width="430" height="370" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_072p593" bpmnElement="StartEvent_1">
<dc:Bounds x="205" y="232" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1om609q" bpmnElement="Gateway_1">
<dc:Bounds x="280" y="225" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_18rkr4y" bpmnElement="Task_3">
<dc:Bounds x="360" y="150" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1ciof75" bpmnElement="Task_4">
<dc:Bounds x="360" y="280" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_023fx0a" bpmnElement="Event_5">
<dc:Bounds x="507" y="302" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1nc7tt8_di" bpmnElement="Event_3">
<dc:Bounds x="472" y="402" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0726me6" bpmnElement="Event_0w3mzk0">
<dc:Bounds x="402" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_0iz7olg" bpmnElement="Flow_1">
<di:waypoint x="241" y="250" />
<di:waypoint x="280" y="250" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_083cifz" bpmnElement="Flow_2">
<di:waypoint x="305" y="225" />
<di:waypoint x="305" y="190" />
<di:waypoint x="360" y="190" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_14dg2w6" bpmnElement="Flow_3">
<di:waypoint x="305" y="275" />
<di:waypoint x="305" y="320" />
<di:waypoint x="360" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_0pyxrbx" bpmnElement="Flow_4">
<di:waypoint x="460" y="320" />
<di:waypoint x="507" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_00evs9g" bpmnElement="Flow_5">
<di:waypoint x="420" y="378" />
<di:waypoint x="420" y="420" />
<di:waypoint x="472" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Event_11lt88m_di" bpmnElement="Event_1fvfv1y">
<dc:Bounds x="402" y="462" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_0epvd51_di" bpmnElement="Flow_0epvd51">
<di:waypoint x="420" y="498" />
<di:waypoint x="420" y="560" />
<di:waypoint x="490" y="560" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.53.0">
<bpmn:process id="Process" isExecutable="false">
<bpmn:subProcess id="Task_1">
<bpmn:multiInstanceLoopCharacteristics>
<bpmn:loopCardinality xsi:type="bpmn:tFormalExpression">3</bpmn:loopCardinality>
</bpmn:multiInstanceLoopCharacteristics>
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:parallelGateway id="Gateway_1">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:task id="Task_3" name="...">
<bpmn:incoming>Flow_2</bpmn:incoming>
</bpmn:task>
<bpmn:task id="Task_4">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="Event_5">
<bpmn:incoming>Flow_4</bpmn:incoming>
</bpmn:endEvent>
<bpmn:boundaryEvent id="Event_0w3mzk0" attachedToRef="Task_4">
<bpmn:outgoing>Flow_5</bpmn:outgoing>
<bpmn:errorEventDefinition id="ErrorEventDefinition_1iq3xen" />
</bpmn:boundaryEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Gateway_1" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Gateway_1" targetRef="Task_3" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Gateway_1" targetRef="Task_4" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_4" targetRef="Event_5" />
<bpmn:sequenceFlow id="Flow_5" sourceRef="Event_0w3mzk0" targetRef="Event_3" />
<bpmn:endEvent id="Event_3">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_137zzv5" />
</bpmn:endEvent>
<bpmn:subProcess id="Activity_03fp7pf" triggeredByEvent="true">
<bpmn:startEvent id="Event_4">
<bpmn:outgoing>Flow_1li0u1i</bpmn:outgoing>
<bpmn:escalationEventDefinition id="EscalationEventDefinition_1fsorii" />
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1li0u1i" sourceRef="Event_4" targetRef="Event_13ylxgm" />
<bpmn:endEvent id="Event_13ylxgm">
<bpmn:incoming>Flow_1li0u1i</bpmn:incoming>
</bpmn:endEvent>
</bpmn:subProcess>
</bpmn:subProcess>
</bpmn:process>
<bpmndi:BPMNDiagram id="Diagram">
<bpmndi:BPMNPlane id="Plane" bpmnElement="Process">
<bpmndi:BPMNShape id="BPMNShape_10w04b8" bpmnElement="Task_1" isExpanded="true">
<dc:Bounds x="160" y="50" width="430" height="520" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_072p593" bpmnElement="StartEvent_1">
<dc:Bounds x="205" y="172" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1om609q" bpmnElement="Gateway_1">
<dc:Bounds x="280" y="165" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_18rkr4y" bpmnElement="Task_3">
<dc:Bounds x="360" y="90" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1ciof75" bpmnElement="Task_4">
<dc:Bounds x="360" y="220" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_023fx0a" bpmnElement="Event_5">
<dc:Bounds x="507" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1nc7tt8_di" bpmnElement="Event_3">
<dc:Bounds x="472" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0dva062_di" bpmnElement="Activity_03fp7pf" isExpanded="true">
<dc:Bounds x="190" y="410" width="200" height="120" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0wy0qcz_di" bpmnElement="Event_4">
<dc:Bounds x="230" y="452" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_13ylxgm_di" bpmnElement="Event_13ylxgm">
<dc:Bounds x="312" y="452" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1li0u1i_di" bpmnElement="Flow_1li0u1i">
<di:waypoint x="266" y="470" />
<di:waypoint x="312" y="470" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Event_097valf_di" bpmnElement="Event_0w3mzk0">
<dc:Bounds x="402" y="282" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_0iz7olg" bpmnElement="Flow_1">
<di:waypoint x="241" y="190" />
<di:waypoint x="280" y="190" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_083cifz" bpmnElement="Flow_2">
<di:waypoint x="305" y="165" />
<di:waypoint x="305" y="130" />
<di:waypoint x="360" y="130" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_14dg2w6" bpmnElement="Flow_3">
<di:waypoint x="305" y="215" />
<di:waypoint x="305" y="260" />
<di:waypoint x="360" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_0pyxrbx" bpmnElement="Flow_4">
<di:waypoint x="460" y="260" />
<di:waypoint x="507" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_00evs9g" bpmnElement="Flow_5">
<di:waypoint x="420" y="318" />
<di:waypoint x="420" y="360" />
<di:waypoint x="472" y="360" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
94 changes: 94 additions & 0 deletions docs/rules/examples/no-multi-instance-termination-incorrect.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.53.0" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.4.0">
<bpmn:process id="Process" isExecutable="false">
<bpmn:subProcess id="Task_1">
<bpmn:multiInstanceLoopCharacteristics>
<bpmn:loopCardinality xsi:type="bpmn:tFormalExpression">3</bpmn:loopCardinality>
</bpmn:multiInstanceLoopCharacteristics>
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:parallelGateway id="Gateway_1">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:task id="Task_3" name="...">
<bpmn:incoming>Flow_2</bpmn:incoming>
</bpmn:task>
<bpmn:task id="Task_4">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="Event_5">
<bpmn:incoming>Flow_4</bpmn:incoming>
</bpmn:endEvent>
<bpmn:boundaryEvent id="Event_0w3mzk0" attachedToRef="Task_4">
<bpmn:outgoing>Flow_5</bpmn:outgoing>
<bpmn:errorEventDefinition id="ErrorEventDefinition_069ep9e" />
</bpmn:boundaryEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Gateway_1" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Gateway_1" targetRef="Task_3" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Gateway_1" targetRef="Task_4" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_4" targetRef="Event_5" />
<bpmn:sequenceFlow id="Flow_5" sourceRef="Event_0w3mzk0" targetRef="Event_3" />
<bpmn:endEvent id="Event_3">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:terminateEventDefinition id="TerminateEventDefinition_083vkhk" />
</bpmn:endEvent>
</bpmn:subProcess>
</bpmn:process>
<bpmn:escalation id="ItemRejected" name="Item rejected" escalationCode="ITEM_REJECTED" />
<bpmndi:BPMNDiagram id="Diagram">
<bpmndi:BPMNPlane id="Plane" bpmnElement="Process">
<bpmndi:BPMNShape id="BPMNShape_10w04b8" bpmnElement="Task_1" isExpanded="true">
<dc:Bounds x="160" y="110" width="430" height="370" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_072p593" bpmnElement="StartEvent_1">
<dc:Bounds x="205" y="232" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1om609q" bpmnElement="Gateway_1">
<dc:Bounds x="280" y="225" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_18rkr4y" bpmnElement="Task_3">
<dc:Bounds x="360" y="150" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1ciof75" bpmnElement="Task_4">
<dc:Bounds x="360" y="280" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_023fx0a" bpmnElement="Event_5">
<dc:Bounds x="507" y="302" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1yw8exm_di" bpmnElement="Event_3">
<dc:Bounds x="472" y="402" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1hc2n6l" bpmnElement="Event_0w3mzk0">
<dc:Bounds x="402" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_0iz7olg" bpmnElement="Flow_1">
<di:waypoint x="241" y="250" />
<di:waypoint x="280" y="250" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_083cifz" bpmnElement="Flow_2">
<di:waypoint x="305" y="225" />
<di:waypoint x="305" y="190" />
<di:waypoint x="360" y="190" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_14dg2w6" bpmnElement="Flow_3">
<di:waypoint x="305" y="275" />
<di:waypoint x="305" y="320" />
<di:waypoint x="360" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_0pyxrbx" bpmnElement="Flow_4">
<di:waypoint x="460" y="320" />
<di:waypoint x="507" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_00evs9g" bpmnElement="Flow_5">
<di:waypoint x="420" y="378" />
<di:waypoint x="420" y="420" />
<di:waypoint x="472" y="420" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/rules/no-multi-instance-termination.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# No Multi-instance Termination (no-multi-instance-termination)

Warns when a terminate end event is used inside a multi-instance subprocess.
The semantics (terminate only the current iteration) are not obvious to non-BPMN experts.

Example of __incorrect__ usage for this rule:
Comment thread
nikku marked this conversation as resolved.
Resolved

![Terminate event inside a multi-instance subprocess](./examples/no-multi-instance-termination-incorrect.png)

Cf. [`no-multi-instance-termination-incorrect.bpmn`](./examples/no-multi-instance-termination-incorrect.bpmn).

Example of __correct__ usage, canceling all iterations:

![Interrupting escalation boundary event](./examples/no-multi-instance-termination-correct.png)

Cf. [`no-multi-instance-termination-correct.bpmn`](./examples/no-multi-instance-termination-correct.bpmn).

Example of __correct__ usage, canceling one iteration:

![Interrupting escalation event subprocess](./examples/no-multi-instance-termination-event-subprocess-correct.png)

Cf. [`no-multi-instance-termination-event-subprocess-correct.bpmn`](./examples/no-multi-instance-termination-event-subprocess-correct.bpmn).
Loading
Loading