AnsweredAssumed Answered

CancelEndEvent goes into dead lock

Question asked by mokematt on Oct 23, 2013
Latest reply on Oct 31, 2013 by trademak
Hi,

i got a process like this: http://abload.de/img/testprocessagkeq.png

The first serviceTask set "ManProvisioning" and "AutomProvisioning" to true so both subprocesses are triggered. The lower subProcess completes with success and the upper subProcess throws a BPMNError. It is caught and the subProcess ends with the errorEndEvent, so finally the cancelBoundaryEvent is reached.
It seems that at this point there is a dead lock. The serviceTask that is marked for compensation is not triggered and the ProcessInstance is not finished yet.

I can not realize why the compensation is not triggered. The JobExecutor is activated.

greets

Here is the output from ACT_RU_EXECUTION:
<table>
   <th>ID_</th>
   <th>REV_</th>
   <th>PROC_INST_ID_</th>
   <th>BUSINESS_KEY_</th>
   <th>PARENT_ID_</th>
   <th>PROC_DEF_ID_</th>
   <th>SUPER_EXEC_</th>
   <th>ACT_ID_</th>
   <th>IS_ACTIVE_</th>
   <th>IS_CONCURRENT_</th>
   <th>IS_SCOPE_</th>
   <th>IS_EVENT_SCOPE_</th>
   <th>SUSPENSION_STATE_</th>
   <th>CACHED_ENT_STATE_</th>

   <tr>
<td>11741</td>
<td>1</td>
<td>11741</td>
<td></td>
<td></td>
<td>PROCESS_1:4:11812</td>
<td></td>
<td></td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
   </tr>
   <tr>
<td>11744</td>
<td>1</td>
<td>11741</td>
<td></td>
<td>11741</td>
<td>PROCESS_1:4:11812</td>
<td></td>
<td>_24</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
   </tr>
</table>


ACT_HI_PROCINST:
<table>
   <th>ID_</th>
   <th>PROC_INST_ID_</th>
   <th>BUSINESS_KEY_</th>
   <th>PROC_DEF_ID_</th>
   <th>START_TIME_</th>
   <th>END_TIME_</th>
   <th>DURATION_</th>
   <th>START_USER_ID_</th>
   <th>START_ACT_ID_</th>
   <th>END_ACT_ID_</th>
   <th>SUPER_PROCESS_INSTANCE_ID_</th>
   <th>DELETE_REASON_</th>

   <tr>
<td>11741</td>
<td>11741</td>
<td></td>
<td>PROCESS_1:4:11812</td>
<td>23-OCT-13 03.02.33.695000000 PM</td>
<td></td>
<td></td>
<td>MOKEMATT</td>
<td>_3</td>
<td></td>
<td></td>
<td></td>
   </tr>
</table>

ACT_HI_ACTINST:
<table>
   <th>ID_</th>
   <th>PROC_DEF_ID_</th>
   <th>PROC_INST_ID_</th>
   <th>EXECUTION_ID_</th>
   <th>ACT_ID_</th>
   <th>TASK_ID_</th>
   <th>CALL_PROC_INST_ID_</th>
   <th>ACT_NAME_</th>
   <th>ACT_TYPE_</th>
   <th>ASSIGNEE_</th>
   <th>START_TIME_</th>
   <th>END_TIME_</th>
   <th>DURATION_</th>

   <tr>
<td>11743</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11741</td>
<td>_3</td>
<td></td>
<td></td>
<td>Start Event</td>
<td>startEvent</td>
<td></td>
<td>23-OCT-13 03.02.33.695000000 PM</td>
<td>23-OCT-13 03.02.33.695000000 PM</td>
<td>0</td>
   </tr>
   <tr>
<td>11745</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11744</td>
<td>setBasicVariables</td>
<td></td>
<td></td>
<td>Service Task</td>
<td>serviceTask</td>
<td></td>
<td>23-OCT-13 03.02.33.695000000 PM</td>
<td>23-OCT-13 03.02.33.696000000 PM</td>
<td>1</td>
   </tr>
   <tr>
<td>11750</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11744</td>
<td>_10</td>
<td></td>
<td></td>
<td>Inclusive Gateway</td>
<td>inclusiveGateway</td>
<td></td>
<td>23-OCT-13 03.02.33.696000000 PM</td>
<td>23-OCT-13 03.02.33.700000000 PM</td>
<td>4</td>
   </tr>
   <tr>
<td>11754</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11753</td>
<td>_29</td>
<td></td>
<td></td>
<td>Sub-Process</td>
<td>subProcess</td>
<td></td>
<td>23-OCT-13 03.02.33.700000000 PM</td>
<td>23-OCT-13 03.02.33.705000000 PM</td>
<td>5</td>
   </tr>
   <tr>
<td>11755</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11753</td>
<td>saveOREX</td>
<td></td>
<td></td>
<td>Service Task</td>
<td>serviceTask</td>
<td></td>
<td>23-OCT-13 03.02.33.700000000 PM</td>
<td>23-OCT-13 03.02.33.702000000 PM</td>
<td>2</td>
   </tr>
   <tr>
<td>11757</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11753</td>
<td>_32</td>
<td></td>
<td></td>
<td>End Event</td>
<td>endEvent</td>
<td></td>
<td>23-OCT-13 03.02.33.702000000 PM</td>
<td>23-OCT-13 03.02.33.702000000 PM</td>
<td>0</td>
   </tr>
   <tr>
<td>11761</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11751</td>
<td>_11</td>
<td></td>
<td></td>
<td>Inclusive Gateway</td>
<td>inclusiveGateway</td>
<td></td>
<td>23-OCT-13 03.02.33.708000000 PM</td>
<td>23-OCT-13 03.02.33.738000000 PM</td>
<td>30</td>
   </tr>
   <tr>
<td>11763</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11762</td>
<td>_36</td>
<td></td>
<td></td>
<td>Sub-Process</td>
<td>subProcess</td>
<td></td>
<td>23-OCT-13 03.02.33.720000000 PM</td>
<td>23-OCT-13 03.02.33.733000000 PM</td>
<td>13</td>
   </tr>
   <tr>
<td>11765</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11764</td>
<td>saveIAMDB</td>
<td></td>
<td></td>
<td>Service Task</td>
<td>serviceTask</td>
<td></td>
<td>23-OCT-13 03.02.33.721000000 PM</td>
<td>23-OCT-13 03.02.33.727000000 PM</td>
<td>6</td>
   </tr>
   <tr>
<td>11766</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11764</td>
<td>_26</td>
<td></td>
<td></td>
<td>Boundary Event</td>
<td>boundaryError</td>
<td></td>
<td>23-OCT-13 03.02.33.727000000 PM</td>
<td>23-OCT-13 03.02.33.727000000 PM</td>
<td>0</td>
   </tr>
   <tr>
<td>11767</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11762</td>
<td>_43</td>
<td></td>
<td></td>
<td>End Event</td>
<td>errorEndEvent</td>
<td></td>
<td>23-OCT-13 03.02.33.730000000 PM</td>
<td></td>
<td></td>
   </tr>
   <tr>
<td>11768</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11762</td>
<td>_41</td>
<td></td>
<td></td>
<td>Boundary Event</td>
<td>boundaryError</td>
<td></td>
<td>23-OCT-13 03.02.33.733000000 PM</td>
<td>23-OCT-13 03.02.33.733000000 PM</td>
<td>0</td>
   </tr>
   <tr>
<td>11769</td>
<td>PROCESS_1:4:11812</td>
<td>11741</td>
<td>11752</td>
<td>_23</td>
<td></td>
<td></td>
<td>End Event</td>
<td>cancelEndEvent</td>
<td></td>
<td>23-OCT-13 03.02.33.735000000 PM</td>
<td>23-OCT-13 03.02.33.954000000 PM</td>
<td>219</td>
   </tr>
</table>

BPMN-XML-Code:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" 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" xmlns:tns="http://sourceforge.net/bpmn/definitions/_1382516972914" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:yaoqiang="http://bpmn.sourceforge.net" exporter="Yaoqiang BPMN Editor" exporterVersion="2.1.28" expressionLanguage="http://www.w3.org/1999/XPath" id="_1382516972914" name="" targetNamespace="http://sourceforge.net/bpmn/definitions/_1382516972914" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://bpmn.sourceforge.net/schemas/BPMN20.xsd">
  <error errorCode="err" id="ERR_1" name="err"/>
  <process id="PROCESS_1" isClosed="false" isExecutable="true" processType="None">
    <transaction completionQuantity="1" id="_2" isForCompensation="false" method="##Compensate" name="Transaction Sub-Process" startQuantity="1" triggeredByEvent="false">
      <incoming>_6</incoming>
      <outgoing>_5</outgoing>
      <startEvent id="_8" isInterrupting="true" name="Start Event" parallelMultiple="false">
        <outgoing>_21</outgoing>
      </startEvent>
      <endEvent id="_9" name="End Event">
        <incoming>_12</incoming>
      </endEvent>
      <inclusiveGateway gatewayDirection="Unspecified" id="_10" name="Inclusive Gateway">
        <incoming>_22</incoming>
        <outgoing>_16</outgoing>
        <outgoing>_17</outgoing>
      </inclusiveGateway>
      <inclusiveGateway gatewayDirection="Unspecified" id="_11" name="Inclusive Gateway">
        <incoming>_18</incoming>
        <incoming>_19</incoming>
        <outgoing>_12</outgoing>
      </inclusiveGateway>
      <sequenceFlow id="_12" sourceRef="_11" targetRef="_9"/>
      <sequenceFlow id="_16" sourceRef="_10" targetRef="_29">
        <conditionExpression><![CDATA[${AutomProvisioning==true}]]></conditionExpression>
      </sequenceFlow>
      <sequenceFlow id="_17" sourceRef="_10" targetRef="_36">
        <conditionExpression><![CDATA[${ManProvisioning==true}]]></conditionExpression>
      </sequenceFlow>
      <sequenceFlow id="_18" sourceRef="_36" targetRef="_11"/>
      <sequenceFlow id="_19" sourceRef="_29" targetRef="_11"/>
      <serviceTask activiti:class="pucco.activiti.serviceTask.testProcess.SetBasicVariables" completionQuantity="1" id="setBasicVariables" implementation="##WebService" isForCompensation="false" name="Service Task" startQuantity="1">
        <incoming>_21</incoming>
        <outgoing>_22</outgoing>
      </serviceTask>
      <sequenceFlow id="_21" sourceRef="_8" targetRef="setBasicVariables"/>
      <sequenceFlow id="_22" sourceRef="setBasicVariables" targetRef="_10"/>
      <endEvent id="_23" name="End Event">
        <incoming>_42</incoming>
        <cancelEventDefinition id="_23_ED_1"/>
      </endEvent>
      <subProcess completionQuantity="1" id="_29" isForCompensation="false" name="Sub-Process" startQuantity="1" triggeredByEvent="false">
        <incoming>_16</incoming>
        <outgoing>_19</outgoing>
        <serviceTask activiti:class="pucco.activiti.serviceTask.testProcess.SaveDataOREX" completionQuantity="1" id="saveOREX" implementation="##WebService" isForCompensation="false" name="Service Task" startQuantity="1">
          <incoming>_34</incoming>
          <outgoing>_35</outgoing>
        </serviceTask>
        <serviceTask activiti:class="pucco.activiti.serviceTask.testProcess.Compensate" completionQuantity="1" id="compensate" implementation="##WebService" isForCompensation="true" name="Service Task" startQuantity="1"/>
        <boundaryEvent attachedToRef="saveOREX" cancelActivity="true" id="_30" parallelMultiple="false">
          <compensateEventDefinition id="_30_ED_1" waitForCompletion="true"/>
        </boundaryEvent>
        <endEvent id="_32" name="End Event">
          <incoming>_35</incoming>
        </endEvent>
        <startEvent id="_33" isInterrupting="true" name="Start Event" parallelMultiple="false">
          <outgoing>_34</outgoing>
        </startEvent>
        <sequenceFlow id="_34" sourceRef="_33" targetRef="saveOREX"/>
        <sequenceFlow id="_35" sourceRef="saveOREX" targetRef="_32"/>
      </subProcess>
      <subProcess completionQuantity="1" id="_36" isForCompensation="false" name="Sub-Process" startQuantity="1" triggeredByEvent="false">
        <incoming>_17</incoming>
        <outgoing>_18</outgoing>
        <serviceTask activiti:class="pucco.activiti.serviceTask.testProcess.SaveDataIAMDB" completionQuantity="1" id="saveIAMDB" implementation="##WebService" isForCompensation="false" name="Service Task" startQuantity="1">
          <incoming>_40</incoming>
          <outgoing>_39</outgoing>
        </serviceTask>
        <boundaryEvent attachedToRef="saveIAMDB" cancelActivity="true" id="_26" parallelMultiple="false">
          <extensionElements>
            <yaoqiang:style align="center" labelPosition="center" verticalAlign="bottom" verticalLabelPosition="top"/>
          </extensionElements>
          <outgoing>_44</outgoing>
          <errorEventDefinition id="_26_ED_1"/>
        </boundaryEvent>
        <startEvent id="_37" isInterrupting="true" name="Start Event" parallelMultiple="false">
          <outgoing>_40</outgoing>
        </startEvent>
        <endEvent id="_38" name="End Event">
          <incoming>_39</incoming>
        </endEvent>
        <sequenceFlow id="_39" sourceRef="saveIAMDB" targetRef="_38"/>
        <sequenceFlow id="_40" sourceRef="_37" targetRef="saveIAMDB"/>
        <endEvent id="_43" name="End Event">
          <incoming>_44</incoming>
          <errorEventDefinition errorRef="ERR_1" id="_43_ED_1"/>
        </endEvent>
        <sequenceFlow id="_44" sourceRef="_26" targetRef="_43"/>
      </subProcess>
      <boundaryEvent attachedToRef="_36" cancelActivity="true" id="_41" name="Boundary Event" parallelMultiple="false">
        <extensionElements>
          <yaoqiang:style align="center" labelPosition="center" verticalAlign="bottom" verticalLabelPosition="top"/>
        </extensionElements>
        <outgoing>_42</outgoing>
        <errorEventDefinition errorRef="ERR_1" id="_41_ED_1"/>
      </boundaryEvent>
      <sequenceFlow id="_42" sourceRef="_41" targetRef="_23"/>
    </transaction>
    <startEvent id="_3" isInterrupting="true" name="Start Event" parallelMultiple="false">
      <outgoing>_6</outgoing>
    </startEvent>
    <endEvent id="_4" name="End Event">
      <incoming>_5</incoming>
      <incoming>_25</incoming>
    </endEvent>
    <sequenceFlow id="_5" sourceRef="_2" targetRef="_4"/>
    <sequenceFlow id="_6" sourceRef="_3" targetRef="_2"/>
    <boundaryEvent attachedToRef="_2" cancelActivity="true" id="_24" name="Boundary Event" parallelMultiple="false">
      <extensionElements>
        <yaoqiang:style align="left" labelPosition="right" verticalAlign="middle" verticalLabelPosition="middle"/>
      </extensionElements>
      <outgoing>_25</outgoing>
      <cancelEventDefinition id="_24_ED_1"/>
    </boundaryEvent>
    <sequenceFlow id="_25" sourceRef="_24" targetRef="_4"/>
    <association associationDirection="One" id="_31" sourceRef="_30" targetRef="compensate"/>
  </process>
  <bpmndi:BPMNDiagram documentation="background=#FFFFFF;count=1;horizontalcount=1;orientation=0;width=597.6;height=842.4;imageableWidth=587.6;imageableHeight=832.4;imageableX=5.0;imageableY=5.0" id="Yaoqiang_Diagram-_1" name="New Diagram">
    <bpmndi:BPMNPlane bpmnElement="PROCESS_1">
      <bpmndi:BPMNShape bpmnElement="_2" id="Yaoqiang-_2" isExpanded="true">
        <dc:Bounds height="580.0" width="778.0" x="111.0" y="144.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="580.0" width="778.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_3" id="Yaoqiang-_3">
        <dc:Bounds height="32.0" width="32.0" x="42.0" y="416.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_4" id="Yaoqiang-_4">
        <dc:Bounds height="32.0" width="32.0" x="985.0" y="415.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_8" id="Yaoqiang-_8">
        <dc:Bounds height="32.0" width="32.0" x="148.0" y="369.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_9" id="Yaoqiang-_9">
        <dc:Bounds height="32.0" width="32.0" x="768.0" y="410.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_10" id="Yaoqiang-_10">
        <dc:Bounds height="42.0" width="42.0" x="334.0" y="361.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="42.0" width="42.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_11" id="Yaoqiang-_11">
        <dc:Bounds height="42.0" width="42.0" x="671.0" y="405.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="42.0" width="42.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="setBasicVariables" id="Yaoqiang-setBasicVariables">
        <dc:Bounds height="55.0" width="85.0" x="203.0" y="355.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_23" id="Yaoqiang-_23">
        <dc:Bounds height="32.0" width="32.0" x="795.0" y="200.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_24" id="Yaoqiang-_24">
        <dc:Bounds height="32.0" width="32.0" x="873.0" y="240.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="1.0" width="0.0" x="-16.0" y="96.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_29" id="Yaoqiang-_29" isExpanded="true">
        <dc:Bounds height="190.0" width="295.0" x="372.0" y="490.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="190.0" width="295.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_36" id="Yaoqiang-_36" isExpanded="true">
        <dc:Bounds height="191.0" width="288.0" x="385.0" y="182.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="191.0" width="288.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="saveOREX" id="Yaoqiang-saveOREX">
        <dc:Bounds height="73.0" width="95.0" x="448.0" y="512.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="73.0" width="95.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="compensate" id="Yaoqiang-compensate">
        <dc:Bounds height="55.0" width="85.0" x="480.0" y="619.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_32" id="Yaoqiang-_32">
        <dc:Bounds height="32.0" width="32.0" x="609.0" y="567.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_33" id="Yaoqiang-_33">
        <dc:Bounds height="32.0" width="32.0" x="394.0" y="572.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_30" id="Yaoqiang-_30">
        <dc:Bounds height="32.0" width="32.0" x="504.0" y="569.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="1.0" x="56.0" y="-16.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="saveIAMDB" id="Yaoqiang-saveIAMDB">
        <dc:Bounds height="65.0" width="95.0" x="471.0" y="262.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="65.0" width="95.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_37" id="Yaoqiang-_37">
        <dc:Bounds height="32.0" width="32.0" x="412.0" y="279.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_38" id="Yaoqiang-_38">
        <dc:Bounds height="32.0" width="32.0" x="612.0" y="279.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_41" id="Yaoqiang-_41">
        <dc:Bounds height="32.0" width="32.0" x="657.0" y="201.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="1.0" width="0.0" x="-16.0" y="19.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_43" id="Yaoqiang-_43">
        <dc:Bounds height="32.0" width="32.0" x="605.0" y="220.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_26" id="Yaoqiang-_26">
        <dc:Bounds height="32.0" width="32.0" x="506.0" y="246.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="35.0" y="-16.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="_25" id="Yaoqiang-_25" sourceElement="_24" targetElement="_4">
        <di:waypoint x="902.228756555323" y="265.0"/>
        <di:waypoint x="1006.0" y="265.0"/>
        <di:waypoint x="1006.0" y="415.80131584642936"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_22" id="Yaoqiang-_22" sourceElement="setBasicVariables" targetElement="_10">
        <di:waypoint x="288.0" y="382.5"/>
        <di:waypoint x="334.0" y="382.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_21" id="Yaoqiang-_21" sourceElement="_8" targetElement="setBasicVariables">
        <di:waypoint x="180.0" y="385.0"/>
        <di:waypoint x="203.0" y="382.5"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_19" id="Yaoqiang-_19" sourceElement="_29" targetElement="_11">
        <di:waypoint x="667.0" y="580.0"/>
        <di:waypoint x="691.0" y="580.0"/>
        <di:waypoint x="691.0" y="446.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_18" id="Yaoqiang-_18" sourceElement="_36" targetElement="_11">
        <di:waypoint x="673.0" y="278.0"/>
        <di:waypoint x="693.0" y="278.0"/>
        <di:waypoint x="693.0" y="406.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_6" id="Yaoqiang-_6" sourceElement="_3" targetElement="_2">
        <di:waypoint x="74.0" y="432.0"/>
        <di:waypoint x="111.0" y="434.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_17" id="Yaoqiang-_17" sourceElement="_10" targetElement="_36">
        <di:waypoint x="355.0" y="361.0"/>
        <di:waypoint x="355.0" y="277.0"/>
        <di:waypoint x="385.0" y="277.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="-48.0" width="0.0" x="0.0" y="52.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_5" id="Yaoqiang-_5" sourceElement="_2" targetElement="_4">
        <di:waypoint x="889.0" y="434.0"/>
        <di:waypoint x="985.0" y="431.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_16" id="Yaoqiang-_16" sourceElement="_10" targetElement="_29">
        <di:waypoint x="355.0" y="403.0"/>
        <di:waypoint x="355.0" y="488.0"/>
        <di:waypoint x="372.0" y="585.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="-51.0" width="-85.0" x="1.0" y="-68.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_12" id="Yaoqiang-_12" sourceElement="_11" targetElement="_9">
        <di:waypoint x="713.0" y="426.0"/>
        <di:waypoint x="768.0" y="426.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_44" id="Yaoqiang-_44" sourceElement="_26" targetElement="_43">
        <di:waypoint x="524.0" y="246.12549213361245"/>
        <di:waypoint x="524.0" y="236.0"/>
        <di:waypoint x="605.0" y="236.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_42" id="Yaoqiang-_42" sourceElement="_41" targetElement="_23">
        <di:waypoint x="689.0" y="217.0"/>
        <di:waypoint x="795.0" y="216.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_40" id="Yaoqiang-_40" sourceElement="_37" targetElement="saveIAMDB">
        <di:waypoint x="444.0" y="295.0"/>
        <di:waypoint x="471.0" y="294.5"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_39" id="Yaoqiang-_39" sourceElement="saveIAMDB" targetElement="_38">
        <di:waypoint x="566.0" y="294.5"/>
        <di:waypoint x="612.0" y="295.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_35" id="Yaoqiang-_35" sourceElement="saveOREX" targetElement="_32">
        <di:waypoint x="543.0" y="548.5"/>
        <di:waypoint x="609.0" y="583.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_34" id="Yaoqiang-_34" sourceElement="_33" targetElement="saveOREX">
        <di:waypoint x="426.0" y="588.0"/>
        <di:waypoint x="448.0" y="548.5"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_31" id="Yaoqiang-_31" sourceElement="_30" targetElement="compensate">
        <di:waypoint x="520.0" y="601.0"/>
        <di:waypoint x="520.0" y="619.0"/>
        <bpmndi:BPMNLabel>
          <dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

Outcomes