Show pageOld revisionsBacklinksCopy this pageBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Don't use mixed gateways ====== {{tag>gateway mixed_gateway}} Gateways classification: * diverging (split) - one incoming flow, several outgoing flows * converging (join) - several incoming flows, one outgoing flow * mixed - several incoming flows and several outgoing flows Although mixed gateways are allowed it's better to avoid them. ===== ✔ How To ===== <bpmnio type="bpmn"> <?xml version="1.0" encoding="UTF-8"?> <bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" id="Definitions_0rf5t2r" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="14.0.0"> <bpmn:process id="Process_0jcgoyf" isExecutable="false"> <bpmn:startEvent id="StartEvent_1768r1t"> <bpmn:outgoing>Flow_1jordbm</bpmn:outgoing> </bpmn:startEvent> <bpmn:task id="Activity_0cluktb" name="Create bill"> <bpmn:incoming>Flow_1jordbm</bpmn:incoming> <bpmn:outgoing>Flow_1jm9oqt</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_1jordbm" sourceRef="StartEvent_1768r1t" targetRef="Activity_0cluktb" /> <bpmn:parallelGateway id="Gateway_0g36lb6"> <bpmn:incoming>Flow_1lg1tqn</bpmn:incoming> <bpmn:outgoing>Flow_1khoqyb</bpmn:outgoing> <bpmn:outgoing>Flow_0toczow</bpmn:outgoing> </bpmn:parallelGateway> <bpmn:task id="Activity_0bvkw53" name="Send by email"> <bpmn:incoming>Flow_1khoqyb</bpmn:incoming> <bpmn:outgoing>Flow_11mz79l</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_1khoqyb" sourceRef="Gateway_0g36lb6" targetRef="Activity_0bvkw53" /> <bpmn:task id="Activity_0qxhw3m" name="Send by airmail"> <bpmn:incoming>Flow_0toczow</bpmn:incoming> <bpmn:outgoing>Flow_00s8ucj</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_0toczow" sourceRef="Gateway_0g36lb6" targetRef="Activity_0qxhw3m" /> <bpmn:sequenceFlow id="Flow_11mz79l" sourceRef="Activity_0bvkw53" targetRef="Gateway_1rlhvyt" /> <bpmn:parallelGateway id="Gateway_1rlhvyt"> <bpmn:incoming>Flow_11mz79l</bpmn:incoming> <bpmn:incoming>Flow_00s8ucj</bpmn:incoming> <bpmn:outgoing>Flow_0znw93f</bpmn:outgoing> </bpmn:parallelGateway> <bpmn:sequenceFlow id="Flow_00s8ucj" sourceRef="Activity_0qxhw3m" targetRef="Gateway_1rlhvyt" /> <bpmn:task id="Activity_15ssh3b" name="Agree with the client"> <bpmn:incoming>Flow_0znw93f</bpmn:incoming> <bpmn:outgoing>Flow_0wcisla</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_0znw93f" sourceRef="Gateway_1rlhvyt" targetRef="Activity_15ssh3b" /> <bpmn:exclusiveGateway id="Gateway_13c67li" name="Agreed?"> <bpmn:incoming>Flow_0wcisla</bpmn:incoming> <bpmn:outgoing>Flow_1fiuctz</bpmn:outgoing> <bpmn:outgoing>Flow_0c7pvuu</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_0wcisla" sourceRef="Activity_15ssh3b" targetRef="Gateway_13c67li" /> <bpmn:endEvent id="Event_0pbbdwp" name="OK"> <bpmn:incoming>Flow_1fiuctz</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="Flow_1fiuctz" name="yes" sourceRef="Gateway_13c67li" targetRef="Event_0pbbdwp" /> <bpmn:exclusiveGateway id="Gateway_19y1h4n" name="Are objections reasonable?"> <bpmn:incoming>Flow_0c7pvuu</bpmn:incoming> <bpmn:outgoing>Flow_08y6k5p</bpmn:outgoing> <bpmn:outgoing>Flow_0cucewu</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_0c7pvuu" name="no" sourceRef="Gateway_13c67li" targetRef="Gateway_19y1h4n" /> <bpmn:task id="Activity_1e1ossc" name="Adjust bill"> <bpmn:incoming>Flow_08y6k5p</bpmn:incoming> <bpmn:outgoing>Flow_087oad2</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_08y6k5p" name="yes" sourceRef="Gateway_19y1h4n" targetRef="Activity_1e1ossc" /> <bpmn:sequenceFlow id="Flow_087oad2" sourceRef="Activity_1e1ossc" targetRef="Gateway_05vm8z0" /> <bpmn:endEvent id="Event_1nvvmu7" name="Not agreed"> <bpmn:incoming>Flow_0cucewu</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="Flow_0cucewu" name="no" sourceRef="Gateway_19y1h4n" targetRef="Event_1nvvmu7" /> <bpmn:exclusiveGateway id="Gateway_05vm8z0"> <bpmn:incoming>Flow_1jm9oqt</bpmn:incoming> <bpmn:incoming>Flow_087oad2</bpmn:incoming> <bpmn:outgoing>Flow_1lg1tqn</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_1jm9oqt" sourceRef="Activity_0cluktb" targetRef="Gateway_05vm8z0" /> <bpmn:sequenceFlow id="Flow_1lg1tqn" sourceRef="Gateway_05vm8z0" targetRef="Gateway_0g36lb6" /> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0jcgoyf"> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1768r1t"> <dc:Bounds x="152" y="242" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0cluktb_di" bpmnElement="Activity_0cluktb"> <dc:Bounds x="230" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0ik101c_di" bpmnElement="Gateway_0g36lb6"> <dc:Bounds x="465" y="235" width="50" height="50" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0bvkw53_di" bpmnElement="Activity_0bvkw53"> <dc:Bounds x="560" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0qxhw3m_di" bpmnElement="Activity_0qxhw3m"> <dc:Bounds x="560" y="350" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0yi6h4y_di" bpmnElement="Gateway_1rlhvyt"> <dc:Bounds x="705" y="235" width="50" height="50" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_15ssh3b_di" bpmnElement="Activity_15ssh3b"> <dc:Bounds x="790" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_13c67li_di" bpmnElement="Gateway_13c67li" isMarkerVisible="true"> <dc:Bounds x="925" y="235" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="929" y="292" width="42" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0pbbdwp_di" bpmnElement="Event_0pbbdwp"> <dc:Bounds x="1022" y="242" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="1032" y="285" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_19y1h4n_di" bpmnElement="Gateway_19y1h4n" isMarkerVisible="true"> <dc:Bounds x="925" y="115" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="915" y="85" width="70" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1e1ossc_di" bpmnElement="Activity_1e1ossc"> <dc:Bounds x="350" y="100" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1nvvmu7_di" bpmnElement="Event_1nvvmu7"> <dc:Bounds x="1022" y="122" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="1013" y="165" width="55" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_05vm8z0_di" bpmnElement="Gateway_05vm8z0" isMarkerVisible="true"> <dc:Bounds x="375" y="235" width="50" height="50" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="Flow_1jordbm_di" bpmnElement="Flow_1jordbm"> <di:waypoint x="188" y="260" /> <di:waypoint x="230" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1khoqyb_di" bpmnElement="Flow_1khoqyb"> <di:waypoint x="515" y="260" /> <di:waypoint x="560" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0toczow_di" bpmnElement="Flow_0toczow"> <di:waypoint x="490" y="285" /> <di:waypoint x="490" y="390" /> <di:waypoint x="560" y="390" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_11mz79l_di" bpmnElement="Flow_11mz79l"> <di:waypoint x="660" y="260" /> <di:waypoint x="705" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00s8ucj_di" bpmnElement="Flow_00s8ucj"> <di:waypoint x="660" y="390" /> <di:waypoint x="730" y="390" /> <di:waypoint x="730" y="285" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0znw93f_di" bpmnElement="Flow_0znw93f"> <di:waypoint x="755" y="260" /> <di:waypoint x="790" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0wcisla_di" bpmnElement="Flow_0wcisla"> <di:waypoint x="890" y="260" /> <di:waypoint x="925" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1fiuctz_di" bpmnElement="Flow_1fiuctz"> <di:waypoint x="975" y="260" /> <di:waypoint x="1022" y="260" /> <bpmndi:BPMNLabel> <dc:Bounds x="990" y="242" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0c7pvuu_di" bpmnElement="Flow_0c7pvuu"> <di:waypoint x="950" y="235" /> <di:waypoint x="950" y="165" /> <bpmndi:BPMNLabel> <dc:Bounds x="959" y="197" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_08y6k5p_di" bpmnElement="Flow_08y6k5p"> <di:waypoint x="925" y="140" /> <di:waypoint x="450" y="140" /> <bpmndi:BPMNLabel> <dc:Bounds x="679" y="122" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_087oad2_di" bpmnElement="Flow_087oad2"> <di:waypoint x="400" y="180" /> <di:waypoint x="400" y="235" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0cucewu_di" bpmnElement="Flow_0cucewu"> <di:waypoint x="975" y="140" /> <di:waypoint x="1022" y="140" /> <bpmndi:BPMNLabel> <dc:Bounds x="992" y="122" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1jm9oqt_di" bpmnElement="Flow_1jm9oqt"> <di:waypoint x="330" y="260" /> <di:waypoint x="375" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1lg1tqn_di" bpmnElement="Flow_1lg1tqn"> <di:waypoint x="425" y="260" /> <di:waypoint x="465" y="260" /> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> </bpmnio> ===== ✘ How NOT To===== <bpmnio type="bpmn"> <?xml version="1.0" encoding="UTF-8"?> <bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" id="Definitions_0rf5t2r" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="14.0.0"> <bpmn:process id="Process_0jcgoyf" isExecutable="false"> <bpmn:startEvent id="StartEvent_1768r1t"> <bpmn:outgoing>Flow_1jordbm</bpmn:outgoing> </bpmn:startEvent> <bpmn:task id="Activity_0cluktb" name="Create bill"> <bpmn:incoming>Flow_1jordbm</bpmn:incoming> <bpmn:outgoing>Flow_0mvc51i</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_1jordbm" sourceRef="StartEvent_1768r1t" targetRef="Activity_0cluktb" /> <bpmn:sequenceFlow id="Flow_0mvc51i" sourceRef="Activity_0cluktb" targetRef="Gateway_0g36lb6" /> <bpmn:parallelGateway id="Gateway_0g36lb6"> <bpmn:incoming>Flow_0mvc51i</bpmn:incoming> <bpmn:incoming>Flow_087oad2</bpmn:incoming> <bpmn:outgoing>Flow_1khoqyb</bpmn:outgoing> <bpmn:outgoing>Flow_0toczow</bpmn:outgoing> </bpmn:parallelGateway> <bpmn:task id="Activity_0bvkw53" name="Send by email"> <bpmn:incoming>Flow_1khoqyb</bpmn:incoming> <bpmn:outgoing>Flow_11mz79l</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_1khoqyb" sourceRef="Gateway_0g36lb6" targetRef="Activity_0bvkw53" /> <bpmn:task id="Activity_0qxhw3m" name="Send by airmail"> <bpmn:incoming>Flow_0toczow</bpmn:incoming> <bpmn:outgoing>Flow_00s8ucj</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_0toczow" sourceRef="Gateway_0g36lb6" targetRef="Activity_0qxhw3m" /> <bpmn:sequenceFlow id="Flow_11mz79l" sourceRef="Activity_0bvkw53" targetRef="Gateway_1rlhvyt" /> <bpmn:parallelGateway id="Gateway_1rlhvyt"> <bpmn:incoming>Flow_11mz79l</bpmn:incoming> <bpmn:incoming>Flow_00s8ucj</bpmn:incoming> <bpmn:outgoing>Flow_0znw93f</bpmn:outgoing> </bpmn:parallelGateway> <bpmn:sequenceFlow id="Flow_00s8ucj" sourceRef="Activity_0qxhw3m" targetRef="Gateway_1rlhvyt" /> <bpmn:task id="Activity_15ssh3b" name="Agree with the client"> <bpmn:incoming>Flow_0znw93f</bpmn:incoming> <bpmn:outgoing>Flow_0wcisla</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_0znw93f" sourceRef="Gateway_1rlhvyt" targetRef="Activity_15ssh3b" /> <bpmn:exclusiveGateway id="Gateway_13c67li" name="Agreed?"> <bpmn:incoming>Flow_0wcisla</bpmn:incoming> <bpmn:outgoing>Flow_1fiuctz</bpmn:outgoing> <bpmn:outgoing>Flow_0c7pvuu</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_0wcisla" sourceRef="Activity_15ssh3b" targetRef="Gateway_13c67li" /> <bpmn:endEvent id="Event_0pbbdwp" name="OK"> <bpmn:incoming>Flow_1fiuctz</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="Flow_1fiuctz" name="yes" sourceRef="Gateway_13c67li" targetRef="Event_0pbbdwp" /> <bpmn:exclusiveGateway id="Gateway_19y1h4n" name="Are objections reasonable?"> <bpmn:incoming>Flow_0c7pvuu</bpmn:incoming> <bpmn:outgoing>Flow_08y6k5p</bpmn:outgoing> <bpmn:outgoing>Flow_0cucewu</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="Flow_0c7pvuu" name="no" sourceRef="Gateway_13c67li" targetRef="Gateway_19y1h4n" /> <bpmn:task id="Activity_1e1ossc" name="Adjust bill"> <bpmn:incoming>Flow_08y6k5p</bpmn:incoming> <bpmn:outgoing>Flow_087oad2</bpmn:outgoing> </bpmn:task> <bpmn:sequenceFlow id="Flow_08y6k5p" name="yes" sourceRef="Gateway_19y1h4n" targetRef="Activity_1e1ossc" /> <bpmn:sequenceFlow id="Flow_087oad2" sourceRef="Activity_1e1ossc" targetRef="Gateway_0g36lb6" /> <bpmn:endEvent id="Event_1nvvmu7" name="Not agreed"> <bpmn:incoming>Flow_0cucewu</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="Flow_0cucewu" name="no" sourceRef="Gateway_19y1h4n" targetRef="Event_1nvvmu7" /> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0jcgoyf"> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1768r1t"> <dc:Bounds x="142" y="242" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0cluktb_di" bpmnElement="Activity_0cluktb"> <dc:Bounds x="220" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0ik101c_di" bpmnElement="Gateway_0g36lb6"> <dc:Bounds x="365" y="235" width="50" height="50" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0bvkw53_di" bpmnElement="Activity_0bvkw53"> <dc:Bounds x="460" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0qxhw3m_di" bpmnElement="Activity_0qxhw3m"> <dc:Bounds x="460" y="350" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_0yi6h4y_di" bpmnElement="Gateway_1rlhvyt"> <dc:Bounds x="605" y="235" width="50" height="50" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_15ssh3b_di" bpmnElement="Activity_15ssh3b"> <dc:Bounds x="690" y="220" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_13c67li_di" bpmnElement="Gateway_13c67li" isMarkerVisible="true"> <dc:Bounds x="825" y="235" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="829" y="292" width="42" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_0pbbdwp_di" bpmnElement="Event_0pbbdwp"> <dc:Bounds x="922" y="242" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="932" y="285" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Gateway_19y1h4n_di" bpmnElement="Gateway_19y1h4n" isMarkerVisible="true"> <dc:Bounds x="825" y="115" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="815" y="85" width="70" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_1e1ossc_di" bpmnElement="Activity_1e1ossc"> <dc:Bounds x="340" y="100" width="100" height="80" /> <bpmndi:BPMNLabel /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1nvvmu7_di" bpmnElement="Event_1nvvmu7"> <dc:Bounds x="922" y="122" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="913" y="165" width="55" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="Flow_1jordbm_di" bpmnElement="Flow_1jordbm"> <di:waypoint x="178" y="260" /> <di:waypoint x="220" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0mvc51i_di" bpmnElement="Flow_0mvc51i"> <di:waypoint x="320" y="260" /> <di:waypoint x="365" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1khoqyb_di" bpmnElement="Flow_1khoqyb"> <di:waypoint x="415" y="260" /> <di:waypoint x="460" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0toczow_di" bpmnElement="Flow_0toczow"> <di:waypoint x="390" y="285" /> <di:waypoint x="390" y="390" /> <di:waypoint x="460" y="390" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_11mz79l_di" bpmnElement="Flow_11mz79l"> <di:waypoint x="560" y="260" /> <di:waypoint x="605" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_00s8ucj_di" bpmnElement="Flow_00s8ucj"> <di:waypoint x="560" y="390" /> <di:waypoint x="630" y="390" /> <di:waypoint x="630" y="285" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0znw93f_di" bpmnElement="Flow_0znw93f"> <di:waypoint x="655" y="260" /> <di:waypoint x="690" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0wcisla_di" bpmnElement="Flow_0wcisla"> <di:waypoint x="790" y="260" /> <di:waypoint x="825" y="260" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1fiuctz_di" bpmnElement="Flow_1fiuctz"> <di:waypoint x="875" y="260" /> <di:waypoint x="922" y="260" /> <bpmndi:BPMNLabel> <dc:Bounds x="890" y="242" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0c7pvuu_di" bpmnElement="Flow_0c7pvuu"> <di:waypoint x="850" y="235" /> <di:waypoint x="850" y="165" /> <bpmndi:BPMNLabel> <dc:Bounds x="859" y="197" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_08y6k5p_di" bpmnElement="Flow_08y6k5p"> <di:waypoint x="825" y="140" /> <di:waypoint x="440" y="140" /> <bpmndi:BPMNLabel> <dc:Bounds x="624" y="122" width="17" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_087oad2_di" bpmnElement="Flow_087oad2"> <di:waypoint x="390" y="180" /> <di:waypoint x="390" y="235" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_0cucewu_di" bpmnElement="Flow_0cucewu"> <di:waypoint x="875" y="140" /> <di:waypoint x="922" y="140" /> <bpmndi:BPMNLabel> <dc:Bounds x="892" y="122" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> </bpmnio> The process will hang at the first gateway because it'll wait for two tokens to arrive but only one will. ===== Notes ===== [[https://www.omg.org/spec/BPMN/2.0.2/PDF|BPMN 2.0.2 spec]] (p. 287) while not prohibiting mixed gatways completely treats them as bad practice: > The Gateway controls the flow of both diverging and converging Sequence Flows. That is, a single Gateway could have multiple input and multiple output flows. Modelers and modeling tools might want to enforce a best practice of a Gateway only performing one of these functions. Thus, it would take two sequential Gateways to first converge and then to diverge the Sequence Flows. As the examples above illustrates, mixed gateways may make the diagram confusing or erroneus so it's better to avoid them. Split the mixed gateway into two - converging followed by diverging. ===== Author(s) ===== --- //[[user:wjulia|Юлия Вагнер]] 2023-09-11 13:03// Last modified: 2024-08-22 20:18(external edit)