illustration of bpmn loop types
TRANSCRIPT
© 2014 Max Tay, MaxConsilium Pty Ltd
Illustration of BPMN Loop TypesStandard Loop
Multi Instance – Parallel
Multi Instance – SequentialMax Tay, OCEB® Business Advanced, CBPP®
© 2014 Max Tay, MaxConsilium Pty Ltd
BPMN LoopsLoop is a characteristics,
LoopCharacteristics, that can be applied to any activity.
There are three types of loop in BPMN:◦ Standard loop◦ Multi instance parallel◦ Multi instance sequential
© 2014 Max Tay, MaxConsilium Pty Ltd
Attributes of Standard LoopAttribute Description
loopCondition: boolean A flag to control the loop where the activity will loop as long as the flag is true.
testBefore: boolean A flag to control whether the loop condition is evaluated at the beginning or at the end of the iteration.
loopMaximum: number(optional)
A numeric cap can be optionally specified.
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #1
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #1
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Loop conditionis true
Iteration #1
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #2
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #2
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #2
testBefore: false
Loop conditionis true
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #3
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #3
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #3
testBefore: false
Loop conditionis false
© 2014 Max Tay, MaxConsilium Pty Ltd
Standard Loop
Call subprocess
Sub process
Do task
Iteration #3
testBefore: false
Loop conditionis false
© 2014 Max Tay, MaxConsilium Pty Ltd
Attributes of Multi InstanceAttribute Description
isSequential: boolean A flag to control sequential or in parallel instances.
loopCardinality: number
This controls the number of instances that will be created.
loopDataInputRef:data input
Specifies the collection of data, which will be used by the multi instances. Also controls the number of instances that will be created – one instance per item.
loopDataOutputRef:data output
Specifies the collection of data, which will be produced by the multi instances.
inputDataItem: data input
Represents data for each instance of the collection stored in the loopDataInput. Number of item depends on number of instance.
outputDataItem: data output
Represent sdata for each instance of the collection stored in the loopDataOutput. Number of item depends on number of instance.
Note: This is not a complete list of all the attributes for multi instance.
© 2014 Max Tay, MaxConsilium Pty Ltd
Attributes of Multi Instance (cont’)Attribute Description
behavior: none / one / all / complex
Specifies when events is thrown from an instance that is about to complete.• None – the event defined in the
noneBehaviorEventRef will be thrown for each instance completed.
• One – the event defined in the oneBehaviorEventRef will be thrown upon the first instance completed.
• All – no event is thrown, a token is produced after completion of all instances.
• Complex – the complexBehaviorDefinition is checked to determine if and which events to throw.
noneBehaviorEventRef:event
The event that is thrown when the behavior is set to None and an instance has completed.
oneBehaviorEventRef:event
The event that is thrown when the behavior is set to One and an instance has completed.
complexBehaviorDefinition: Controls when and which events are thrown where behavior is set to Complex.
completionCondition: expression
Defines a boolean expression that when evaluated to true, cancels the remaining instances and produces a token.
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
Do task
isSequential: falseloopCardinality: 4behavior: all
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
isSequential: falseloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
isSequential: falseloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
isSequential: falseloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
Waiting for all instances to complete
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
isSequential: falseloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
All instances completed
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Parallel
Call subprocess
Subprocess
isSequential: falseloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
All instances completed
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
Do task
isSequential: trueloopCardinality: 4behavior: all
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
Waiting for all instances to complete
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
Waiting for all instances to complete
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
Waiting for all instances to complete
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
All instances completed
© 2014 Max Tay, MaxConsilium Pty Ltd
Multi Instance – Sequential
Call subprocess
Subprocess
isSequential: trueloopCardinality: 4behavior: all
Do task
Do task
Do task
Do task
All instances completed
© 2014 Max Tay, MaxConsilium Pty Ltd
End