12 September 2013

Process Patterns (Part 2) - Advanced Branching and Synchronization Patterns

This is Part 2 of a series of articles introducing the common process patterns depicted using BPMN 2.0 elements. From the basic patterns in Part 1, the article looks at the advanced branching and synchronization process patterns.

Advanced Branching and Synchronization Process Patterns


The five advanced branching and synchronization process patterns to cover in this article include:
  1. Multi-Choice
  2. Synchronizing Merge
  3. Multi-Merge
  4. Structured Discriminator
  5. Structured Partial Join
  6. Cancelling Partial Join


Pattern 6 Multi-Choice

Description
The control flow splits into two or more flows, the control is immediately passed to one or more of the outgoing flows based on a mechanism that can select one or more of the outgoing flows. The mechanism can be a decision from previous activity such as a business rule task or based on process data of the process instance.
Key BPMN 2.0 Elements
  • Task
  • Inclusive gateway for Method 1
  • Conditional flow for Method 2
BPMN 2.0 Process Diagram
Method 1


Method 2


Examples for Business Application
  • After receive emergency call activity, one or more of the following activities is initiated capture credit despatch ambulance activity, despatch fire-engine activity and/or despatch police.
  • Determine nature of travel activity is followed either one or more of the activities - book air ticket activity, book hotel and/or book rental car activity.


Pattern 7 Synchronizing Merge

Description
The convergence of two or more control flows, which diverged earlier in the process, into a single subsequent flow. The control flow is passed to the subsequent flow when all active incoming flows has been enabled. Assumption: There must be a single Multi-Choice construct earlier in the process model with which the Synchronizing Merge is associated and the Synchronizing Merge must merge all of the control flows triggered by the Multi-Choice.
Key BPMN 2.0 Elements
  • Task
  • Inclusive gateway
BPMN 2.0 Diagram

Examples for Business Application
Following the examples from Pattern 6:
  • The transfer patient activity starts after completion of all the triggered activities, capture credit despatch ambulance activity, despatch fire-engine activity and/or despatch police.
  • After the completion of all the initiated activities - book air ticket activity, book hotel and/or book rental car activity - the prepare travel claim is commenced.


Pattern 8 Multi-Merge

Description
The convergence of two or more control flows into a single subsequent flow without synchronization. If more than one incoming flows is activated, the subsequent control flow / activity following the merge is triggered for each of the activated incoming flow. Assumption: There must be a single Multi-Choice construct earlier in the process model with which the Multi Merge is associated.
Key BPMN 2.0 Elements
  • Task
  • Inclusive gateway
BPMN 2.0 Diagram

Example for Business Application
  • Order materials activity and book electrician activity occur in parallel as separate process flows. On completion of each of these activities, a review quality activity is run.


Pattern 9 Structured Discriminator

Description
The convergence of two or more control flows into a single subsequent flow following a corresponding divergence earlier in the process model such that the control is passed to the subsequent flow when the first incoming flow is activated. Subsequent incoming flows do not result in additional control being passed on. Assumption: There must be a single Parallel Split construct earlier in the process model with which the Structured Discriminator is associated and the Discriminator must merge all of the flows branching from the Parallel Split. There is no synchronization and no multiple instances of subsequent flow being activated.
Key BPMN 2.0 Elements
  • Task
  • Parallel gateway
  • Exclusive gateway
BPMN 2.0 Diagram

Examples for Business Application
  • Do A, do B and do C activities run in parallel. On completion of any one of the three activities, the do D activity is commenced. Completion of the other activities is ignored and does not trigger additional instance of do D activity.


Pattern 10 Structured Partial Join

Description
The convergence of two or more control flows (m) into a single subsequent flow following a corresponding divergence earlier in the process model such that the control is passed to the subsequent flow when number of the incoming flows (n) have been activated where n is less than m. Subsequent incoming flows do not result in additional control being passed on. Assumption: There must be a single Parallel Split construct earlier in the process model with which the Structured Partial Join is associated and the Structured Partial Join must merge and synchronize the flows activated from the Parallel Split.
Key BPMN 2.0 Elements
  • Task
  • Parallel gateway
  • Complex gateway
BPMN 2.0 Diagram

Examples for Business Application
  • Completion of any two (n) of the three (m) preceding activities - do A, do B or do C - initiates do D activity.


Pattern 11 Cancelling Partial Join

Description
The convergence of two or more control flows (m) into a single subsequent flow following a corresponding divergence earlier in the process model such that the control is passed to the subsequent flow when number of the incoming flows (n) have been activated where n is less than m. Triggering the join also cancels the execution of all activities on the other incoming flows. Assumption: There must be a single Parallel Split construct earlier in the process model with which the Cancelling Partial Join is associated and the Cancelling Partial Join must merge and synchronize the flows activated from the Parallel Split.
Key BPMN 2.0 Elements
  • Task
  • Parallel gateway
  • Complex gateway
  • Signal intermediate event
  • Boundary interrupting signal event
  • End event
BPMN 2.0 Diagram

Examples for Business Application
  • Completion of any two (n) of the three (m) preceding activities - do A, do B or do C - initiates do D activity and cancels the remaining activity.


What's next

Coming up in the next article Structural Process Patterns using BPMN 2.0.



References

  1. W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski and A.P. Barros. (2003) Workflow Patterns
  2. N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. (2006) Workflow Control-Flow Patterns: A Revised View. BPM Center Report BPM-06-22, BPMcenter.org