BPMN Sketch Miner

Docs - Gateways

Gateways

Gateways help to visualize the topology of the control flow graph of the process and specify its branching behavior.

BPMN Sketch Miner currently supports:

Exclusive Gateways

Exclusive branches represent processes with alternative execution paths, where only one can be taken for each process execution.

EditInspect Application
Accept Application

Inspect Application
Reject Application

Exclusive merges indicate that no synchronization is required to continue the execution from different paths.

EditSubmit Application by email
Inspect Application

Submit Application through the web
Inspect Application

Submit Application in person
Inspect Application

Each Element Once

How does BPMN Sketch Miner infer the correct gateways? It follows the third rule:

The same element only appears once in the model.

If you write the same element in multiple lines, BPMN Sketch Miner will merge the corresponding task (or event) sequences and introduce the necessary gateways automatically.

Loops

Following the same rule, if the repeated element is found in the same sequence, a loop will be created.

EditIf you repeat the same task
Loop Body
Loop Body
you get a loop
EditStart
Loop 1
Loop 2
Loop 3
Loop 1
Loop 2
Loop 3
End
EditStart Again
Loop Again 1
Loop Again 2
Loop Again 1
End Again

Note: the label of tasks found within a loop does not have to contain the term loop.

Branch Conditions

At a more precise level of details, exclusive gateways may be refined to describe under which conditions their outgoing paths may be taken.

EditGateway label?
Condition

Gateway label?
Alternative Condition

Gateways are labeled with questions (labels which end with ?) which have at least two different answers found on the line immediately following them. The answers become the expressions displayed on the conditional control flow edges.

EditInspect Application
Is the package complete?
Yes
Accept Application

Inspect Application
Is the package complete?
No
Reject Application

Parallel Gateways

Parallel branches indicate where multiple tasks can be concurrently executed. Since there is no order between these tasks, they are specified on the same line, separated with the | symbol.

EditSubmit Application
Inspect Dossier|Check References

Parallel merges represent the synchronization point between multiple concurrent tasks. The process execution will continue only after all tasks have completed their execution. Since there is no order between such independent tasks, again they are specified on the same line, separated with the | symbol.

EditInspect Dossier|Check References
Decide Outcome

Parallel Sequences

EditSubmit Application
Inspect Dossier|Check References
Assess Required Skills|Summarize References
Decide Outcome

If each parallel sequence has the same number of tasks, the same | symbol can be used to separate the parallel tasks listed one per line (as with every task sequence).

Otherwise, fragments should be used to describe arbitrary parallel paths.

Parallel Gateways and Pools

How to place parallel tasks in the corresponding pool? Use Pool annotations as with any task found within a sequence.

EditHR: Receive Application
Inspect Dossier| Check References
Hiring Manager: Decide Outcome

To place both parallel tasks in the same pool, one annotation for both is enough.

EditCustomer: Submit Application
HR: Inspect Dossier|Check References
Hiring Manager: Decide Outcome

Individual parallel tasks can be placed in a different pool by annotating each task with the pool name.

EditCustomer: Submit Application
HR: Inspect Dossier|Hiring Manager: Check References
Decide Outcome

If no default pool is set, the pool of the last parallel task (Hiring Manager) will be also used for the following tasks.

Individual parallel tasks can be placed in a different pool by annotating each task with the pool name.

If the default pool is set, only the tasks which should be placed in a different pool need to be explicitly annotated.

EditCustomer: Submit Application
Hiring Manager: 
Check References|HR: Inspect Application
Decide Outcome

Event Gateways

Event-based gateways describe when a process waits for multiple events. The execution continues as soon as one of the events occurs.

EditMake Offer
(receive Offer Accepted)

Make Offer
(timer 1 week)
Withdraw Offer

Like with exclusive gateways, event gateways are automatically inserted where appropriate.

More Examples