More Related Content
Similar to Illustration of BPMN Loop Types
Similar to Illustration of BPMN Loop Types (20)
Illustration of BPMN Loop Types
- 1. Illustration of BPMN Loop
Types
Standard Loop
Multi Instance – Parallel
Multi Instance – Sequential
Max Tay, OCEB® Business Advanced, CBPP®
© 2014 Max Tay, MaxConsilium Pty Ltd
- 2. BPMN Loops
Loop 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
- 3. Attributes of Standard Loop
Attribute 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.
© 2014 Max Tay, MaxConsilium Pty Ltd
loopMaximum: number
(optional)
A numeric cap can be optionally specified.
- 4. Standard Loop
Call
subprocess
Sub process
Do task
testBefore: false
© 2014 Max Tay, MaxConsilium Pty Ltd
- 5. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#1
testBefore: false
- 6. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#1
testBefore: false
- 7. Standard Loop
Call
subprocess
Sub process
Do task
Loop
condition
is true
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#1
testBefore: false
- 8. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#2
testBefore: false
- 9. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#2
testBefore: false
- 10. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#2
testBefore: false
Loop
condition
is true
- 11. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#3
testBefore: false
- 12. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#3
testBefore: false
- 13. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#3
testBefore: false
Loop
condition
is false
- 14. Standard Loop
Call
subprocess
Sub process
Do task
© 2014 Max Tay, MaxConsilium Pty Ltd
Iteration
#3
testBefore: false
Loop
condition
is false
- 15. Attributes of Multi Instance
Note: This is not a complete list of all the attributes for multi instance.
Attribute Description
isSequential: boolean A flag to control sequential or in parallel instances.
loopCardinality: number This controls the number of instances that will be created.
© 2014 Max Tay, MaxConsilium Pty Ltd
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.
- 16. Attributes of Multi Instance
(cont’)
Attribute Description
© 2014 Max Tay, MaxConsilium Pty Ltd
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.
- 17. Multi Instance – Parallel
Call
subprocess
isSequential: false
loopCardinality: 4
behavior: all
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
Do task
- 18. Multi Instance – Parallel
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: false
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
- 19. Multi Instance – Parallel
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: false
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
- 20. Multi Instance – Parallel
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: false
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
Waiting for all
instances to
complete
- 21. Multi Instance – Parallel
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: false
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
All instances
completed
- 22. Multi Instance – Parallel
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: false
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
All instances
completed
- 23. Multi Instance – Sequential
Call
subprocess
isSequential: true
loopCardinality: 4
behavior: all
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
Do task
- 24. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
- 25. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
Waiting for all
instances to
complete
- 26. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
Waiting for all
instances to
complete
- 27. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
Waiting for all
instances to
complete
- 28. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
- 29. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
All instances
completed
- 30. Multi Instance – Sequential
Call
subprocess
© 2014 Max Tay, MaxConsilium Pty Ltd
Subprocess
isSequential: true
loopCardinality: 4
behavior: all
Do task
Do task
Do task
Do task
All instances
completed