Differences

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

Link to this comparison view

Next revision
Previous revision
en:rule:align_tasks_with_process [2024-08-28 21:25] – created Anatoly Belaychuken:rule:align_tasks_with_process [2024-08-28 21:59] (current) – [Align process and activities instances] Anatoly Belaychuk
Line 1: Line 1:
-====== 0-TBD Align process and activities instances ======+====== Align process and activities instances ======
  
 {{tag>loop}} {{tag>loop}}
- 
-{{en:underconstruction.png?nolink&200|}} 
  
 Leverage multi-instance loop if a process deals with a set of objects. Leverage multi-instance loop if a process deals with a set of objects.
Line 214: Line 212:
         <omgdi:waypoint x="1150" y="116" />         <omgdi:waypoint x="1150" y="116" />
         <omgdi:waypoint x="1176" y="121" />         <omgdi:waypoint x="1176" y="121" />
 +      </bpmndi:BPMNEdge>
 +    </bpmndi:BPMNPlane>
 +  </bpmndi:BPMNDiagram>
 +</definitions>
 +</bpmnio>
 +
 +<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_1vp7ry3">
 +    <participant id="Participant_1a9ls2p" name="Purchased goods acceptance" processRef="Process_1" />
 +  </collaboration>
 +  <process id="Process_1" isExecutable="false">
 +    <startEvent id="Event_0qb2p1v">
 +      <outgoing>Flow_0a9mt56</outgoing>
 +    </startEvent>
 +    <task id="Activity_1degtd2" name="Check cargo documents">
 +      <incoming>Flow_0a9mt56</incoming>
 +      <outgoing>Flow_0j3kcf2</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_0a9mt56" sourceRef="Event_0qb2p1v" targetRef="Activity_1degtd2" />
 +    <exclusiveGateway id="Gateway_10qfofe" name="Documents OK?">
 +      <incoming>Flow_0j3kcf2</incoming>
 +      <outgoing>Flow_0v8y0lz</outgoing>
 +      <outgoing>Flow_1pj9ozv</outgoing>
 +    </exclusiveGateway>
 +    <sequenceFlow id="Flow_0j3kcf2" sourceRef="Activity_1degtd2" targetRef="Gateway_10qfofe" />
 +    <sequenceFlow id="Flow_0v8y0lz" name="no" sourceRef="Gateway_10qfofe" targetRef="Event_18s0f3g" />
 +    <task id="Activity_0k55wlf" name="Check pallets integrity">
 +      <incoming>Flow_1pj9ozv</incoming>
 +      <outgoing>Flow_0zbysou</outgoing>
 +    </task>
 +    <sequenceFlow id="Flow_1pj9ozv" name="yes" sourceRef="Gateway_10qfofe" targetRef="Activity_0k55wlf" />
 +    <sequenceFlow id="Flow_0zbysou" sourceRef="Activity_0k55wlf" targetRef="Gateway_0ste6tm" />
 +    <endEvent id="Event_18s0f3g" name="Invalid documents">
 +      <incoming>Flow_0v8y0lz</incoming>
 +    </endEvent>
 +    <inclusiveGateway id="Gateway_0ste6tm">
 +      <incoming>Flow_0zbysou</incoming>
 +      <outgoing>Flow_1gmcsmc</outgoing>
 +      <outgoing>Flow_08fw337</outgoing>
 +    </inclusiveGateway>
 +    <sequenceFlow id="Flow_0ykhyoj" sourceRef="Activity_19pxqla" targetRef="Gateway_0ldaatt" />
 +    <sequenceFlow id="Flow_0ijaw7o" sourceRef="Activity_1b3wl5z" targetRef="Gateway_0ldaatt" />
 +    <sequenceFlow id="Flow_1sjbt67" sourceRef="Gateway_0ldaatt" targetRef="Event_1uaoiim" />
 +    <sequenceFlow id="Flow_1gmcsmc" name="some pallets are good" sourceRef="Gateway_0ste6tm" targetRef="Activity_19pxqla" />
 +    <sequenceFlow id="Flow_08fw337" name="some pallets are broken" sourceRef="Gateway_0ste6tm" targetRef="Activity_1b3wl5z" />
 +    <task id="Activity_1b3wl5z" name="File a claim">
 +      <incoming>Flow_08fw337</incoming>
 +      <outgoing>Flow_0ijaw7o</outgoing>
 +    </task>
 +    <task id="Activity_19pxqla" name="Accomodate into warehouse">
 +      <incoming>Flow_1gmcsmc</incoming>
 +      <outgoing>Flow_0ykhyoj</outgoing>
 +    </task>
 +    <inclusiveGateway id="Gateway_0ldaatt">
 +      <incoming>Flow_0ykhyoj</incoming>
 +      <incoming>Flow_0ijaw7o</incoming>
 +      <outgoing>Flow_1sjbt67</outgoing>
 +    </inclusiveGateway>
 +    <endEvent id="Event_1uaoiim">
 +      <incoming>Flow_1sjbt67</incoming>
 +    </endEvent>
 +  </process>
 +  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 +    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1vp7ry3">
 +      <bpmndi:BPMNShape id="Participant_1a9ls2p_di" bpmnElement="Participant_1a9ls2p" isHorizontal="true">
 +        <omgdc:Bounds x="200" y="30" width="950" height="250" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_0qb2p1v_di" bpmnElement="Event_0qb2p1v">
 +        <omgdc:Bounds x="272" y="82" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1degtd2_di" bpmnElement="Activity_1degtd2">
 +        <omgdc:Bounds x="340" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_10qfofe_di" bpmnElement="Gateway_10qfofe" isMarkerVisible="true">
 +        <omgdc:Bounds x="475" y="75" width="50" height="50" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="460" y="53" width="81" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_0k55wlf_di" bpmnElement="Activity_0k55wlf">
 +        <omgdc:Bounds x="570" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_18s0f3g_di" bpmnElement="Event_18s0f3g">
 +        <omgdc:Bounds x="482" y="162" width="36" height="36" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="455" y="205" width="90" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_05slbzv_di" bpmnElement="Gateway_0ste6tm">
 +        <omgdc:Bounds x="705" y="75" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_1b3wl5z_di" bpmnElement="Activity_1b3wl5z">
 +        <omgdc:Bounds x="850" y="170" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Activity_19pxqla_di" bpmnElement="Activity_19pxqla">
 +        <omgdc:Bounds x="850" y="60" width="100" height="80" />
 +        <bpmndi:BPMNLabel />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Gateway_0zdcd69_di" bpmnElement="Gateway_0ldaatt">
 +        <omgdc:Bounds x="995" y="75" width="50" height="50" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNShape id="Event_1uaoiim_di" bpmnElement="Event_1uaoiim">
 +        <omgdc:Bounds x="1082" y="82" width="36" height="36" />
 +      </bpmndi:BPMNShape>
 +      <bpmndi:BPMNEdge id="Flow_0a9mt56_di" bpmnElement="Flow_0a9mt56">
 +        <omgdi:waypoint x="308" y="100" />
 +        <omgdi:waypoint x="340" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0j3kcf2_di" bpmnElement="Flow_0j3kcf2">
 +        <omgdi:waypoint x="440" y="100" />
 +        <omgdi:waypoint x="475" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0v8y0lz_di" bpmnElement="Flow_0v8y0lz">
 +        <omgdi:waypoint x="500" y="125" />
 +        <omgdi:waypoint x="500" y="162" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="509" y="139" width="13" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1pj9ozv_di" bpmnElement="Flow_1pj9ozv">
 +        <omgdi:waypoint x="525" y="100" />
 +        <omgdi:waypoint x="570" y="100" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="539" y="82" width="17" height="14" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0zbysou_di" bpmnElement="Flow_0zbysou">
 +        <omgdi:waypoint x="670" y="100" />
 +        <omgdi:waypoint x="705" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0ykhyoj_di" bpmnElement="Flow_0ykhyoj">
 +        <omgdi:waypoint x="950" y="100" />
 +        <omgdi:waypoint x="995" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_0ijaw7o_di" bpmnElement="Flow_0ijaw7o">
 +        <omgdi:waypoint x="950" y="210" />
 +        <omgdi:waypoint x="1020" y="210" />
 +        <omgdi:waypoint x="1020" y="125" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1sjbt67_di" bpmnElement="Flow_1sjbt67">
 +        <omgdi:waypoint x="1045" y="100" />
 +        <omgdi:waypoint x="1082" y="100" />
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_1gmcsmc_di" bpmnElement="Flow_1gmcsmc">
 +        <omgdi:waypoint x="755" y="100" />
 +        <omgdi:waypoint x="850" y="100" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="749" y="66" width="81" height="27" />
 +        </bpmndi:BPMNLabel>
 +      </bpmndi:BPMNEdge>
 +      <bpmndi:BPMNEdge id="Flow_08fw337_di" bpmnElement="Flow_08fw337">
 +        <omgdi:waypoint x="730" y="125" />
 +        <omgdi:waypoint x="730" y="210" />
 +        <omgdi:waypoint x="850" y="210" />
 +        <bpmndi:BPMNLabel>
 +          <omgdc:Bounds x="749" y="176" width="81" height="27" />
 +        </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>     </bpmndi:BPMNPlane>
Line 390: Line 551:
 ===== Notes ===== ===== Notes =====
  
-  * Extra comments (optional) +A BPMN diagram should be treated literally: what you model is what you run. 
- +The task "Check pallets integrity" at [[#how not to]] diagram followed by the gateway "Pallet OK?" means that the gateway checks status of just one pallet. 
-===== Exceptions ===== +Correct way is either to process pallets one by one in a mutli-instance loop ([[#how to]]top), or to continue dealing with a set of pallets ([[#how to]], bottom).
- +
-  * Exceptionsif any +
 ===== See also ===== ===== See also =====
  
-  * References to similar rules (optional)+  * [[collapsed_subprocess]]
  
 ===== Author(s) ===== ===== Author(s) =====
  
-Signature+ --- //[[user:bell|Anatoly Belaychuk]] 2024-08-28 21:49//