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:time_flows_left_to_right [2024-01-08 21:20] – [✔ How to] Anatoly Belaychuken:rule:time_flows_left_to_right [2024-08-24 15:48] (current) – [Time should flow left to right] Anatoly Belaychuk
Line 1: Line 1:
 ====== Time should flow left to right ====== ====== Time should flow left to right ======
  
-{{tag>pool "control flow"}}+{{tag>pool sequence_flow link_event visual_style}}
  
-Avoid control flows running right to left.+Avoid sequence flows running right to left.
  
 ===== ✔ How to ===== ===== ✔ How to =====
Line 90: Line 90:
 </definitions> </definitions>
 </bpmnio> </bpmnio>
 +
 +It's OK to wrap the process flow if it becomes too wide:
  
 <bpmnio type="bpmn"> <bpmnio type="bpmn">
Line 115: Line 117:
     <task id="Activity_1lqom2i" name="Assign price category">     <task id="Activity_1lqom2i" name="Assign price category">
       <incoming>Flow_1sc89en</incoming>       <incoming>Flow_1sc89en</incoming>
-      <outgoing>Flow_0wk6bjv</outgoing>+      <outgoing>Flow_037v1pe</outgoing>
     </task>     </task>
     <sequenceFlow id="Flow_1sc89en" sourceRef="Activity_0mk1m9q" targetRef="Activity_1lqom2i" />     <sequenceFlow id="Flow_1sc89en" sourceRef="Activity_0mk1m9q" targetRef="Activity_1lqom2i" />
     <endEvent id="Event_09o5m3q">     <endEvent id="Event_09o5m3q">
-      <incoming>Flow_0wk6bjv</incoming>+      <incoming>Flow_0bmuqlp</incoming>
     </endEvent>     </endEvent>
-    <sequenceFlow id="Flow_0wk6bjv" sourceRef="Activity_1lqom2i" targetRef="Event_09o5m3q" />+    <task id="Activity_1lih2dq" name="Calculate price"> 
 +      <incoming>Flow_037v1pe</incoming> 
 +      <outgoing>Flow_1gy491d</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_037v1pe" sourceRef="Activity_1lqom2i" targetRef="Activity_1lih2dq" /> 
 +    <task id="Activity_0z3qsa1" name="Create offer"> 
 +      <incoming>Flow_1gy491d</incoming> 
 +      <outgoing>Flow_18idhb7</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_1gy491d" sourceRef="Activity_1lih2dq" targetRef="Activity_0z3qsa1" /> 
 +    <task id="Activity_1196ufo" name="Send offer to client"> 
 +      <incoming>Flow_18idhb7</incoming> 
 +      <outgoing>Flow_0bmuqlp</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_18idhb7" sourceRef="Activity_0z3qsa1" targetRef="Activity_1196ufo" /> 
 +    <sequenceFlow id="Flow_0bmuqlp" sourceRef="Activity_1196ufo" targetRef="Event_09o5m3q" />
   </process>   </process>
   <bpmndi:BPMNDiagram id="BpmnDiagram_1">   <bpmndi:BPMNDiagram id="BpmnDiagram_1">
Line 145: Line 162:
       <bpmndi:BPMNShape id="Activity_1lqom2i_di" bpmnElement="Activity_1lqom2i">       <bpmndi:BPMNShape id="Activity_1lqom2i_di" bpmnElement="Activity_1lqom2i">
         <omgdc:Bounds x="730" y="60" width="100" height="80" />         <omgdc:Bounds x="730" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1lih2dq_di" bpmnElement="Activity_1lih2dq">
 +        <omgdc:Bounds x="310" y="200" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0z3qsa1_di" bpmnElement="Activity_0z3qsa1">
 +        <omgdc:Bounds x="450" y="200" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1196ufo_di" bpmnElement="Activity_1196ufo">
 +        <omgdc:Bounds x="590" y="200" width="100" height="80" />
         <bpmndi:BPMNLabel />         <bpmndi:BPMNLabel />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="Event_09o5m3q_di" bpmnElement="Event_09o5m3q">       <bpmndi:BPMNShape id="Event_09o5m3q_di" bpmnElement="Event_09o5m3q">
-        <omgdc:Bounds x="872" y="82" width="36" height="36" />+        <omgdc:Bounds x="762" y="222" width="36" height="36" />
       </bpmndi:BPMNShape>       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Flow_18pol07_di" bpmnElement="Flow_18pol07">       <bpmndi:BPMNEdge id="Flow_18pol07_di" bpmnElement="Flow_18pol07">
Line 166: Line 195:
         <omgdi:waypoint x="730" y="100" />         <omgdi:waypoint x="730" y="100" />
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="Flow_0wk6bjv_di" bpmnElement="Flow_0wk6bjv">+      <bpmndi:BPMNEdge id="Flow_037v1pe_di" bpmnElement="Flow_037v1pe"> 
 +        <omgdi:waypoint x="780" y="140" /> 
 +        <omgdi:waypoint x="780" y="170" /> 
 +        <omgdi:waypoint x="360" y="170" /> 
 +        <omgdi:waypoint x="360" y="200" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1gy491d_di" bpmnElement="Flow_1gy491d"> 
 +        <omgdi:waypoint x="410" y="240" /> 
 +        <omgdi:waypoint x="450" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_18idhb7_di" bpmnElement="Flow_18idhb7"> 
 +        <omgdi:waypoint x="550" y="240" /> 
 +        <omgdi:waypoint x="590" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0bmuqlp_di" bpmnElement="Flow_0bmuqlp"> 
 +        <omgdi:waypoint x="690" y="240" /> 
 +        <omgdi:waypoint x="762" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +    </bpmndi:BPMNPlane> 
 +  </bpmndi:BPMNDiagram> 
 +</definitions> 
 +</bpmnio> 
 + 
 +or to utilize link 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_0dhvezv"> 
 +    <startEvent id="Event_16liywa" name="Sales order obtained"> 
 +      <outgoing>Flow_18pol07</outgoing> 
 +    </startEvent> 
 +    <task id="Activity_15654ic" name="Create product specification"> 
 +      <incoming>Flow_18pol07</incoming> 
 +      <outgoing>Flow_1lz2w56</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_18pol07" sourceRef="Event_16liywa" targetRef="Activity_15654ic" /> 
 +    <task id="Activity_1fzaw0g" name="Calculate technical parameters"> 
 +      <incoming>Flow_1lz2w56</incoming> 
 +      <outgoing>Flow_04cilaa</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_1lz2w56" sourceRef="Activity_15654ic" targetRef="Activity_1fzaw0g" /> 
 +    <task id="Activity_0mk1m9q" name="Calculate costs"> 
 +      <incoming>Flow_04cilaa</incoming> 
 +      <outgoing>Flow_1sc89en</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_04cilaa" sourceRef="Activity_1fzaw0g" targetRef="Activity_0mk1m9q" /> 
 +    <task id="Activity_1lqom2i" name="Assign price category"> 
 +      <incoming>Flow_1sc89en</incoming> 
 +      <outgoing>Flow_1ei0rvt</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_1sc89en" sourceRef="Activity_0mk1m9q" targetRef="Activity_1lqom2i" /> 
 +    <endEvent id="Event_09o5m3q"> 
 +      <incoming>Flow_0bmuqlp</incoming> 
 +    </endEvent> 
 +    <task id="Activity_1lih2dq" name="Calculate price"> 
 +      <incoming>Flow_0chmb44</incoming> 
 +      <outgoing>Flow_1gy491d</outgoing> 
 +    </task> 
 +    <task id="Activity_0z3qsa1" name="Create offer"> 
 +      <incoming>Flow_1gy491d</incoming> 
 +      <outgoing>Flow_18idhb7</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_1gy491d" sourceRef="Activity_1lih2dq" targetRef="Activity_0z3qsa1" /> 
 +    <task id="Activity_1196ufo" name="Send offer to client"> 
 +      <incoming>Flow_18idhb7</incoming> 
 +      <outgoing>Flow_0bmuqlp</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_18idhb7" sourceRef="Activity_0z3qsa1" targetRef="Activity_1196ufo" /> 
 +    <sequenceFlow id="Flow_0bmuqlp" sourceRef="Activity_1196ufo" targetRef="Event_09o5m3q" /> 
 +    <sequenceFlow id="Flow_1ei0rvt" sourceRef="Activity_1lqom2i" targetRef="Event_1offunz" /> 
 +    <intermediateThrowEvent id="Event_1offunz" name="Part 2"> 
 +      <incoming>Flow_1ei0rvt</incoming> 
 +      <linkEventDefinition id="LinkEventDefinition_0f0y9w3" name="" /> 
 +    </intermediateThrowEvent> 
 +    <sequenceFlow id="Flow_0chmb44" sourceRef="Event_1s9wzdn" targetRef="Activity_1lih2dq" /> 
 +    <intermediateCatchEvent id="Event_1s9wzdn" name="Part 2"> 
 +      <outgoing>Flow_0chmb44</outgoing> 
 +      <linkEventDefinition id="LinkEventDefinition_04m0als" name="" /> 
 +    </intermediateCatchEvent> 
 +  </process> 
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1"> 
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0dhvezv"> 
 +      <bpmndi:BPMNShape id="Event_16liywa_di" bpmnElement="Event_16liywa"> 
 +        <omgdc:Bounds x="232" y="82" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="221" y="125" width="58" height="27" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_15654ic_di" bpmnElement="Activity_15654ic"> 
 +        <omgdc:Bounds x="310" y="60" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1fzaw0g_di" bpmnElement="Activity_1fzaw0g"> 
 +        <omgdc:Bounds x="450" y="60" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0mk1m9q_di" bpmnElement="Activity_0mk1m9q"> 
 +        <omgdc:Bounds x="590" y="60" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1lqom2i_di" bpmnElement="Activity_1lqom2i"> 
 +        <omgdc:Bounds x="730" y="60" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_09o5m3q_di" bpmnElement="Event_09o5m3q"> 
 +        <omgdc:Bounds x="762" y="222" width="36" height="36" /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1lih2dq_di" bpmnElement="Activity_1lih2dq"> 
 +        <omgdc:Bounds x="310" y="200" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0z3qsa1_di" bpmnElement="Activity_0z3qsa1"> 
 +        <omgdc:Bounds x="450" y="200" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1196ufo_di" bpmnElement="Activity_1196ufo"> 
 +        <omgdc:Bounds x="590" y="200" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_14ps6z7_di" bpmnElement="Event_1offunz"> 
 +        <omgdc:Bounds x="862" y="82" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="865" y="125" width="30" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1wi5fos_di" bpmnElement="Event_1s9wzdn"> 
 +        <omgdc:Bounds x="232" y="222" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="235" y="265" width="30" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNEdge id="Flow_18pol07_di" bpmnElement="Flow_18pol07"> 
 +        <omgdi:waypoint x="268" y="100" /> 
 +        <omgdi:waypoint x="310" y="100" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1lz2w56_di" bpmnElement="Flow_1lz2w56"> 
 +        <omgdi:waypoint x="410" y="100" /> 
 +        <omgdi:waypoint x="450" y="100" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_04cilaa_di" bpmnElement="Flow_04cilaa"> 
 +        <omgdi:waypoint x="550" y="100" /> 
 +        <omgdi:waypoint x="590" y="100" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1sc89en_di" bpmnElement="Flow_1sc89en"> 
 +        <omgdi:waypoint x="690" y="100" /> 
 +        <omgdi:waypoint x="730" y="100" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1gy491d_di" bpmnElement="Flow_1gy491d"> 
 +        <omgdi:waypoint x="410" y="240" /> 
 +        <omgdi:waypoint x="450" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_18idhb7_di" bpmnElement="Flow_18idhb7"> 
 +        <omgdi:waypoint x="550" y="240" /> 
 +        <omgdi:waypoint x="590" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0bmuqlp_di" bpmnElement="Flow_0bmuqlp"> 
 +        <omgdi:waypoint x="690" y="240" /> 
 +        <omgdi:waypoint x="762" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1ei0rvt_di" bpmnElement="Flow_1ei0rvt">
         <omgdi:waypoint x="830" y="100" />         <omgdi:waypoint x="830" y="100" />
-        <omgdi:waypoint x="872" y="100" />+        <omgdi:waypoint x="862" y="100" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0chmb44_di" bpmnElement="Flow_0chmb44"> 
 +        <omgdi:waypoint x="268" y="240" /> 
 +        <omgdi:waypoint x="310" y="240" />
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>     </bpmndi:BPMNPlane>
Line 174: Line 367:
 </definitions> </definitions>
 </bpmnio> </bpmnio>
-===== ✘ How NOT to ===== 
  
-Put antipattern (BPMN diagrams) here+If swimlanes are used, it's OK for sequence flows to go up or down:
  
 +<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">
 +  <collaboration id="Collaboration_0u4xky5">
 +    <participant id="Participant_18p47ij" processRef="Process_0dhvezv" />
 +  </collaboration>
 +  <process id="Process_0dhvezv">
 +    <laneSet id="LaneSet_0psli3j">
 +      <lane id="Lane_1n8547j" name="R&#38;D">
 +        <flowNodeRef>Event_16liywa</flowNodeRef>
 +        <flowNodeRef>Activity_15654ic</flowNodeRef>
 +        <flowNodeRef>Activity_1fzaw0g</flowNodeRef>
 +      </lane>
 +      <lane id="Lane_0wgnocb" name="Finance">
 +        <flowNodeRef>Activity_0mk1m9q</flowNodeRef>
 +      </lane>
 +      <lane id="Lane_0r89z61" name="Markeging">
 +        <flowNodeRef>Activity_1lqom2i</flowNodeRef>
 +        <flowNodeRef>Event_09o5m3q</flowNodeRef>
 +      </lane>
 +    </laneSet>
 +    <startEvent id="Event_16liywa" name="Sales order obtained">
 +      <outgoing>Flow_18pol07</outgoing>
 +    </startEvent>
 +    <task id="Activity_15654ic" name="Create product specification">
 +      <incoming>Flow_18pol07</incoming>
 +      <outgoing>Flow_1lz2w56</outgoing>
 +    </task>
 +    <task id="Activity_1fzaw0g" name="Calculate technical parameters">
 +      <incoming>Flow_1lz2w56</incoming>
 +      <outgoing>Flow_04cilaa</outgoing>
 +    </task>
 +    <task id="Activity_0mk1m9q" name="Calculate costs">
 +      <incoming>Flow_04cilaa</incoming>
 +      <outgoing>Flow_1sc89en</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_18pol07" sourceRef="Event_16liywa" targetRef="Activity_15654ic" />
 +    <sequenceFlow id="Flow_1lz2w56" sourceRef="Activity_15654ic" targetRef="Activity_1fzaw0g" />
 +    <sequenceFlow id="Flow_04cilaa" sourceRef="Activity_1fzaw0g" targetRef="Activity_0mk1m9q" />
 +    <sequenceFlow id="Flow_1sc89en" sourceRef="Activity_0mk1m9q" targetRef="Activity_1lqom2i" />
 +    <sequenceFlow id="Flow_0wk6bjv" sourceRef="Activity_1lqom2i" targetRef="Event_09o5m3q" />
 +    <task id="Activity_1lqom2i" name="Assign price category">
 +      <incoming>Flow_1sc89en</incoming>
 +      <outgoing>Flow_0wk6bjv</outgoing>
 +    </task>
 +    <endEvent id="Event_09o5m3q">
 +      <incoming>Flow_0wk6bjv</incoming>
 +    </endEvent>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Collaboration_0u4xky5">
 +      <bpmndi:BPMNShape id="Participant_18p47ij_di" bpmnElement="Participant_18p47ij" isHorizontal="true">
 +        <omgdc:Bounds x="180" y="40" width="530" height="370" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Lane_1n8547j_di" bpmnElement="Lane_1n8547j" isHorizontal="true">
 +        <omgdc:Bounds x="210" y="40" width="500" height="125" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Lane_0wgnocb_di" bpmnElement="Lane_0wgnocb" isHorizontal="true">
 +        <omgdc:Bounds x="210" y="165" width="500" height="125" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Lane_0r89z61_di" bpmnElement="Lane_0r89z61" isHorizontal="true">
 +        <omgdc:Bounds x="210" y="290" width="500" height="120" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_16liywa_di" bpmnElement="Event_16liywa">
 +        <omgdc:Bounds x="272" y="82" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="261" y="125" width="58" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_15654ic_di" bpmnElement="Activity_15654ic">
 +        <omgdc:Bounds x="350" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1fzaw0g_di" bpmnElement="Activity_1fzaw0g">
 +        <omgdc:Bounds x="490" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0mk1m9q_di" bpmnElement="Activity_0mk1m9q">
 +        <omgdc:Bounds x="490" y="190" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1lqom2i_di" bpmnElement="Activity_1lqom2i">
 +        <omgdc:Bounds x="490" y="310" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_09o5m3q_di" bpmnElement="Event_09o5m3q">
 +        <omgdc:Bounds x="632" y="332" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_18pol07_di" bpmnElement="Flow_18pol07">
 +        <omgdi:waypoint x="308" y="100" />
 +        <omgdi:waypoint x="350" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1lz2w56_di" bpmnElement="Flow_1lz2w56">
 +        <omgdi:waypoint x="450" y="100" />
 +        <omgdi:waypoint x="490" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_04cilaa_di" bpmnElement="Flow_04cilaa">
 +        <omgdi:waypoint x="540" y="140" />
 +        <omgdi:waypoint x="540" y="190" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1sc89en_di" bpmnElement="Flow_1sc89en">
 +        <omgdi:waypoint x="540" y="270" />
 +        <omgdi:waypoint x="540" y="310" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0wk6bjv_di" bpmnElement="Flow_0wk6bjv">
 +        <omgdi:waypoint x="590" y="350" />
 +        <omgdi:waypoint x="632" y="350" />
 +      </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_0dhvezv">
 +    <startEvent id="Event_16liywa" name="Sales order obtained">
 +      <outgoing>Flow_18pol07</outgoing>
 +    </startEvent>
 +    <task id="Activity_15654ic" name="Create product specification">
 +      <incoming>Flow_18pol07</incoming>
 +      <outgoing>Flow_1lz2w56</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_18pol07" sourceRef="Event_16liywa" targetRef="Activity_15654ic" />
 +    <task id="Activity_1fzaw0g" name="Calculate technical parameters">
 +      <incoming>Flow_1lz2w56</incoming>
 +      <outgoing>Flow_04cilaa</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_1lz2w56" sourceRef="Activity_15654ic" targetRef="Activity_1fzaw0g" />
 +    <task id="Activity_0mk1m9q" name="Calculate costs">
 +      <incoming>Flow_04cilaa</incoming>
 +      <outgoing>Flow_1sc89en</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_04cilaa" sourceRef="Activity_1fzaw0g" targetRef="Activity_0mk1m9q" />
 +    <task id="Activity_1lqom2i" name="Assign price category">
 +      <incoming>Flow_1sc89en</incoming>
 +      <outgoing>Flow_1qqfvpc</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_1sc89en" sourceRef="Activity_0mk1m9q" targetRef="Activity_1lqom2i" />
 +    <task id="Activity_1lih2dq" name="Calculate price">
 +      <incoming>Flow_1qqfvpc</incoming>
 +      <outgoing>Flow_1dt1vto</outgoing>
 +    </task>
 +    <task id="Activity_0z3qsa1" name="Create offer">
 +      <incoming>Flow_1dt1vto</incoming>
 +      <outgoing>Flow_1hu23s8</outgoing>
 +    </task>
 +    <task id="Activity_1196ufo" name="Send offer to client">
 +      <incoming>Flow_1hu23s8</incoming>
 +      <outgoing>Flow_09ggqew</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_1qqfvpc" sourceRef="Activity_1lqom2i" targetRef="Activity_1lih2dq" />
 +    <sequenceFlow id="Flow_1dt1vto" sourceRef="Activity_1lih2dq" targetRef="Activity_0z3qsa1" />
 +    <sequenceFlow id="Flow_1hu23s8" sourceRef="Activity_0z3qsa1" targetRef="Activity_1196ufo" />
 +    <endEvent id="Event_1yknqfs">
 +      <incoming>Flow_09ggqew</incoming>
 +    </endEvent>
 +    <sequenceFlow id="Flow_09ggqew" sourceRef="Activity_1196ufo" targetRef="Event_1yknqfs" />
 +  </process>
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1">
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Process_0dhvezv">
 +      <bpmndi:BPMNShape id="Event_16liywa_di" bpmnElement="Event_16liywa">
 +        <omgdc:Bounds x="232" y="82" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="221" y="125" width="58" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_15654ic_di" bpmnElement="Activity_15654ic">
 +        <omgdc:Bounds x="310" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1fzaw0g_di" bpmnElement="Activity_1fzaw0g">
 +        <omgdc:Bounds x="450" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0mk1m9q_di" bpmnElement="Activity_0mk1m9q">
 +        <omgdc:Bounds x="590" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1lqom2i_di" bpmnElement="Activity_1lqom2i">
 +        <omgdc:Bounds x="730" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1lih2dq_di" bpmnElement="Activity_1lih2dq">
 +        <omgdc:Bounds x="730" y="200" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0z3qsa1_di" bpmnElement="Activity_0z3qsa1">
 +        <omgdc:Bounds x="590" y="200" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1196ufo_di" bpmnElement="Activity_1196ufo">
 +        <omgdc:Bounds x="450" y="200" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1yknqfs_di" bpmnElement="Event_1yknqfs">
 +        <omgdc:Bounds x="342" y="222" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_18pol07_di" bpmnElement="Flow_18pol07">
 +        <omgdi:waypoint x="268" y="100" />
 +        <omgdi:waypoint x="310" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1lz2w56_di" bpmnElement="Flow_1lz2w56">
 +        <omgdi:waypoint x="410" y="100" />
 +        <omgdi:waypoint x="450" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_04cilaa_di" bpmnElement="Flow_04cilaa">
 +        <omgdi:waypoint x="550" y="100" />
 +        <omgdi:waypoint x="590" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1sc89en_di" bpmnElement="Flow_1sc89en">
 +        <omgdi:waypoint x="690" y="100" />
 +        <omgdi:waypoint x="730" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1qqfvpc_di" bpmnElement="Flow_1qqfvpc">
 +        <omgdi:waypoint x="780" y="140" />
 +        <omgdi:waypoint x="780" y="200" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1dt1vto_di" bpmnElement="Flow_1dt1vto">
 +        <omgdi:waypoint x="730" y="240" />
 +        <omgdi:waypoint x="690" y="240" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1hu23s8_di" bpmnElement="Flow_1hu23s8">
 +        <omgdi:waypoint x="590" y="240" />
 +        <omgdi:waypoint x="550" y="240" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_09ggqew_di" bpmnElement="Flow_09ggqew">
 +        <omgdi:waypoint x="450" y="240" />
 +        <omgdi:waypoint x="378" y="240" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 ===== Exceptions ===== ===== Exceptions =====
  
-When the process returns to a previous activity, the "process timegoes back:+It's OK for the process time to go back when the process returns to a previous activity
 + 
 +<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"> 
 +  <collaboration id="Collaboration_17lqepo"> 
 +    <participant id="Participant_0q77pri" name="Annual reporting" processRef="Process_17gkt4t" /> 
 +  </collaboration> 
 +  <process id="Process_17gkt4t"> 
 +    <laneSet id="LaneSet_1tkfenl"> 
 +      <lane id="Lane_0vwbzg8" name="Worker"> 
 +        <flowNodeRef>Event_0qvgjyq</flowNodeRef> 
 +        <flowNodeRef>Activity_1u8lipk</flowNodeRef> 
 +        <flowNodeRef>Activity_0oa1q7a</flowNodeRef> 
 +      </lane> 
 +      <lane id="Lane_14rbpij" name="Manager"> 
 +        <flowNodeRef>Activity_0xbmhx6</flowNodeRef> 
 +        <flowNodeRef>Gateway_14ioufc</flowNodeRef> 
 +        <flowNodeRef>Event_1rmdn9z</flowNodeRef> 
 +      </lane> 
 +    </laneSet> 
 +    <startEvent id="Event_0qvgjyq"> 
 +      <outgoing>Flow_0wkyrxv</outgoing> 
 +      <timerEventDefinition id="TimerEventDefinition_0e0qqwo" /> 
 +    </startEvent> 
 +    <task id="Activity_1u8lipk" name="Create report"> 
 +      <incoming>Flow_0wkyrxv</incoming> 
 +      <outgoing>Flow_0g0ihxb</outgoing> 
 +    </task> 
 +    <task id="Activity_0xbmhx6" name="Approve report"> 
 +      <incoming>Flow_0g0ihxb</incoming> 
 +      <incoming>Flow_1brfbuh</incoming> 
 +      <outgoing>Flow_1amuls5</outgoing> 
 +    </task> 
 +    <exclusiveGateway id="Gateway_14ioufc" name="OK?"> 
 +      <incoming>Flow_1amuls5</incoming> 
 +      <outgoing>Flow_1lo2zlv</outgoing> 
 +      <outgoing>Flow_0sm1h4f</outgoing> 
 +    </exclusiveGateway> 
 +    <task id="Activity_0oa1q7a" name="Correct report"> 
 +      <incoming>Flow_1lo2zlv</incoming> 
 +      <outgoing>Flow_1brfbuh</outgoing> 
 +    </task> 
 +    <endEvent id="Event_1rmdn9z"> 
 +      <incoming>Flow_0sm1h4f</incoming> 
 +    </endEvent> 
 +    <sequenceFlow id="Flow_0wkyrxv" sourceRef="Event_0qvgjyq" targetRef="Activity_1u8lipk" /> 
 +    <sequenceFlow id="Flow_0g0ihxb" sourceRef="Activity_1u8lipk" targetRef="Activity_0xbmhx6" /> 
 +    <sequenceFlow id="Flow_1brfbuh" sourceRef="Activity_0oa1q7a" targetRef="Activity_0xbmhx6" /> 
 +    <sequenceFlow id="Flow_1amuls5" sourceRef="Activity_0xbmhx6" targetRef="Gateway_14ioufc" /> 
 +    <sequenceFlow id="Flow_1lo2zlv" name="no" sourceRef="Gateway_14ioufc" targetRef="Activity_0oa1q7a" /> 
 +    <sequenceFlow id="Flow_0sm1h4f" name="yes" sourceRef="Gateway_14ioufc" targetRef="Event_1rmdn9z" /> 
 +  </process> 
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1"> 
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Collaboration_17lqepo"> 
 +      <bpmndi:BPMNShape id="Participant_0q77pri_di" bpmnElement="Participant_0q77pri" isHorizontal="true"> 
 +        <omgdc:Bounds x="240" y="80" width="590" height="250" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_0vwbzg8_di" bpmnElement="Lane_0vwbzg8" isHorizontal="true"> 
 +        <omgdc:Bounds x="270" y="80" width="560" height="125" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_14rbpij_di" bpmnElement="Lane_14rbpij" isHorizontal="true"> 
 +        <omgdc:Bounds x="270" y="205" width="560" height="125" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_16ztbdi_di" bpmnElement="Event_0qvgjyq"> 
 +        <omgdc:Bounds x="312" y="122" width="36" height="36" /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1u8lipk_di" bpmnElement="Activity_1u8lipk"> 
 +        <omgdc:Bounds x="390" y="100" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0xbmhx6_di" bpmnElement="Activity_0xbmhx6"> 
 +        <omgdc:Bounds x="530" y="230" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Gateway_14ioufc_di" bpmnElement="Gateway_14ioufc" isMarkerVisible="true"> 
 +        <omgdc:Bounds x="675" y="245" width="50" height="50" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="689" y="302" width="23" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0oa1q7a_di" bpmnElement="Activity_0oa1q7a"> 
 +        <omgdc:Bounds x="530" y="100" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1rmdn9z_di" bpmnElement="Event_1rmdn9z"> 
 +        <omgdc:Bounds x="772" y="252" width="36" height="36" /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNEdge id="Flow_0wkyrxv_di" bpmnElement="Flow_0wkyrxv"> 
 +        <omgdi:waypoint x="348" y="140" /> 
 +        <omgdi:waypoint x="390" y="140" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0g0ihxb_di" bpmnElement="Flow_0g0ihxb"> 
 +        <omgdi:waypoint x="440" y="180" /> 
 +        <omgdi:waypoint x="440" y="270" /> 
 +        <omgdi:waypoint x="530" y="270" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1brfbuh_di" bpmnElement="Flow_1brfbuh"> 
 +        <omgdi:waypoint x="580" y="180" /> 
 +        <omgdi:waypoint x="580" y="230" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1amuls5_di" bpmnElement="Flow_1amuls5"> 
 +        <omgdi:waypoint x="630" y="270" /> 
 +        <omgdi:waypoint x="675" y="270" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1lo2zlv_di" bpmnElement="Flow_1lo2zlv"> 
 +        <omgdi:waypoint x="700" y="245" /> 
 +        <omgdi:waypoint x="700" y="140" /> 
 +        <omgdi:waypoint x="630" y="140" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="709" y="190" width="13" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0sm1h4f_di" bpmnElement="Flow_0sm1h4f"> 
 +        <omgdi:waypoint x="725" y="270" /> 
 +        <omgdi:waypoint x="772" y="270" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="740" y="252" width="17" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +    </bpmndi:BPMNPlane> 
 +  </bpmndi:BPMNDiagram> 
 +</definitions> 
 +</bpmnio>
  
 ===== See also ===== ===== See also =====
  
 +  * [[en:rule:v_shaped_flow]]
   * [[en:rule:horizontal_diagram]]   * [[en:rule:horizontal_diagram]]
   * [[en:rule:connect_flows_to_any_side]]   * [[en:rule:connect_flows_to_any_side]]
Line 190: Line 748:
  
  --- //[[user:bell|Anatoly Belaychuk]] 2024-01-08 20:58//  --- //[[user:bell|Anatoly Belaychuk]] 2024-01-08 20:58//
 +