Both sides previous revision Previous revision Next revision | Previous revision |
en:rule:avoid_mixed_gateways [2023-09-11 15:22] – removed - external edit (Unknown date) 127.0.0.1 | en:rule:avoid_mixed_gateways [2024-08-22 20:18] (current) – [Notes] Anatoly Belaychuk |
---|
| ====== 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// |
| |