A sub-process is a compounded activity that represents work that, unlike a task, can be broken down to a finer level of process model detail.
Additionally, a sub-process can be represented in an expanded or collapsed view. An expanded view shows sub-process’ details within the view of the process that it is contained in.
While a collapsed view indicates that a sub-process can be “opened up” to show a lower-level process. A collapsed-view sub-process is indicated by an additional ‘plus’ sign positioned at the bottom center of the shape.
Beside the “collapsed-view” sub-process marker, BPMN specifies four types of standard markers for sub-processes, which define different behaviors of a sub-process: a loop marker, a multi-instance marker, an ad-hoc marker, and a compensation marker.
A “loop marker” defines a repeating sub-process, which means that the sub-process will start again after it reaches its end-state. A sub-process will loop as long as the set loop condition is true.
A “multiple instance” marker, attached to a sub-process, represents several instances of the same sub-process.
These multiple instances of the process can be performed in parallel or sequentially. Three horizontal lines represent a sequential execution whereas three vertical lines indicate that the instances should be performed in parallel.
An ad-hoc sub-process is indicated with a “tilde” symbol. This type of sub-process contains a number of embedded inner activities which are intended to be executed flexibly. The contained activities can be executed sequentially or in parallel, they can be executed multiple times in an order.
The “compensation marker” indicates a compensation sub-process, which represents a compensation handler that is performed in case a compensation event is triggered. This happens when a transaction isn’t performed successfully.
A sub-process may have one to three of these “behavior” markers, in all combinations, except for loop and multi-instance which be shown at the same time.