Basic modeling exercises#
These exercises should familiarize you with the basic BPMN elements and flows, and using BPMN.io based BPMN modeling tools, like Miranum Modeler included in the playground.
Tip
The playground has a ./exercises folder with an empty template.bpmn to get you started.
Sequence flow#
Start with a simple flow with multiple
tasks in sequence from
start to
end.
Toggle Token Simulation to observe how each token flows through the process one task at a time.
While on the simulator, hover over a task to toggle pause.
Observe how tokens stop on paused tasks and wait for you to release them with the play button.
Exclusive paths#
Model a flow that splits and joins with
exclusive gateways (plain diamond symbol on the palette).
Toggle Simulation to observe how tokens choose their path at splits and joins.
While on the simulator, use the switch button on gateways to change the path.
See also, how the
start event and the
end event are vertically aligned with the happy path of the process. This usually makes the process easier to understand.
Concurrent paths#
Re-use the model from the previous exercise.
One at a time, choose the
exclusive gateways on your diagram and use their context modeling palette to turn them into
parallel gateways.
Toggle Simulation to observe how tokens multiply on splits and merge back at joins.
While on the simulator, toggle pause on tasks to observe how joining gateways wait for all incoming paths before letting the merged token continue.
Turn the first
parallel gateway back to
exclusive gateway and simulate. What happens at the joining gateways? Why?
Revert the last step, and turn one of the latter
parallel gateways back to
exclusive gateway and simulate. What happens now? Why?
concurrent-paths-locked.bpmn
concurrent-paths-doubled.bpmn
concurrent-paths-mixed.bpmn
Multiple end-events#
Re-use the model from the previous exercise.
Replace some of the joining
parallel gateways with additional
end events.
Toggle Simulation to observe how the process completes only when all parallelized tokens have reached at least one of the end events.
While on the simulator, toggle pause on tasks to observe more easily how completion of the process is delayed, even when some tokens reach end events on their paths.
Embedded sub-process#
Re-use the model from the previous exercise.
Wrap some of the
tasks with an embedded subprocess by looking up Expanded SubProcess in the modeling palette.
Toggle Simulation to ensure that your process is still integrated (all tokens reach end events and process completes).
All this should just refactor your model with an abstraction useful for the next practice. Tasks or their execution order should not change.
Boundary event#
Re-use the model from the previous exercise.
Allow the tasks within the embedded sub-process to be cancelled with a timeout using
interrupting timer boundary event.
Add a path from the
boundary event to a new joining
to properly merge the tokens before the
end event.
Toggle Simulation and toggle pause for a task within the sub-process to manually simulate the timer event and confirm that the process completes properly when you trigger the timeout.
Investigate what happens if you use
non-interrupting timer boundary event instead.
More boundary events#
Re-use the model from the previous exercise.
Add at least two more boundary events into the model with necessary paths and other elements. Make at least one of these a
non-interrupting timer boundary event.
Toggle Simulation to ensure your model’s integrity. Make sure to try out your new boundary events.
Warning
Be aware of a possible issue in the token simulator where multiple boundary timer events on the same element boundary don’t trigger correctly.