BPMN diagrams are graphs, which means that they consist of two basic types of elements – nodes and connectons.

Nodes are represented with flow objects (Activities, Gateways and Events), data and artefacts, whilst connections are represented with one of the BPMN connecting objects.

Most of BPMN connections are directed, which means that they represent a type of flow. Graphically, a flow is represented with an arrow between elements in a process, collaboration, or choreography.

Sequence Flow

Sequence flow is the most common BPMN flow. It is represented with a solid arrow and is used to show the order in which activities are performed in a process. Each sequence flow has only one source and only one target. A sequence flow can cross the boundaries between lanes of a pool but cannot cross the boundaries of a pool (Figure 1).

f1Normal Flow

Normal flow represents a subset of a process’s sequence flow (black arrows in Figure 2). It refers to paths of sequence flow that do not start from an intermediate event attached to the boundary of an activity (red arrow in Figure 2). It is a flow that originates from a start event and continues through activities on alternative and parallel paths until reaching an end event.

Exception Flow

Exception flow occurs outside the normal flow of the process and is based upon an intermediate event attached to the boundary of an activity that occurs during the performance of the process (see red arrow in Figure 2).

f2Uncontrolled Flow

Uncontrolled flows are sequence flows that proceed without dependencies, or conditional expressions, or flows that do not pass through a Gateway.

The simplest example of an uncontrolled flow is a single sequence flow connecting two activities. More commonly, an uncontrolled flow applies to multiple sequence flows that converge to (uncontrolled merge) or diverge from (uncontrolled split) an Activity (Figure 3).

f3For each uncontrolled sequence flow a token will flow from the source object, through the sequence flow to the target object.

Free BPMN Downloads!

Controlled Flow

Controlled flows are the opposite of Uncontrolled Flows. They are flows that proceed from one flow object to another, via a sequence flow link, but are subject to either conditions (red arrows in Figure 4) or dependencies from other flows as defined by a Gateway (green arrows).

f4Typically, this is seen as a sequence flow between two activities, with a conditional indicator (mini-diamond) or a sequence flow connected to a gateway.

Conditional Flow

A conditional flow is a subset of a controlled flow. It is a sequence flow with a condition expression that is evaluated at runtime to determine whether or not the sequence flow will be used.

If the conditional flow is outgoing from an activity, then the sequence flow will have a mini-diamond at the beginning of the connector. If the conditional flow is outgoing from a gateway, then the line will not have a mini-diamond.

Default Flow

The default flow is a special kind of a sequence flow, which is used in combination with conditional flows. It is “activated” only if all the corresponding conditional flows are not “true” at the runtime. The default flow is represented by a diagonal slash added to the beginning of the connector (Figure 5).

f5Information Flow

Information flow is not a sequence flow, because it does not represent the order of activities but instead the flow of information in a process diagram.

It is modeled with a dotted arrow (data association). Alternatively, an information flow can be represented with an undirected association, attached to the sequence flow (Figure 6). Information flows can be used only within a process. In case of representing the flow of information between processes (or pools), message flows should be used.

f6Message Flow

A message flow is represented by a dashed arrow, with a circle at the starting point (Figure 7). It is used to show the flow of messages between two processes ( or pools). It can be used in conjunction with BPMN elements that can send and receive messages (Message events, send/receive activities, and pools).

f7Compensation Flow

Compensation flow defines the set of activities that are performed while the transaction is being rolled back to compensate for activities that were performed during the normal flow of the process (Figure 8).


Process flows represent an obligatory part of each business process diagram. Most commonly, they are used to represent the overall progression of how a process is performed. Besides, flows can represent how messages and information are processed in a business process.

f9The figure above represents a business process diagram, which includes different kinds of flows. Note that all solid arrows represent sequence flows.

Free BPMN Resources

Previous articleLearning ArchiMate Part 5 – The relationship Between the ArchiMate Toolset and TOGAF
Next article25,000 TOGAF Certification and Counting!
Gregor received his PhD in 2008 in the fields of software engineering and information systems and has nearly a decade of experience in BPMN, starting to investigate and actively use BPMN since its introduction in 2004. In addition, he has participated in the development of one of the first BPMN modeling utilities - a package of plugins for Visio, which were introduced early in 2005 and is the main author of the first BPMN poster (bpmn.itposter.net), which has been translated into several languages and already exceeded 50.000 downloads.