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.