3.2 Branching and Merging
- Activities may not be performed sequentially.
- Mutually Exclusive = When two or more activities are alternative to each other.
- Concurrent = When two or more activities can be executed simultaneously.
- Gateway = Gating mechanism that either allows or disallows passage of tokens trough the gateway.
- Split = The process flow splits in 2 or more different process flows. (1 in, 2-* out)
- Join = Different process flows come together to exit the gateway as one process flow. (2-* in, 1 out)
- Synchonization = Waiting for a number of tokens to arrive and then merging them together.
- Deadlock = When a token cannot continue because the wrong gateways are used.
Exclusive Decisions (XOR)
- X marker in the gateway symbol (diamond shape).
- When only one of the branches needs to be executed.
- An XOR-split (decision) routs the token:
- From: The only incoming branch (ex. Check invoice for mismatches)
- To: One of the multiple outgoing branches.
- The line towards "Block invoice" has a line diagonal near the gateway.
- This indicates the default flow.
- Default only counts when the conditions of all the other outgoing flows evaluate to false.
- Make sure all the outgoing branches have labels describing when to take this flow.
- An XOR-join (merge) routs the token:
- From: One of the multiple incoming branches (ex. Post invoice, Block invoice or resend invoice to customer)
- To: The only outgoing branch.
- Waits for the only token to arrive from one of the branches, before continuing.
Parallel Execution (AND)
- marker in the gateway symbol (diamond shape)
- When 2 or more activities do not depend on each other they can be executed in parallel.
- An AND-split routs the token:
- From: The only incoming branch.
- To: All the outgoing branches.
- An AND-join routs the token
- From: All the incoming branches.
- To: The only outgoing branches.
- Waits for all the tokens to finish their branches, before continuing.
Inclusinve Decisions (OR)
- O marker in the gateway symbol (diamond shape)
- When one or more branches needs to be executed.
- Use only when strictly required. The OR-gateway causes confusion.
- An OR-split (decision) routs the token:
- From: The only incoming branch.
- To: One or more outgoing branches.
- An OR-join routs the token:
- From: One or more incoming branches.
- To: The only outgoing branch.
- Waits for all the active tokens to finish their branches, before continuing
Rework and Repetition
- Repetition block = A sequence of activities that can be repeated based on the result.
- Begins with a join and ends with a split.
- The spit will redirect to the previous join.
Components of a modeling language
- Syntax = Set of modeling elements and a set of rules of how these elements can be used.
- Semantics = Binding of the elements with precise meaning.
- Notation = Set of graphical symbols for visualization of the elements.