Introduction
In BPMN 2.0, connecting objects are used to define the relationships and flow of information between different elements in a process model. They connect activities, events, and gateways, guiding the process flow or conveying data and messages. The primary connecting objects are sequence flows, message flows, and associations.

Sequence Flow

Message Flow

Association
Sequence Flow
A sequence flow defines the order in which activities, events, and gateways are performed in a process. It shows the logical progression of tasks from one step to the next.
This represents the order in which tasks should be executed, depicted as a straight line ending with an arrowhead. It may indicate either a conditional or a default pathway.
- Example: A sequence flow connects a “Submit Application” task to a “Review Application” task, indicating that the review happens after the submission.
- Types of Sequence Flows:
- Normal Sequence Flow: The default flow between activities.
- Conditional Sequence Flow: A sequence flow that only proceeds if a specific condition is met (indicated by a small diamond).
- Default Sequence Flow: The fallback flow if no conditions are met (indicated by a diagonal slash at the starting point).
- Use Case: Use sequence flows to guide the process’s step-by-step progression, ensuring activities are executed in a specific order.
Message Flow
A message flow represents communication between different participants or processes, typically when they are part of different pools. It is used to show the exchange of information between processes, which might be operating independently.
The message flow connector illustrates communication between different pools or across organizational boundaries, such as departments. It is not intended for linking events or activities within the same pool. This connector is represented by a dashed line, starting with a circle and ending with an open arrowhead.
- Example: A message flow connects a “Send Invoice” task in one pool (representing the supplier) to a “Receive Invoice” task in another pool (representing the customer), indicating that the invoice is sent between them.
- Use Case: Use message flows to depict the communication between different entities or business participants (represented as separate pools), such as when one company sends an order request to another.
Association
An association connects artifacts (like data objects, text annotations, or groups) with flow objects (activities, events, gateways) to provide context or clarify the relationship between elements. Associations do not impact the sequence of the process but are used for documentation and additional details.
This element is depicted as a dotted line, lacking both an arrowhead and a circle. It serves to link an event, activity, or gateway with an artifact.
- Example: An association connects a “Generate Report” task to a “Report Document” (a data object), indicating that this task produces the document.
- Types of Associations:
- Normal Association: Connects elements like tasks to data objects or annotations.
- Directional Association: Shows the flow of data from or to a task (indicated with an arrow).
- Bi-Directional Association: Indicates two-way relationships between elements (indicated with two arrowheads).
- Use Case: Use associations when you want to link additional information (e.g., data objects, text annotations) to tasks or events without affecting the process flow.
Key Points about Connecting Objects
- Sequence Flow: Defines the order of tasks or events within a single process (within one pool). Used to specify the flow of activities, conditions, and decisions.
- Message Flow: Represents communication between different participants or processes (across different pools). Used when processes exchange information or trigger actions in another process.
- Association: Links additional information like data, documents, or annotations to activities, providing context or explanation but not controlling the process flow.
Example
Imagine a process for managing customer orders:
- Sequence Flow: After receiving an order, the system processes the order, then sends it for delivery. Each step (receiving, processing, delivering) is connected by sequence flows.
- Message Flow: Once the order is processed, a message is sent to an external shipping company to handle delivery. This communication is represented by a message flow between the two entities.
- Association: A “Customer Order” data object is associated with the “Receive Order” task to indicate that this task deals with order data.
Summary
- Sequence Flow: Manages the order of activities within a single process.
- Message Flow: Facilitates communication between different entities or pools.
- Association: Links artifacts like data or annotations to flow elements, providing additional context.
These connecting objects are fundamental to defining how tasks and events are linked, how data moves through processes, and how processes interact with each other in a BPMN model.