BPMN is a hierarchical modelling language, thanks to the inclusion of subprocesses in the language specification. In this article, you will learn how to use subprocesses using inline or child level expansion in BPMN correctly.

Everything on Subprocesses in BPMN

Subprocesses in BPMN 2.0

BPMN is a hierarchical modeling language. In another article I discussed the difference between tasks and subprocesses already, but in this article you will learn everything about the use of subprocesses in BPMN.

Nesting of subprocesses

Subprocesses are compound activities, which means they are composed of multiple flow objects. Subprocesses are both an activity and a process in the same time. An un-expended subprocess looks like a single activity or task in a top level diagram. But the activity can be opened or expended. When you open up or expand the subprocess, you will find a detailed process, with a start and an end, in the child level diagram. In this subprocess, there can be other collapsed subprocesses, which again can be opened or expended on the grandchild level of a diagram. This nesting of subprocesses in BPMN is not limited by the specification, in theory you can add as much layers as you need. My advice is, however, to start with a top level diagram that only describes the most important process steps. Then, if more information is needed, you can further specify subprocesses.

Subprocesses in BPMN

The Different Visual Representations of Subprocesses

There are different ways to model subprocesses, also depending on the tool you use. Some tools allow you to expend a subprocesses on the same canvas, others don’t. If you draw a complex subprocess with for example multiple lanes or much process steps, it is better to use a hyperlinked canvas, or a child level canvas, to model the subprocess.

The BPMN 2.0 specification allows you to use both inline expansion and hierarchical expansion with an unlimited number of child level diagrams.

Unexpended subprocess

As you can see on the image above,  the subprocess is displayed as an opaque rectangle. The flow objects that compose the subprocesses are not visible.

Child Level Diagram

In the second example, below, the subprocess is expanded in a child level diagram, which is also known as hierarchical expansion. From this viewpoint, you are able to see the flow objects that compose the subprocess.

Inline expension

In the third example, below,  the subprocess is visualized using inline expansion. As you can see, the shape of the subprocesses is enlarged, and the flow objects that represent the subprocess are placed inside the shape of the subprocess itself.

Subprocess inline expension

As discussed, I prefer to use a hyperlinked canvas to display subprocesses since it is more easy to expand the model over time and you have more space to model complex processes.

Subprocess Features

There are some things you need to keep in mind about subprocesses. When a sequence flow arrives at a subprocess in the top level diagram or parent level diagram, this immediately triggers the start of the subprocess. This means, that in the child level diagram, you can not use specific triggers since the process is initiated at the top level diagram. Specific triggers should thus be included in the top level diagram, not in child level diagrams.

Subprocesses have the same containment rules as pools: sequence flows can not cross subprocesses boundaries, since that would mean that a process flows from one level to another while a subprocess should have a clear start and end state.

Why use subprocesses?

Subprocesses are a great feature of BPMN, since they enable the hierarchical modeling style of BPMN. When you start with modeling a business process, first create a high level overview without too much detail. Then, later on, when you advance with describing, analyzing and improving the process, add detail with subprocesses and repeat the describing, analyzing and improvement practice. Following this method you won’t end up with overdetailed models that make understanding and improving the process more difficult. It also helps to focus on what is most important, instead of modeling unnecessary details which you don’t need. They are also valuable to summarize a process that you don’t fully understand yet.

On top of that, nesting subprocesses in a diagram helps with clear communication with different stakeholders, since you can switch between multiple viewpoints, addressing the concerns of different stakeholders.


Subprocesses in BPMN explained

Play Video
BPMN Certification

BPMN Certification

What about BPMN Certification? Is there a certificate that proves your skills in BPMN? Well, kind of. In this article we will discuss how you can prove you are a BPMN expert.

Read More »
BPMN Example

BPMN Examples

In this article we will discuss the practical applications of BPMN using real-world BPMN Examples and BPMN Diagram Example.

Read More »
BPMN Events

BPMN Events

There are three types of BPMN Events: start, intermediate and end event. A BPMN event is something that happens during a business process. In this article you will learn everything you need to know.

Read More »

Do You Want To Become A BPMN Expert ?

Check out the BPMN training