Sub-Process Types in BPMN
Subprocess in BPMN diagrams represent multiple tasks that work together to perform a part of the whole process. BPMN diagrams are mainly constructed by activities that need to be performed to complete the process. In BPMN diagram, there are two kinds of activities - task and subprocess. A subprocess is used when one needs to show the internal details of work in a lower-level process. This article will show different types of subprocesses and their meanings in BPMN diagrams.
In BPMN diagrams, Sub-Processes are usually used for the following 2 situations:
- To break down a diagram and make it easier to read;
- To describe a repeated activity.
Subprocess Types and Functions
A BPMN diagram represents a sequence of activities. When there are multiple activities in a diagram, it makes the diagram easier to understand using Sub-Processes. By breaking down a complex business process into Sub-Processes, the process is understandable to any business user and can be easily modified for other uses later. This approach will make your diagrams more logical and readable. Here are the common subprocess types of BPMN diagrams.
- Parallel Multi-instance
- Sequential Multi-instance
- Ad hoc
Subprocesses contains a number of activities and represented as a single activity. Now we will explain each type of gateways in detail.
The first sub-process type is loop. This means that a subprocess repeats itself in a process diagram. This type of subprocess can also be used as a looping activity, which has a similar function with a looping task. But it should be noticed that the entire subprocess is repeated instead of a single task being repeated. This marker can be used in combination with other makers such as Ad-hoc and Compensation.
The multiple instance subprocess allows for parallel execution of the subprocess. A multiple instance subprocess is a subprocess that can run with other same subprocesses.
This iamge above indicates the execution of sub-process in a desired number of instances or in a data driven approach. The instances will start one after the other.
An Ad-hoc subprocess is a group of tasks whose purpose is to complete some part of a process. In an ad hoc subprocess, the specified steps are defined, but the order of operations is not defined. There is no specific order of the sequence to define which activity should be performed first. The image above indicates that a sub-process is a group of activities but with no required sequence order. The sequence and order of the activities are defined by the performers.
A compensation subprocess represents a group of tasks that describe some part of the compensation method. The main purpose of this type of subprocess is to cancel the result of another activity that have already been successfully completed. The application of a compensation sub-process is because of the unwanted results and possible bad effects caused by another activity.