BPMN Library
The Business Process Notation library (BPMN) is a widely used standard for modeling business processes and system interactions. The library that is available with the Universal Model Editor conforms to the BPMN 2.0 standards.
BPMN Events
Image | Name | Description |
![]() | Start Event | Start Events indicate the start of a process or a Sub-event process. Start Events can be marked as Interrupting or Non-Interrupting in the Utility Panel. |
![]() | Intermediate Event | Used to represent any events that occur between the start and end events. Intermediate Events can be marked as Interrupting or Non-Interrupting in the Utility Panel. |
![]() | End Event | Represents the last or final step in a process. |
Start Event Symbols
Symbol | Image | Name | Description |
| ![]() | None | Empty |
![]() | ![]() | Message | Represents a message that begins a process, facilitates an intermediate process, or finishes a process. |
![]() | ![]() | Timer | Represents a time or date that begins a process, facilitates an intermediate process, or finishes a process. |
![]() | ![]() | Error | Represents an Error in the start, middle, or end of a process. |
![]() | ![]() | Cancel | Used to cancel a transaction or a process. In an end-event, the cancel symbol represents the triggered cancellation of a process. |
![]() | ![]() | Compensation | Represents the handling or triggering of compensation when operations partially fail. |
![]() | ![]() | Conditional | Used to react to changed business conditions or integrating business rules. |
![]() | ![]() | Link | A sub-process that is part of a larger process. |
![]() | ![]() | Signal | Used to signal across different processes. |
![]() | ![]() | Escalation | Represents an escalation to a higher level of responsibility. An Escalation occurs when someone or something at a higher level of responsibility becomes involved in the process. |
![]() | ![]() | Multiple | Represents multiple triggers initiating a process. |
![]() | ![]() | Parallel Multiple | A process instance that doesn't start, continue, or end until all possible events have occurred. |
![]() | ![]() | Terminate | Triggers the immediate termination of a process. |
Intermediate Event Symbols
Standard | Event Sub-Process Interrupting | Boundary Interrupting | Boundary Non-Interrupting | Throwing On | Standard 2 | Description |
![]() | Untyped. Indicates a start point, intermediate, or end states. | |||||
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Message - A message that begins a process, facilitates an intermediate process, or finishes a process. |
![]() | ![]() | ![]() | ![]() | N/A | ![]() | Timer - A time or date that begins a process, facilitates an intermediate process, or finishes a process. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Error - An Error in the start, middle or end of a process. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Cancel - Reacts on a transaction that was canceled in a process. In an end-event the cancel symbol represents the triggered cancellation of a process. |
![]() | ![]() | ![]() | ![]() | N/A | ![]() | Compensation -Handling or triggering of a compensation when operations partially fail. |
![]() | ![]() | ![]() | ![]() | N/A | ![]() | Conditional - Handling or triggering of a compensation when operations partially fail. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Link - A sub-process that is part of a larger process. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Signal - Signaling across different processes. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Escalation - Escalating to a higher level of responsibility. An Escalation occurs when someone or something at a higher level of responsibility becomes involved in the process. |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Multiple - Multiple triggers that initiate a process. |
![]() | ![]() | ![]() | ![]() | N/A | ![]() | Parallel Multiple - A process instance that doesn't start, continue, or end until all possible events have occurred. |
![]() | ![]() | ![]() | ![]() | N/A | ![]() | Terminate - Triggered the immediate termination of a process. |
BPMN Activities
Image | Name | Description |
![]() | Task | The activity that is to be performed. |
![]() | Sub-Process | A group of tasks that fit well together. The sub-process shape can be expanded or collapsed by using the "+" symbol on the shape. |
![]() | Event Sub-Process | A variation on the Sub-Process shape. |
![]() | Transaction | A specialized process that involves transactions. |
![]() | Call Symbol | A global sub-process that is reused at different points in the flow. |
![]() | Conversation | A set of logically related message exchanges. |
![]() | Sub-Conversation | A conversation with a "+" indicates that it is a sub-conversation. |
![]() | Call Conversation | A wrapper for a globally defined conversation. |
Activity Markers
Image | Name |
![]() | Loop Marker |
![]() | Parallel Multi-Instance Marker |
![]() | Sequential Multi-Instance Marker |
![]() | Ad-Hoc Marker |
![]() | Compensation Marker |
Task Types
Image | Name |
![]() | Service |
![]() | Send |
![]() | Receive |
![]() | Instantiating Receive |
![]() | User |
![]() | Manual |
![]() | Business Rule |
![]() | Script |
BPMN Artifacts
Image | Name | Description |
![]() | Annotations | Describes additional flow parts of the model. |
![]() | Groups | Organize tasks or processes that are significant to the overall process. |
![]() | Data Objects | Represents data in the process. Could be data resulting from the process, data that needs to be collected or data that must be stored. |
![]() | Data Collection | Represents data collected in a process. |
![]() | Data Input | Represents data requirements that tasks in the process depend on. |
![]() | Data Output | Represents information produced as a result of the process. |
![]() | Data Storage | Represents access or storage of data associated with a process. |
![]() | Message | An action that refers to a specific addressee and represents or contains information for the addressee is a message. |
![]() | Pool (Black Box) | An empty pool that represents a business process with all details hidden. |
BPMN Gateways
Image | Name | Description |
![]() | Gateway | Gateways are symbols that separate and recombine flows in a process diagram. |
![]() | Exclusive Gateway | When splitting, it routes the flow to exactly one of the out going branches. When merging, it waits for one incoming branch to complete before triggering the outgoing flow. |
![]() | Inclusive Gateway | Breaks the process flow into one or more flows. When splitting, one or more branches are activated. When merging, all active incoming branches must be complete |
![]() | Parallel Gateway | Not dependent on conditions or events. Used to represent two concurrent tasks in a business flow. |
![]() | Complex Gateway | Used for the more complex flows in a process. Ideal for when you need many gateways to describe a process. |
![]() | Event Based Gateway | Similar to an exclusive gateway since both involve one path in the flow. Evaluates which event has occurred, instead of which condition was met. |
![]() | Exclusive Event Based Gateway | Starts a new instance of a process with each occurrence of a subsequent event. |
![]() | Parallel Event Gateway | Starts a new instance of a process with each occurrence of a subsequent event. |
BPMN Pool Swim Lanes
Image | Name | Description |
![]() | Horizontal Pool | Used to group processes, define actors and process boundaries. Additional lanes can be added by selected the pool and clicking Add Lane. |
![]() | Vertical Pool | Used to group processes, define actors and process boundaries. Additional lanes can be added by selected the pool and clicking Add Lane. |
Flows
Image | Name | Description |
![]() | Sequence Flow | A Sequence Flow is used to show the order in which activities will be performed in a process or choreography diagram. |
![]() | Message Flow | A Message Flow is used to show the flow of messages between two separate process actors. |
![]() | Association | An Association is used to associate artifacts with flow objects. |
![]() | Data Association | A Data Association is used to associate data with flow objects. They are used to show the inputs and outputs of activities. |