cancel
Showing results for 
Search instead for 
Did you mean: 

Parallel flow with non parallel branch

marta
Champ in-the-making
Champ in-the-making
We need to model a non parallel branch which is started from a parallel branch. See the attached diagram.

Is there any mechanism which allows to start a task/sub process from a parallel branch but which doesn't affect the parallelism of the branch?

<blockcode>
<process id="myProcess" name="My process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="User Task A - parallel with A"></userTask>
    <parallelGateway id="parallelgateway1" name="Parallel Gateway"></parallelGateway>
    <userTask id="usertask2" name="User Task B - parallel with A"></userTask>
    <parallelGateway id="parallelgateway2" name="Parallel Gateway"></parallelGateway>
    <userTask id="usertask3" name="User Task B - not parallel with A and B"></userTask>
    <sequenceFlow id="flow1" sourceRef="parallelgateway1" targetRef="usertask1"></sequenceFlow>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="parallelgateway2"></sequenceFlow>
    <sequenceFlow id="flow3" sourceRef="parallelgateway1" targetRef="usertask2"></sequenceFlow>
    <sequenceFlow id="flow4" sourceRef="usertask2" targetRef="parallelgateway2"></sequenceFlow>
    <sequenceFlow id="flow5" sourceRef="usertask1" targetRef="usertask3"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow6" sourceRef="usertask3" targetRef="endevent1"></sequenceFlow>
    <sequenceFlow id="flow7" sourceRef="parallelgateway2" targetRef="usertask4"></sequenceFlow>
    <sequenceFlow id="flow8" sourceRef="startevent1" targetRef="parallelgateway1"></sequenceFlow>
    <userTask id="usertask4" name="User Task D"></userTask>
    <sequenceFlow id="flow9" sourceRef="usertask4" targetRef="endevent1"></sequenceFlow>
    <userTask id="usertask5" name="User Task E - not parallel with A or B"></userTask>
    <sequenceFlow id="flow10" sourceRef="usertask2" targetRef="usertask5"></sequenceFlow>
    <sequenceFlow id="flow11" sourceRef="usertask5" targetRef="endevent1"></sequenceFlow>
  </process>
</blockcode>
Thanks for answer
Marta
1 REPLY 1

trademak
Star Contributor
Star Contributor
I don't get the question. Why are you starting a parallel which when you don't need parallelism there?
No there's no way that a parallel branch doesn't use parallelism.

Best regards,