Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:rule:explicit_parallel_merge [2024-08-24 16:48] – removed - external edit (Unknown date) 127.0.0.1en:rule:explicit_parallel_merge [2024-09-26 13:54] (current) – [See also] Anatoly Belaychuk
Line 1: Line 1:
 +====== Make parallel merge explicit ======
  
 +{{tag>parallel_gateway sequence_flow terminate_event}}
 +
 +Use parallel gateway to merge parallel flows.
 +===== ✔ How to =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_0wh81hf">
 +    <parallelGateway id="Gateway_1lr33rv">
 +      <outgoing>Flow_0pflg82</outgoing>
 +      <outgoing>Flow_11hcs27</outgoing>
 +    </parallelGateway>
 +    <task id="Activity_0tagsl2">
 +      <incoming>Flow_0pflg82</incoming>
 +      <outgoing>Flow_09fat02</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0pflg82" sourceRef="Gateway_1lr33rv" targetRef="Activity_0tagsl2" />
 +    <task id="Activity_0bx18to">
 +      <incoming>Flow_11hcs27</incoming>
 +      <outgoing>Flow_0ibgzl7</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_11hcs27" sourceRef="Gateway_1lr33rv" targetRef="Activity_0bx18to" />
 +    <parallelGateway id="Gateway_05ml8y7">
 +      <incoming>Flow_09fat02</incoming>
 +      <incoming>Flow_0ibgzl7</incoming>
 +    </parallelGateway>
 +    <sequenceFlow id="Flow_09fat02" sourceRef="Activity_0tagsl2" targetRef="Gateway_05ml8y7" />
 +    <sequenceFlow id="Flow_0ibgzl7" sourceRef="Activity_0bx18to" targetRef="Gateway_05ml8y7" />
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0wh81hf">
 +      <bpmndi:BPMNShape id="Gateway_0lu3k7m_di" bpmnElement="Gateway_1lr33rv">
 +        <omgdc:Bounds x="185" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0tagsl2_di" bpmnElement="Activity_0tagsl2">
 +        <omgdc:Bounds x="290" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0bx18to_di" bpmnElement="Activity_0bx18to">
 +        <omgdc:Bounds x="290" y="210" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_15gcb5z_di" bpmnElement="Gateway_05ml8y7">
 +        <omgdc:Bounds x="445" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0pflg82_di" bpmnElement="Flow_0pflg82">
 +        <omgdi:waypoint x="210" y="145" />
 +        <omgdi:waypoint x="210" y="90" />
 +        <omgdi:waypoint x="290" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11hcs27_di" bpmnElement="Flow_11hcs27">
 +        <omgdi:waypoint x="210" y="195" />
 +        <omgdi:waypoint x="210" y="250" />
 +        <omgdi:waypoint x="290" y="250" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_09fat02_di" bpmnElement="Flow_09fat02">
 +        <omgdi:waypoint x="390" y="90" />
 +        <omgdi:waypoint x="470" y="90" />
 +        <omgdi:waypoint x="470" y="145" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0ibgzl7_di" bpmnElement="Flow_0ibgzl7">
 +        <omgdi:waypoint x="390" y="250" />
 +        <omgdi:waypoint x="470" y="250" />
 +        <omgdi:waypoint x="470" y="195" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +===== ✘ How NOT to =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_0wh81hf">
 +    <parallelGateway id="Gateway_1lr33rv">
 +      <outgoing>Flow_0pflg82</outgoing>
 +      <outgoing>Flow_11hcs27</outgoing>
 +    </parallelGateway>
 +    <task id="Activity_0tagsl2">
 +      <incoming>Flow_0pflg82</incoming>
 +      <outgoing>Flow_1xvw3ai</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0pflg82" sourceRef="Gateway_1lr33rv" targetRef="Activity_0tagsl2" />
 +    <task id="Activity_0bx18to">
 +      <incoming>Flow_11hcs27</incoming>
 +      <outgoing>Flow_1wiazjj</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_11hcs27" sourceRef="Gateway_1lr33rv" targetRef="Activity_0bx18to" />
 +    <task id="Activity_1j0sjh8">
 +      <incoming>Flow_1xvw3ai</incoming>
 +      <incoming>Flow_1wiazjj</incoming>
 +    </task>
 +    <sequenceFlow id="Flow_1xvw3ai" sourceRef="Activity_0tagsl2" targetRef="Activity_1j0sjh8" />
 +    <sequenceFlow id="Flow_1wiazjj" sourceRef="Activity_0bx18to" targetRef="Activity_1j0sjh8" />
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0wh81hf">
 +      <bpmndi:BPMNShape id="Activity_0tagsl2_di" bpmnElement="Activity_0tagsl2">
 +        <omgdc:Bounds x="290" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0lu3k7m_di" bpmnElement="Gateway_1lr33rv">
 +        <omgdc:Bounds x="185" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0bx18to_di" bpmnElement="Activity_0bx18to">
 +        <omgdc:Bounds x="290" y="210" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1j0sjh8_di" bpmnElement="Activity_1j0sjh8">
 +        <omgdc:Bounds x="440" y="130" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0pflg82_di" bpmnElement="Flow_0pflg82">
 +        <omgdi:waypoint x="210" y="145" />
 +        <omgdi:waypoint x="210" y="90" />
 +        <omgdi:waypoint x="290" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11hcs27_di" bpmnElement="Flow_11hcs27">
 +        <omgdi:waypoint x="210" y="195" />
 +        <omgdi:waypoint x="210" y="250" />
 +        <omgdi:waypoint x="290" y="250" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1xvw3ai_di" bpmnElement="Flow_1xvw3ai">
 +        <omgdi:waypoint x="390" y="90" />
 +        <omgdi:waypoint x="490" y="90" />
 +        <omgdi:waypoint x="490" y="130" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1wiazjj_di" bpmnElement="Flow_1wiazjj">
 +        <omgdi:waypoint x="390" y="250" />
 +        <omgdi:waypoint x="490" y="250" />
 +        <omgdi:waypoint x="490" y="210" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +Task with two incoming flows will be executed twice.
 +Probably this wasn't your intention.
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_0wh81hf">
 +    <parallelGateway id="Gateway_1lr33rv">
 +      <outgoing>Flow_0pflg82</outgoing>
 +      <outgoing>Flow_11hcs27</outgoing>
 +    </parallelGateway>
 +    <task id="Activity_0tagsl2">
 +      <incoming>Flow_0pflg82</incoming>
 +      <outgoing>Flow_1xvw3ai</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0pflg82" sourceRef="Gateway_1lr33rv" targetRef="Activity_0tagsl2" />
 +    <task id="Activity_0bx18to">
 +      <incoming>Flow_11hcs27</incoming>
 +      <outgoing>Flow_1wiazjj</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_11hcs27" sourceRef="Gateway_1lr33rv" targetRef="Activity_0bx18to" />
 +    <sequenceFlow id="Flow_1xvw3ai" sourceRef="Activity_0tagsl2" targetRef="Event_0u9u0r1" />
 +    <sequenceFlow id="Flow_1wiazjj" sourceRef="Activity_0bx18to" targetRef="Event_0u9u0r1" />
 +    <endEvent id="Event_0u9u0r1">
 +      <incoming>Flow_1xvw3ai</incoming>
 +      <incoming>Flow_1wiazjj</incoming>
 +    </endEvent>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0wh81hf">
 +      <bpmndi:BPMNShape id="Gateway_0lu3k7m_di" bpmnElement="Gateway_1lr33rv">
 +        <omgdc:Bounds x="185" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0tagsl2_di" bpmnElement="Activity_0tagsl2">
 +        <omgdc:Bounds x="290" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0bx18to_di" bpmnElement="Activity_0bx18to">
 +        <omgdc:Bounds x="290" y="210" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_0u9u0r1_di" bpmnElement="Event_0u9u0r1">
 +        <omgdc:Bounds x="442" y="152" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0pflg82_di" bpmnElement="Flow_0pflg82">
 +        <omgdi:waypoint x="210" y="145" />
 +        <omgdi:waypoint x="210" y="90" />
 +        <omgdi:waypoint x="290" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11hcs27_di" bpmnElement="Flow_11hcs27">
 +        <omgdi:waypoint x="210" y="195" />
 +        <omgdi:waypoint x="210" y="250" />
 +        <omgdi:waypoint x="290" y="250" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1xvw3ai_di" bpmnElement="Flow_1xvw3ai">
 +        <omgdi:waypoint x="390" y="90" />
 +        <omgdi:waypoint x="460" y="90" />
 +        <omgdi:waypoint x="460" y="152" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1wiazjj_di" bpmnElement="Flow_1wiazjj">
 +        <omgdi:waypoint x="390" y="250" />
 +        <omgdi:waypoint x="460" y="250" />
 +        <omgdi:waypoint x="460" y="190" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +Executing this model by BPMS would lead to misreporting - doubled number of end events.
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_0wh81hf">
 +    <parallelGateway id="Gateway_1lr33rv">
 +      <outgoing>Flow_0pflg82</outgoing>
 +      <outgoing>Flow_11hcs27</outgoing>
 +    </parallelGateway>
 +    <task id="Activity_0tagsl2">
 +      <incoming>Flow_0pflg82</incoming>
 +      <outgoing>Flow_1qqj5ba</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0pflg82" sourceRef="Gateway_1lr33rv" targetRef="Activity_0tagsl2" />
 +    <task id="Activity_0bx18to">
 +      <incoming>Flow_11hcs27</incoming>
 +      <outgoing>Flow_0zf0s6w</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_11hcs27" sourceRef="Gateway_1lr33rv" targetRef="Activity_0bx18to" />
 +    <endEvent id="Event_1ixsd2m">
 +      <incoming>Flow_1qqj5ba</incoming>
 +    </endEvent>
 +    <sequenceFlow id="Flow_1qqj5ba" sourceRef="Activity_0tagsl2" targetRef="Event_1ixsd2m" />
 +    <endEvent id="Event_19v7dpr">
 +      <incoming>Flow_0zf0s6w</incoming>
 +    </endEvent>
 +    <sequenceFlow id="Flow_0zf0s6w" sourceRef="Activity_0bx18to" targetRef="Event_19v7dpr" />
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0wh81hf">
 +      <bpmndi:BPMNShape id="Gateway_0lu3k7m_di" bpmnElement="Gateway_1lr33rv">
 +        <omgdc:Bounds x="185" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0tagsl2_di" bpmnElement="Activity_0tagsl2">
 +        <omgdc:Bounds x="290" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0bx18to_di" bpmnElement="Activity_0bx18to">
 +        <omgdc:Bounds x="290" y="210" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1ixsd2m_di" bpmnElement="Event_1ixsd2m">
 +        <omgdc:Bounds x="442" y="72" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_19v7dpr_di" bpmnElement="Event_19v7dpr">
 +        <omgdc:Bounds x="442" y="232" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0pflg82_di" bpmnElement="Flow_0pflg82">
 +        <omgdi:waypoint x="210" y="145" />
 +        <omgdi:waypoint x="210" y="90" />
 +        <omgdi:waypoint x="290" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11hcs27_di" bpmnElement="Flow_11hcs27">
 +        <omgdi:waypoint x="210" y="195" />
 +        <omgdi:waypoint x="210" y="250" />
 +        <omgdi:waypoint x="290" y="250" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1qqj5ba_di" bpmnElement="Flow_1qqj5ba">
 +        <omgdi:waypoint x="390" y="90" />
 +        <omgdi:waypoint x="442" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0zf0s6w_di" bpmnElement="Flow_0zf0s6w">
 +        <omgdi:waypoint x="390" y="250" />
 +        <omgdi:waypoint x="442" y="250" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +Similarly to previous example, BPMS would produce wrong reports with doubled number of end events.
 +===== Exceptions =====
 +
 +<bpmnio type="bpmn">
 +<?xml version="1.0" encoding="UTF-8"?>
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">
 +  <process id="Process_0wh81hf">
 +    <parallelGateway id="Gateway_1lr33rv">
 +      <outgoing>Flow_0pflg82</outgoing>
 +      <outgoing>Flow_11hcs27</outgoing>
 +    </parallelGateway>
 +    <task id="Activity_0tagsl2">
 +      <incoming>Flow_0pflg82</incoming>
 +      <outgoing>Flow_1qqj5ba</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0pflg82" sourceRef="Gateway_1lr33rv" targetRef="Activity_0tagsl2" />
 +    <task id="Activity_0bx18to">
 +      <incoming>Flow_11hcs27</incoming>
 +      <outgoing>Flow_0zf0s6w</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_11hcs27" sourceRef="Gateway_1lr33rv" targetRef="Activity_0bx18to" />
 +    <sequenceFlow id="Flow_1qqj5ba" sourceRef="Activity_0tagsl2" targetRef="Event_1ixsd2m" />
 +    <endEvent id="Event_19v7dpr">
 +      <incoming>Flow_0zf0s6w</incoming>
 +    </endEvent>
 +    <sequenceFlow id="Flow_0zf0s6w" sourceRef="Activity_0bx18to" targetRef="Event_19v7dpr" />
 +    <endEvent id="Event_1ixsd2m">
 +      <incoming>Flow_1qqj5ba</incoming>
 +      <terminateEventDefinition id="TerminateEventDefinition_1xhhzn4" />
 +    </endEvent>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0wh81hf">
 +      <bpmndi:BPMNShape id="Gateway_0lu3k7m_di" bpmnElement="Gateway_1lr33rv">
 +        <omgdc:Bounds x="185" y="145" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0tagsl2_di" bpmnElement="Activity_0tagsl2">
 +        <omgdc:Bounds x="290" y="50" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0bx18to_di" bpmnElement="Activity_0bx18to">
 +        <omgdc:Bounds x="290" y="210" width="100" height="80" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_19v7dpr_di" bpmnElement="Event_19v7dpr">
 +        <omgdc:Bounds x="442" y="232" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1n2y8k8_di" bpmnElement="Event_1ixsd2m">
 +        <omgdc:Bounds x="442" y="72" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0pflg82_di" bpmnElement="Flow_0pflg82">
 +        <omgdi:waypoint x="210" y="145" />
 +        <omgdi:waypoint x="210" y="90" />
 +        <omgdi:waypoint x="290" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_11hcs27_di" bpmnElement="Flow_11hcs27">
 +        <omgdi:waypoint x="210" y="195" />
 +        <omgdi:waypoint x="210" y="250" />
 +        <omgdi:waypoint x="290" y="250" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1qqj5ba_di" bpmnElement="Flow_1qqj5ba">
 +        <omgdi:waypoint x="390" y="90" />
 +        <omgdi:waypoint x="442" y="90" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0zf0s6w_di" bpmnElement="Flow_0zf0s6w">
 +        <omgdi:waypoint x="390" y="250" />
 +        <omgdi:waypoint x="442" y="250" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +Ending parallel branches without merge may make sense if one or more come to terminate or error event.
 +===== See also =====
 +
 +  * [[explicit_parallel_split]]
 +  * [[do_not_save_on_gateways]]
 +  * [[structured_diagram]]
 +
 +===== Author(s) =====
 +
 + --- //[[user:bell|Anatoly Belaychuk]] 2024-08-24 16:44//