cancel
Showing results for 
Search instead for 
Did you mean: 

Some designer errors

zidia
Champ in-the-making
Champ in-the-making
Hi all,
probably its a wrong way to notify about this but I taught that it could be somehow appropriate if you have any suggestions on how to avoid this.

Namely, I'm a teaching assistant at the University of Trento (Italy) and I was teaching Activiti these months. During the exams my students have been really inspired and created "amazing" diagrams. They did it so amazingly that most of them had difficulties to manage (create, stretch, drag n drop) containers and in particular the subprocesses and connections among elements inside subprocesses.
So I had many problems visualizing their diagrams.

I'm uploading here 2 examples of processes that are visualized badly. If you have any suggestion about how to solve these issues for example some best practice about using the modeler it would be great if you can share them. In this way I'll tell them next time smt like "when you put a container dont strech it anymore because it can create some issues". It could save lives…



Diagram1


<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <collaboration id="Collaboration">
    <participant id="pool1" name="Referendum" processRef="process_pool1"></participant>
  </collaboration>
  <process id="process_pool1" name="process_pool1" isExecutable="true">
    <laneSet id="laneSet_process_pool1">
      <lane id="lane1"></lane>
      <lane id="lane2" name="Citizen">
        <flowNodeRef>boundarytimer1</flowNodeRef>
        <flowNodeRef>boundarytimer2</flowNodeRef>
        <flowNodeRef>subprocess1</flowNodeRef>
        <flowNodeRef>mailtask1</flowNodeRef>
        <flowNodeRef>mailtask2</flowNodeRef>
        <flowNodeRef>scripttask5</flowNodeRef>
        <flowNodeRef>mailtask3</flowNodeRef>
      </lane>
      <lane id="lane3" name="Parliament">
        <flowNodeRef>startevent1</flowNodeRef>
        <flowNodeRef>usertask1</flowNodeRef>
        <flowNodeRef>callactivity1</flowNodeRef>
        <flowNodeRef>servicetask2</flowNodeRef>
        <flowNodeRef>scripttask3</flowNodeRef>
        <flowNodeRef>endevent1</flowNodeRef>
      </lane>
    </laneSet>
    <userTask id="usertask1" name="Create Referendum" activiti:candidateGroups="parliement">
      <documentation>Parliament wants to create referendum to ${description}</documentation>
      <extensionElements>
        <activiti:formProperty id="Description" name="Description" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="startDate" name="Start Date" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="endDate" name="End Date" type="string" required="true"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <startEvent id="startevent1" name="Start"></startEvent>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="scripttask3"></sequenceFlow>
    <subProcess id="subprocess1" name="Vote">
      <multiInstanceLoopCharacteristics isSequential="false">
        <loopCardinality>100</loopCardinality>
        <completionCondition>${numApprove&gt;20000000}</completionCondition>
      </multiInstanceLoopCharacteristics>
      <startEvent id="timerstartevent1" name="Timer start">
        <timerEventDefinition>
          <timeDate>startDate</timeDate>
        </timerEventDefinition>
      </startEvent>
      <userTask id="usertask2" name="Show Id">
        <extensionElements>
          <activiti:formProperty id="Id" name="Id" type="string" writable="false" required="true"></activiti:formProperty>
        </extensionElements>
      </userTask>
      <scriptTask id="scripttask1" name="Check ID" scriptFormat="groovy">
        <script>authorized=false;

if id.length()==5
{
   authorized=true;   
}</script>
      </scriptTask>
      <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="scripttask1"></sequenceFlow>
      <userTask id="usertask3" name="Vote">
        <extensionElements>
          <activiti:formProperty id="Vote" name="Vote" type="enum">
            <activiti:value id="approve" name="Approve"></activiti:value>
            <activiti:value id="reject" name="Reject"></activiti:value>
            <activiti:value id="blank" name="Blank"></activiti:value>
            <activiti:value id="invalidate" name="Invalidate"></activiti:value>
          </activiti:formProperty>
          <activiti:formProperty id="Id" name="Id" type="string" required="true"></activiti:formProperty>
          <activiti:taskListener event="create" class="exam.bpm.VoteListener">
            <activiti:field name="vote">
              <activiti:string>vote</activiti:string>
            </activiti:field>
          </activiti:taskListener>
        </extensionElements>
      </userTask>
      <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
      <sequenceFlow id="flow4" sourceRef="scripttask1" targetRef="exclusivegateway1"></sequenceFlow>
      <sequenceFlow id="flow5" name="Authorized" sourceRef="exclusivegateway1" targetRef="usertask3"></sequenceFlow>
      <serviceTask id="servicetask1" name="Save Vote"></serviceTask>
      <boundaryEvent id="boundaryerror1" name="Error" attachedToRef="servicetask1">
        <errorEventDefinition></errorEventDefinition>
      </boundaryEvent>
      <sequenceFlow id="flow8" sourceRef="boundaryerror1" targetRef="scripttask4"></sequenceFlow>
      <scriptTask id="scripttask2" name="Vote Counting" scriptFormat="groovy">
        <script>numVotes++;
if (vote==approve){

   numApprove++;
}
else if (vote==reject){

   numReject++;
}
else if (vote==blank){

   numBlank++;
}
else if (vote==invalidate){

   numInvalidate++;
}
</script>
      </scriptTask>
      <sequenceFlow id="flow10" sourceRef="scripttask2" targetRef="servicetask1"></sequenceFlow>
      <sequenceFlow id="flow12" sourceRef="usertask3" targetRef="scripttask2"></sequenceFlow>
      <scriptTask id="scripttask4" name="Print Message" scriptFormat="groovy">
        <script>out::println "Sorry something wrong, please try again "+${id};</script>
      </scriptTask>
      <sequenceFlow id="flow13" sourceRef="scripttask4" targetRef="usertask3"></sequenceFlow>
      <startEvent id="timerstartevent2" name="Timer start">
        <timerEventDefinition></timerEventDefinition>
      </startEvent>
      <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
    </subProcess>
    <callActivity id="callactivity1" name="Call activity" calledElement="Vote">
      <extensionElements>
        <activiti:in source="startDate" target="startDate"></activiti:in>
        <activiti:in source="endDate" target="endDate"></activiti:in>
      </extensionElements>
    </callActivity>
    <boundaryEvent id="boundarytimer1" name="Vote End" attachedToRef="subprocess1" cancelActivity="true">
      <timerEventDefinition>
        <timeDate>endDate</timeDate>
      </timerEventDefinition>
    </boundaryEvent>
    <sequenceFlow id="flow6" name="Not Authorized" sourceRef="subprocess1" targetRef="usertask2">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[authorized==false]]></conditionExpression>
    </sequenceFlow>
    <scriptTask id="scripttask3" name="Init vars" scriptFormat="javascript">
      <script>numReject=0;
numBlank=0;
numApprove=0;
numInvalidate=0;
numVotes=0;
error=false;</script>
    </scriptTask>
    <sequenceFlow id="flow9" sourceRef="scripttask3" targetRef="servicetask2"></sequenceFlow>
    <serviceTask id="servicetask2" name="CreateDB"></serviceTask>
    <sequenceFlow id="flow11" sourceRef="servicetask2" targetRef="callactivity1"></sequenceFlow>
    <boundaryEvent id="boundarytimer2" name="Send Update" attachedToRef="subprocess1" cancelActivity="false">
      <timerEventDefinition>
        <timeCycle>R3/PT10M</timeCycle>
      </timerEventDefinition>
    </boundaryEvent>
    <serviceTask id="mailtask1" name="Mail Time out" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>adminoffice@parliament.org</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Referendum approval</activiti:string>
        </activiti:field>
        <activiti:field name="html">
          <activiti:expression>total Approve = ${numApprove}
total Reject = ${numReject}
total Blank= ${numBlank}
total Invalidate=${numInvalidate}</activiti:expression>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow14" sourceRef="boundarytimer1" targetRef="mailtask1"></sequenceFlow>
    <serviceTask id="mailtask2" name="Announcement" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>announements@news.com</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Referendum status update</activiti:string>
        </activiti:field>
        <activiti:field name="html">
          <activiti:expression>total Approve = ${numApprove}
total Reject = ${numReject}
total Blank= ${numBlank}
total Invalidate=${numInvalidate}</activiti:expression>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow15" sourceRef="boundarytimer2" targetRef="mailtask2"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow16" sourceRef="callactivity1" targetRef="endevent1"></sequenceFlow>
    <scriptTask id="scripttask5" name="Script Task" scriptFormat="groovy">
      <script>if(numVote&gt;4000000)
   error=true;
else
   error=false;</script>
    </scriptTask>
    <sequenceFlow id="flow17" sourceRef="mailtask1" targetRef="scripttask5"></sequenceFlow>
    <sequenceFlow id="flow18" sourceRef="scripttask5" targetRef="exclusivegateway2"></sequenceFlow>
    <serviceTask id="mailtask3" name="Mail Task" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>emergencyOffice@parliament.org</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Alert Potential Fraud</activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow19" sourceRef="exclusivegateway2" targetRef="mailtask3">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[error==true]]></conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
    <bpmndi:BPMNPlane bpmnElement="Collaboration" id="BPMNPlane_Collaboration">
      <bpmndi:BPMNShape bpmnElement="pool1" id="BPMNShape_pool1">
        <omgdc:Bounds height="759.0" width="1001.0" x="20.0" y="-190.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane1" id="BPMNShape_lane1">
        <omgdc:Bounds height="126.0" width="981.0" x="40.0" y="167.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane2" id="BPMNShape_lane2">
        <omgdc:Bounds height="401.0" width="981.0" x="40.0" y="-200.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane3" id="BPMNShape_lane3">
        <omgdc:Bounds height="230.0" width="981.0" x="40.0" y="316.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55.0" width="105.0" x="150.0" y="339.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="66.0" y="359.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="subprocess1" id="BPMNShape_subprocess1">
        <omgdc:Bounds height="271.0" width="901.0" x="90.0" y="-170.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="timerstartevent1" id="BPMNShape_timerstartevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="110.0" y="-126.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
        <omgdc:Bounds height="55.0" width="105.0" x="170.0" y="-146.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask1" id="BPMNShape_scripttask1">
        <omgdc:Bounds height="55.0" width="105.0" x="290.0" y="-128.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="55.0" width="105.0" x="540.0" y="-128.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="440.0" y="-121.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
        <omgdc:Bounds height="55.0" width="105.0" x="860.0" y="-128.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundaryerror1" id="BPMNShape_boundaryerror1">
        <omgdc:Bounds height="30.0" width="30.0" x="936.0" y="-92.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer1" id="BPMNShape_boundarytimer1">
        <omgdc:Bounds height="30.0" width="30.0" x="520.0" y="90.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="callactivity1" id="BPMNShape_callactivity1">
        <omgdc:Bounds height="55.0" width="105.0" x="660.0" y="339.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask2" id="BPMNShape_scripttask2">
        <omgdc:Bounds height="55.0" width="105.0" x="700.0" y="-128.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask3" id="BPMNShape_scripttask3">
        <omgdc:Bounds height="55.0" width="105.0" x="320.0" y="339.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask2" id="BPMNShape_servicetask2">
        <omgdc:Bounds height="55.0" width="105.0" x="500.0" y="339.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask4" id="BPMNShape_scripttask4">
        <omgdc:Bounds height="55.0" width="105.0" x="720.0" y="-20.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="timerstartevent2" id="BPMNShape_timerstartevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="990.0" y="-160.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer2" id="BPMNShape_boundarytimer2">
        <omgdc:Bounds height="30.0" width="30.0" x="950.0" y="80.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask1" id="BPMNShape_mailtask1">
        <omgdc:Bounds height="55.0" width="105.0" x="220.0" y="120.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask2" id="BPMNShape_mailtask2">
        <omgdc:Bounds height="55.0" width="105.0" x="800.0" y="130.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="820.0" y="349.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask5" id="BPMNShape_scripttask5">
        <omgdc:Bounds height="55.0" width="105.0" x="420.0" y="130.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
        <omgdc:Bounds height="40.0" width="40.0" x="570.0" y="127.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask3" id="BPMNShape_mailtask3">
        <omgdc:Bounds height="55.0" width="105.0" x="670.0" y="120.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="101.0" y="376.0"></omgdi:waypoint>
        <omgdi:waypoint x="150.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="255.0" y="366.0"></omgdi:waypoint>
        <omgdi:waypoint x="320.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="275.0" y="-119.0"></omgdi:waypoint>
        <omgdi:waypoint x="290.0" y="-101.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
        <omgdi:waypoint x="395.0" y="-101.0"></omgdi:waypoint>
        <omgdi:waypoint x="440.0" y="-101.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
        <omgdi:waypoint x="480.0" y="-101.0"></omgdi:waypoint>
        <omgdi:waypoint x="540.0" y="-101.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="-40.0" y="7.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
        <omgdi:waypoint x="951.0" y="-62.0"></omgdi:waypoint>
        <omgdi:waypoint x="910.0" y="3.0"></omgdi:waypoint>
        <omgdi:waypoint x="834.0" y="3.0"></omgdi:waypoint>
        <omgdi:waypoint x="825.0" y="7.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
        <omgdi:waypoint x="991.0" y="-35.0"></omgdi:waypoint>
        <omgdi:waypoint x="457.0" y="-29.0"></omgdi:waypoint>
        <omgdi:waypoint x="224.0" y="-29.0"></omgdi:waypoint>
        <omgdi:waypoint x="222.0" y="-91.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
        <omgdi:waypoint x="805.0" y="-101.0"></omgdi:waypoint>
        <omgdi:waypoint x="860.0" y="-101.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
        <omgdi:waypoint x="425.0" y="366.0"></omgdi:waypoint>
        <omgdi:waypoint x="500.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
        <omgdi:waypoint x="605.0" y="366.0"></omgdi:waypoint>
        <omgdi:waypoint x="660.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
        <omgdi:waypoint x="645.0" y="-101.0"></omgdi:waypoint>
        <omgdi:waypoint x="700.0" y="-101.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
        <omgdi:waypoint x="720.0" y="7.0"></omgdi:waypoint>
        <omgdi:waypoint x="605.0" y="7.0"></omgdi:waypoint>
        <omgdi:waypoint x="592.0" y="-73.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
        <omgdi:waypoint x="520.0" y="105.0"></omgdi:waypoint>
        <omgdi:waypoint x="272.0" y="120.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
        <omgdi:waypoint x="965.0" y="110.0"></omgdi:waypoint>
        <omgdi:waypoint x="852.0" y="130.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
        <omgdi:waypoint x="765.0" y="366.0"></omgdi:waypoint>
        <omgdi:waypoint x="820.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
        <omgdi:waypoint x="325.0" y="147.0"></omgdi:waypoint>
        <omgdi:waypoint x="420.0" y="157.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
        <omgdi:waypoint x="525.0" y="157.0"></omgdi:waypoint>
        <omgdi:waypoint x="660.0" y="157.0"></omgdi:waypoint>
        <omgdi:waypoint x="610.0" y="147.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
        <omgdi:waypoint x="610.0" y="147.0"></omgdi:waypoint>
        <omgdi:waypoint x="620.0" y="147.0"></omgdi:waypoint>
        <omgdi:waypoint x="670.0" y="147.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>



DIagram 2


<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <collaboration id="Collaboration">
    <participant id="pool1" name="Referendum" processRef="process_pool1"></participant>
  </collaboration>
  <process id="process_pool1" name="process_pool1" isExecutable="true">
    <laneSet id="laneSet_process_pool1">
      <lane id="lane1" name="Parliament">
        <flowNodeRef>startevent1</flowNodeRef>
        <flowNodeRef>usertask1</flowNodeRef>
        <flowNodeRef>scripttask2</flowNodeRef>
        <flowNodeRef>callactivity1</flowNodeRef>
        <flowNodeRef>exclusivegateway2</flowNodeRef>
      </lane>
      <lane id="lane2" name="Citizen">
        <flowNodeRef>scripttask1</flowNodeRef>
        <flowNodeRef>timerintermediatecatchevent1</flowNodeRef>
        <flowNodeRef>subprocess1</flowNodeRef>
        <flowNodeRef>boundarytimer1</flowNodeRef>
        <flowNodeRef>boundarytimer2</flowNodeRef>
        <flowNodeRef>mailtask2</flowNodeRef>
        <flowNodeRef>endevent5</flowNodeRef>
        <flowNodeRef>endevent6</flowNodeRef>
        <flowNodeRef>parallelgateway1</flowNodeRef>
        <flowNodeRef>scripttask5</flowNodeRef>
        <flowNodeRef>parallelgateway2</flowNodeRef>
        <flowNodeRef>exclusivegateway3</flowNodeRef>
        <flowNodeRef>errorendevent1</flowNodeRef>
        <flowNodeRef>endevent7</flowNodeRef>
        <flowNodeRef>eventsubprocess2</flowNodeRef>
        <flowNodeRef>mailtask5</flowNodeRef>
        <flowNodeRef>mailtask6</flowNodeRef>
      </lane>
    </laneSet>
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="Create Referendum" activiti:candidateGroups="parliament">
      <extensionElements>
        <activiti:formProperty id="description" name="Description" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="starDate" name="Start Date" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="endDate" name="End Date" type="string" required="true"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <scriptTask id="scripttask1" name="Show Description for the Referendum" activiti:autoStoreVariables="true"></scriptTask>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="scripttask1"></sequenceFlow>
    <intermediateCatchEvent id="timerintermediatecatchevent1" name="TimerCatchEvent">
      <timerEventDefinition>
        <timeDate>${starDate}</timeDate>
      </timerEventDefinition>
    </intermediateCatchEvent>
    <sequenceFlow id="flow3" sourceRef="scripttask1" targetRef="timerintermediatecatchevent1"></sequenceFlow>
    <subProcess id="subprocess1" name="Voting Procedure">
      <multiInstanceLoopCharacteristics isSequential="false">
        <loopCardinality>1000</loopCardinality>
        <completionCondition>${(nroApproval/(nroRejection + nroBlanck + nroInvalidate)) &gt; 0.5}</completionCondition>
      </multiInstanceLoopCharacteristics>
      <startEvent id="startevent2" name="Start"></startEvent>
      <userTask id="usertask2" name="Ask to Vote" activiti:candidateGroups="citizen">
        <extensionElements>
          <activiti:formProperty id="authorization" name="Authorization" type="enum">
            <activiti:value id="true" name="authorized"></activiti:value>
            <activiti:value id="false" name="not authorized"></activiti:value>
          </activiti:formProperty>
          <activiti:formProperty id="name" name="Name" type="string"></activiti:formProperty>
          <activiti:formProperty id="vote" name="Vote" type="enum">
            <activiti:value id="0" name="approve"></activiti:value>
            <activiti:value id="1" name="reject"></activiti:value>
            <activiti:value id="2" name="blanck"></activiti:value>
            <activiti:value id="3" name="invalidate"></activiti:value>
          </activiti:formProperty>
        </extensionElements>
      </userTask>
      <sequenceFlow id="flow6" sourceRef="usertask2" targetRef="callactivity1"></sequenceFlow>
      <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
      <endEvent id="endevent1" name="End"></endEvent>
      <sequenceFlow id="flow8" sourceRef="exclusivegateway1" targetRef="endevent1"></sequenceFlow>
      <serviceTask id="servicetask1" name="Save Votes into DB" activiti:class="VoteSaver"></serviceTask>
      <sequenceFlow id="flow9" sourceRef="exclusivegateway1" targetRef="servicetask1"></sequenceFlow>
      <boundaryEvent id="boundaryerror1" name="Error" attachedToRef="servicetask1">
        <errorEventDefinition errorRef="errorCongestionedDB"></errorEventDefinition>
      </boundaryEvent>
      <subProcess id="eventsubprocess1" name="Event sub Process" triggeredByEvent="true">
        <startEvent id="errorstartevent1" name="Error start">
          <errorEventDefinition errorRef="errorCongestionedDB"></errorEventDefinition>
        </startEvent>
        <userTask id="usertask3" name="Vote Again" activiti:assignee="${name}">
          <extensionElements>
            <activiti:formProperty id="vote" name="Vote" type="enum">
              <activiti:value id="0" name="approve"></activiti:value>
              <activiti:value id="1" name="reject"></activiti:value>
              <activiti:value id="2" name="blanck"></activiti:value>
              <activiti:value id="3" name="invalidate"></activiti:value>
            </activiti:formProperty>
          </extensionElements>
        </userTask>
        <sequenceFlow id="flow10" sourceRef="errorstartevent1" targetRef="usertask3"></sequenceFlow>
        <serviceTask id="servicetask2" name="Save Vote into DB Again" activiti:class="VoteSaver"></serviceTask>
        <sequenceFlow id="flow15" sourceRef="usertask3" targetRef="servicetask2"></sequenceFlow>
        <endEvent id="endevent4" name="End"></endEvent>
        <sequenceFlow id="flow16" sourceRef="servicetask2" targetRef="endevent4"></sequenceFlow>
      </subProcess>
      <scriptTask id="scripttask3" name="Error Message" scriptFormat="groovy" activiti:autoStoreVariables="true">
        <script>out.println "Sorry there is smt Wrong. Try Again";</script>
      </scriptTask>
      <sequenceFlow id="flow13" sourceRef="boundaryerror1" targetRef="scripttask3"></sequenceFlow>
      <endEvent id="endevent3" name="End"></endEvent>
      <sequenceFlow id="flow14" sourceRef="scripttask3" targetRef="endevent3"></sequenceFlow>
      <scriptTask id="scripttask4" name="Declare Variables" scriptFormat="groovy" activiti:autoStoreVariables="true">
        <script>nroApprove = 0;
nroReject = 0;
nroBlanck = 0;
nroInvalidate = 0;</script>
      </scriptTask>
      <sequenceFlow id="flow17" sourceRef="startevent2" targetRef="scripttask4"></sequenceFlow>
      <sequenceFlow id="flow18" sourceRef="scripttask4" targetRef="usertask2"></sequenceFlow>
    </subProcess>
    <sequenceFlow id="flow4" sourceRef="timerintermediatecatchevent1" targetRef="subprocess1"></sequenceFlow>
    <boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="subprocess1" cancelActivity="true">
      <timerEventDefinition>
        <timeDate>${endDate}</timeDate>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer2" name="Timer" attachedToRef="subprocess1" cancelActivity="true">
      <timerEventDefinition>
        <timeCycle>R/PT10M</timeCycle>
      </timerEventDefinition>
    </boundaryEvent>
    <scriptTask id="scripttask2" name="Script Task" activiti:autoStoreVariables="true"></scriptTask>
    <callActivity id="callactivity1" name="Check the Identity" calledElement="myProcess">
      <extensionElements>
        <activiti:in source="authorization" target="authorization"></activiti:in>
        <activiti:out source="authorization" target="authorization"></activiti:out>
      </extensionElements>
    </callActivity>
    <sequenceFlow id="flow7" sourceRef="callactivity1" targetRef="exclusivegateway1"></sequenceFlow>
    <serviceTask id="mailtask2" name="Send Message of Approved Referendum" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>announcement@news.com</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Referendum Approval</activiti:string>
        </activiti:field>
        <activiti:field name="html">
          <activiti:expression>the referendum has been approved after "${nroApprove}" vote</activiti:expression>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow19" sourceRef="subprocess1" targetRef="mailtask2"></sequenceFlow>
    <endEvent id="endevent6" name="End"></endEvent>
    <sequenceFlow id="flow21" sourceRef="mailtask2" targetRef="endevent6"></sequenceFlow>
    <parallelGateway id="parallelgateway1" name="Parallel Gateway"></parallelGateway>
    <sequenceFlow id="flow22" sourceRef="boundarytimer1" targetRef="parallelgateway1"></sequenceFlow>
    <scriptTask id="scripttask5" name="Check Number of votes" scriptFormat="groovy" activiti:autoStoreVariables="true">
      <script>error = false;
if((nroApprove + nroReject + nroBlack + nroInvalidate) &gt; 40000000) {
   error = true;
} </script>
    </scriptTask>
    <sequenceFlow id="flow24" sourceRef="parallelgateway1" targetRef="scripttask5"></sequenceFlow>
    <parallelGateway id="parallelgateway2" name="Parallel Gateway"></parallelGateway>
    <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
    <exclusiveGateway id="exclusivegateway3" name="Exclusive Gateway"></exclusiveGateway>
    <sequenceFlow id="flow27" sourceRef="scripttask5" targetRef="exclusivegateway3"></sequenceFlow>
    <endEvent id="errorendevent1" name="ErrorEnd">
      <errorEventDefinition errorRef="errorEmergencyEvent"></errorEventDefinition>
    </endEvent>
    <sequenceFlow id="flow28" sourceRef="exclusivegateway3" targetRef="errorendevent1">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${error}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow29" sourceRef="exclusivegateway3" targetRef="parallelgateway2">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!error}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent7" name="End"></endEvent>
    <sequenceFlow id="flow30" sourceRef="parallelgateway2" targetRef="endevent7"></sequenceFlow>
    <subProcess id="eventsubprocess2" name="Emergency" triggeredByEvent="true">
      <startEvent id="errorstartevent2" name="Error start">
        <errorEventDefinition errorRef="errorEmergencyEvent"></errorEventDefinition>
      </startEvent>
      <serviceTask id="mailtask4" name="Send MEssage to Parliament" activiti:type="mail">
        <extensionElements>
          <activiti:field name="to">
            <activiti:string>emergencyoffice@parliament.org</activiti:string>
          </activiti:field>
          <activiti:field name="subject">
            <activiti:string>Alert potential Electoral Freud</activiti:string>
          </activiti:field>
          <activiti:field name="html">
            <activiti:string>A voting verification is urgently needed</activiti:string>
          </activiti:field>
        </extensionElements>
      </serviceTask>
      <sequenceFlow id="flow31" name="Send MEssage to Parliament" sourceRef="errorstartevent2" targetRef="mailtask4"></sequenceFlow>
      <endEvent id="endevent8" name="End"></endEvent>
      <sequenceFlow id="flow32" sourceRef="mailtask4" targetRef="endevent8"></sequenceFlow>
    </subProcess>
    <serviceTask id="mailtask5" name="Mail Task" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>announcement@news.com</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Referendum status update</activiti:string>
        </activiti:field>
        <activiti:field name="html">
          <activiti:expression>${nroApprove}
${nroReject}
${nroBlanck}
${nroInvalidate}</activiti:expression>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow33" sourceRef="boundarytimer2" targetRef="mailtask5"></sequenceFlow>
    <serviceTask id="mailtask6" name="Mail Task" activiti:type="mail">
      <extensionElements>
        <activiti:field name="to">
          <activiti:string>adminoffice@parliament.org</activiti:string>
        </activiti:field>
        <activiti:field name="subject">
          <activiti:string>Summary</activiti:string>
        </activiti:field>
        <activiti:field name="html">
          <activiti:expression>${nroApprove}
${nroReject}
${nroBlanck}
${nroInvalidate}</activiti:expression>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow34" sourceRef="parallelgateway1" targetRef="mailtask6"></sequenceFlow>
    <sequenceFlow id="flow35" sourceRef="mailtask6" targetRef="parallelgateway2"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
    <bpmndi:BPMNPlane bpmnElement="Collaboration" id="BPMNPlane_Collaboration">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="190.0" y="300.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="pool1" id="BPMNShape_pool1">
        <omgdc:Bounds height="1070.0" width="1742.0" x="120.0" y="210.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane1" id="BPMNShape_lane1">
        <omgdc:Bounds height="407.0" width="1722.0" x="140.0" y="210.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane2" id="BPMNShape_lane2">
        <omgdc:Bounds height="661.0" width="1722.0" x="140.0" y="520.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55.0" width="105.0" x="270.0" y="290.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask1" id="BPMNShape_scripttask1">
        <omgdc:Bounds height="55.0" width="105.0" x="270.0" y="653.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent1" id="BPMNShape_timerintermediatecatchevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="430.0" y="663.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="subprocess1" id="BPMNShape_subprocess1" isExpanded="false">
        <omgdc:Bounds height="291.0" width="1131.0" x="500.0" y="535.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer1" id="BPMNShape_boundarytimer1">
        <omgdc:Bounds height="30.0" width="30.0" x="1440.0" y="810.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="startevent2" id="BPMNShape_startevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="520.0" y="570.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
        <omgdc:Bounds height="55.0" width="105.0" x="610.0" y="656.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="callactivity1" id="BPMNShape_callactivity1">
        <omgdc:Bounds height="55.0" width="105.0" x="770.0" y="656.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="930.0" y="663.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="1040.0" y="570.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
        <omgdc:Bounds height="55.0" width="105.0" x="1050.0" y="721.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundaryerror1" id="BPMNShape_boundaryerror1">
        <omgdc:Bounds height="30.0" width="30.0" x="1080.0" y="760.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="eventsubprocess1" id="BPMNShape_eventsubprocess1" isExpanded="false">
        <omgdc:Bounds height="126.0" width="461.0" x="1160.0" y="558.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="errorstartevent1" id="BPMNShape_errorstartevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="1180.0" y="605.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="55.0" width="105.0" x="1260.0" y="595.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer2" id="BPMNShape_boundarytimer2">
        <omgdc:Bounds height="30.0" width="30.0" x="936.0" y="804.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask2" id="BPMNShape_servicetask2">
        <omgdc:Bounds height="55.0" width="105.0" x="1420.0" y="595.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent4" id="BPMNShape_endevent4">
        <omgdc:Bounds height="35.0" width="35.0" x="1580.0" y="605.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask3" id="BPMNShape_scripttask3">
        <omgdc:Bounds height="55.0" width="105.0" x="1190.0" y="760.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent3" id="BPMNShape_endevent3">
        <omgdc:Bounds height="35.0" width="35.0" x="1350.0" y="770.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask2" id="BPMNShape_scripttask2">
        <omgdc:Bounds height="55.0" width="105.0" x="1174.0" y="818.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask4" id="BPMNShape_scripttask4">
        <omgdc:Bounds height="55.0" width="105.0" x="610.0" y="560.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask2" id="BPMNShape_mailtask2">
        <omgdc:Bounds height="78.0" width="105.0" x="1710.0" y="630.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent6" id="BPMNShape_endevent6">
        <omgdc:Bounds height="35.0" width="35.0" x="1760.0" y="760.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="parallelgateway1" id="BPMNShape_parallelgateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="1430.0" y="890.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask5" id="BPMNShape_scripttask5">
        <omgdc:Bounds height="55.0" width="105.0" x="1520.0" y="920.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
        <omgdc:Bounds height="40.0" width="40.0" x="1571.0" y="1021.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="parallelgateway2" id="BPMNShape_parallelgateway2">
        <omgdc:Bounds height="40.0" width="40.0" x="1424.0" y="1120.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway3" id="BPMNShape_exclusivegateway3">
        <omgdc:Bounds height="40.0" width="40.0" x="1550.0" y="1010.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="errorendevent1" id="BPMNShape_errorendevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="1630.0" y="1090.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent7" id="BPMNShape_endevent7">
        <omgdc:Bounds height="35.0" width="35.0" x="1509.0" y="1123.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="eventsubprocess2" id="BPMNShape_eventsubprocess2" isExpanded="false">
        <omgdc:Bounds height="205.0" width="431.0" x="460.0" y="905.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="errorstartevent2" id="BPMNShape_errorstartevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="520.0" y="1005.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask4" id="BPMNShape_mailtask4">
        <omgdc:Bounds height="55.0" width="105.0" x="600.0" y="995.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent8" id="BPMNShape_endevent8">
        <omgdc:Bounds height="35.0" width="35.0" x="760.0" y="1005.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask5" id="BPMNShape_mailtask5">
        <omgdc:Bounds height="55.0" width="105.0" x="1000.0" y="905.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="mailtask6" id="BPMNShape_mailtask6">
        <omgdc:Bounds height="55.0" width="105.0" x="1310.0" y="974.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="225.0" y="317.0"></omgdi:waypoint>
        <omgdi:waypoint x="270.0" y="317.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="322.0" y="345.0"></omgdi:waypoint>
        <omgdi:waypoint x="322.0" y="653.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="375.0" y="680.0"></omgdi:waypoint>
        <omgdi:waypoint x="430.0" y="680.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
        <omgdi:waypoint x="465.0" y="680.0"></omgdi:waypoint>
        <omgdi:waypoint x="500.0" y="680.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
        <omgdi:waypoint x="715.0" y="683.0"></omgdi:waypoint>
        <omgdi:waypoint x="770.0" y="683.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
        <omgdi:waypoint x="875.0" y="683.0"></omgdi:waypoint>
        <omgdi:waypoint x="930.0" y="683.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
        <omgdi:waypoint x="950.0" y="663.0"></omgdi:waypoint>
        <omgdi:waypoint x="1057.0" y="605.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
        <omgdi:waypoint x="950.0" y="703.0"></omgdi:waypoint>
        <omgdi:waypoint x="1102.0" y="721.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
        <omgdi:waypoint x="1215.0" y="622.0"></omgdi:waypoint>
        <omgdi:waypoint x="1260.0" y="622.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
        <omgdi:waypoint x="1365.0" y="622.0"></omgdi:waypoint>
        <omgdi:waypoint x="1420.0" y="622.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
        <omgdi:waypoint x="1525.0" y="622.0"></omgdi:waypoint>
        <omgdi:waypoint x="1580.0" y="622.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
        <omgdi:waypoint x="1110.0" y="775.0"></omgdi:waypoint>
        <omgdi:waypoint x="1190.0" y="787.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
        <omgdi:waypoint x="1295.0" y="787.0"></omgdi:waypoint>
        <omgdi:waypoint x="1350.0" y="787.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
        <omgdi:waypoint x="555.0" y="587.0"></omgdi:waypoint>
        <omgdi:waypoint x="610.0" y="587.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
        <omgdi:waypoint x="662.0" y="615.0"></omgdi:waypoint>
        <omgdi:waypoint x="662.0" y="656.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
        <omgdi:waypoint x="1631.0" y="680.0"></omgdi:waypoint>
        <omgdi:waypoint x="1710.0" y="669.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
        <omgdi:waypoint x="1762.0" y="708.0"></omgdi:waypoint>
        <omgdi:waypoint x="1777.0" y="760.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
        <omgdi:waypoint x="1455.0" y="840.0"></omgdi:waypoint>
        <omgdi:waypoint x="1450.0" y="890.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
        <omgdi:waypoint x="1470.0" y="910.0"></omgdi:waypoint>
        <omgdi:waypoint x="1520.0" y="947.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27">
        <omgdi:waypoint x="1572.0" y="975.0"></omgdi:waypoint>
        <omgdi:waypoint x="1570.0" y="1010.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow28" id="BPMNEdge_flow28">
        <omgdi:waypoint x="1590.0" y="1030.0"></omgdi:waypoint>
        <omgdi:waypoint x="1647.0" y="1030.0"></omgdi:waypoint>
        <omgdi:waypoint x="1647.0" y="1090.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow29" id="BPMNEdge_flow29">
        <omgdi:waypoint x="1570.0" y="1050.0"></omgdi:waypoint>
        <omgdi:waypoint x="1444.0" y="1120.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow30" id="BPMNEdge_flow30">
        <omgdi:waypoint x="1464.0" y="1140.0"></omgdi:waypoint>
        <omgdi:waypoint x="1509.0" y="1140.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow31" id="BPMNEdge_flow31">
        <omgdi:waypoint x="555.0" y="1022.0"></omgdi:waypoint>
        <omgdi:waypoint x="600.0" y="1022.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="36.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow32" id="BPMNEdge_flow32">
        <omgdi:waypoint x="705.0" y="1022.0"></omgdi:waypoint>
        <omgdi:waypoint x="760.0" y="1022.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow33" id="BPMNEdge_flow33">
        <omgdi:waypoint x="951.0" y="834.0"></omgdi:waypoint>
        <omgdi:waypoint x="1052.0" y="905.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow34" id="BPMNEdge_flow34">
        <omgdi:waypoint x="1450.0" y="930.0"></omgdi:waypoint>
        <omgdi:waypoint x="1362.0" y="974.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow35" id="BPMNEdge_flow35">
        <omgdi:waypoint x="1362.0" y="1029.0"></omgdi:waypoint>
        <omgdi:waypoint x="1362.0" y="1084.0"></omgdi:waypoint>
        <omgdi:waypoint x="1444.0" y="1120.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>



thanks and if anybody wants any info just let me know,
Jovan
3 REPLIES 3

trademak
Star Contributor
Star Contributor
Thanks for sharing these examples, we'll look into these issues. Do you see these issues occuring when you use pools and lanes and do stretching and resizing on the lanes? Can you give an example when this happens?

Thanks,

zidia
Champ in-the-making
Champ in-the-making
Hi Tijs,
I didn't see exactly how students generated these errors but, as all the diagrams were containing pool and lanes, I can immagine they did it putting things inside lanes. I think the errors were generated when they put subprocesses on lanes and then stretched one of them.
I think 4-5 students of 25 had such issues.

cheers,
Jovan

tiesebarrell
Champ in-the-making
Champ in-the-making
I've had the same problem when resizing subprocesses with boundary events attached and end events in them. The events don't move along with the resize and then the nesting gets mixed up. Seems more like a Graphiti issue between the graphical canvas and the model