The table below shows the various concepts that can be used to create BPMN models. A number of main categories can be identified for these concepts. In some of these categories, concepts can be specified in more detail by discerning certain variations and adding specific information to them.
Each concept is visualized in an example, using the default color of the element. Other elements and relationships in the example are faded in order to place them in the background.
For a more detailed description of the BPMN concepts and their use, visit the website of the Object Management Group (http://www.omg.org/spec/BPMN) for the official BPMN specification.
On this page:
Name + description
A start event represents the start of a process or choreography. A process or choreography can only have one start event.
A start event can have a trigger which describes the cause of the event. A trigger can be modeled by adding a type to the event.
An intermediate event represents an event (something that happens) during the execution of a process or choreography. An intermediate event can influence the course of a process flow, and is positioned somewhere between the start event and the end event of a process or collaboration.
The event is modeled in between sequence flows. The intermediate event can be activated as soon as an activity is completed.
An intermediate event can have a trigger which describes the cause of the event. A trigger can be modeled by adding a type to the event. The most notable types are message, timer, and error.
An intermediate event can be either catching or throwing, meaning that it can take up ("catch"), or send ("throw") a signal, respectively.
Multiple intermediate events can be used within a single process or choreography.
A boundary event is an intermediate event that is attached to the boundary of an activity or sub-process. The meaning of this is that the boundary event can already become active during execution of the activity or sub-process. The activity or sub-process does not need to be completed yet.
A boundary event can only be catching; while the execution of the activity is underway, the event awaits a trigger signal. As soon as this signal is received by the event, new behavior will be started.
An end event represents the point at which the process or choreography finishes.
An end event can have a result. A result is a signal that will be passed on by the event as soon as the process flow reaches the event. The nature of the result can be defined by adding a type to the end event.
An end event can only be throwing; it only sends out the result of the event.
A process or choreography can include more than one end event, in order to model the different alternative end states as a result of the execution of a process or choreography.
A task is a single activity at the lowest level of abstraction in a process or collaboration. A task represents some type of activity that cannot be broken down into more detailed activities at a level below. (In cases where it is necessary to break down activities in multiple levels, a sub-process, transaction, or call activity should be used.)
A task can be assigned a certain type. Assigning a type to a task gives more information about the characteristics of the task.
A sub-process is a composite activity within a process, which in itself is modeled using activities, gateways, events, and sequence flows. In this way, a sub-process could be considered as "a process within a process".
A sub-process can be visualized showing its contents, but the contents can also be hidden by "collapsing" the sub-process. It can be accessed by clicking thesymbol in the object.
A transaction is a specific type of a sub-process. A transaction consists of a logical coherent set of activities, which can be based on a transaction protocol. The activities in a transaction are processed in a way where the execution of ALL activities is successful, or unsuccessful.
The color of a transaction is similar to the color of a sub-process, but a transaction has a double edge. It is a graphical object in a process and is visualized as a single transaction, but it can also be expanded in order to model the details on a lower level of abstraction. In order to do this, click thesymbol in the object.
A call activity is a sub-process that can be used in case you want to invoke a generic defined process (global process) that is used in multiple processes within a model package. A global process needs in principle to be modeled just once, after which it can be invoked via a call activity from multiple models within a model package.
A call activity can also invoke a global task. Global tasks are activities that are not described in detail as part of the model. Global tasks are created in the model browser.
A call activity is only displayed as collapsed. The process that is invoked can be opened by clicking thesymbol in the object.
A choreography task is a single activity at the lowest level of abstraction in a choreography. A choreography task represents some type of activity that cannot be broken down into more detailed activities at a level below. (In cases where it is necessary to break down activities in multiple levels, sub-choreographies or call choreographies should be used.)
A choreography task represents a set of one or more exchanges of information (messages), and consists of two participants.
A sub-choreography is a composite activity within a choreography, which in itself is modeled using other activities (choreography). In this way, a sub-choreography could be considered as a choreography within a choreography.
A sub-choreography can be visualized showing its contents, but the contents can also be hidden by "collapsing" the sub-choreography. The details can be accessed by clicking thesymbol in the object.
A call choreography is a sub-choreography that can be used in case you want to invoke a generic defined choreography (global choreography) that is used in different choreographies. A global choreography needs in principle to be modeled just once, after which it can be invoked via a call choreography from multiple models within a model package.
A call choreography is only displayed as collapsed. The process that is invoked can be opened by clicking thesymbol in the object.
A gateway is used in order to control splits and joins of sequence flows in a process or collaboration. A gateway can be assigned a type which defines the behavior of the gateway.
A global task is used for defining a general activity that is not specified in more detail within the model.
A global task does not have a graphical representation, and can only be invoked from a process or collaboration through the use of a call activity.
Global tasks are created in the model browser.
Connecting objects (relationships)
Name + description
A message flow represents the flow of information in terms of messages sent and received between two participants. In a collaboration diagram, participants are represented by pools.
In Enterprise Studio the BPMN association and data association are considered similar. Both are represented using the same icon.
An association is used to connect information and flow objects. An association is used to connect data objects and data stores to for example a task or event. Data objects can also be connected to each other by using associations.
Name + description
A pool represents a participant of a collaboration. At the same time, a pool acts as a lane. A pool can consist of multiple lanes, describing a collaboration with multiple participants.
External participants of a collaboration are described using so called "black box" pools. This black box pool does not contain any content, except for the name of the external participant. In BPMN, external participants are not specified.
The role of a lane is to specify and categorize activities. A lane is a subdivision of a process or pool, and covers the full scope (length) of a process.
Usually, a lane represents a role or business unit involved in executing activities that are part of the process.
Name + description
A data object describes the required inputs of an activity, as well as the resulting outputs of an activity. A data object can represent a single object, or a collection of objects. A collection of objects should be marked using thecontrol, visible at the selected data object.
Data objects can be used in collaborations as well as processes.
A data input is a specification of a data object and represents information needed to start an activity. It provides input.
Similar to a data object, a data input can represent a single object, or a collection of objects.
A data input cannot have any incoming data associations.
A data output is a specification of a data object and represents information that may be the result (output) from an activity.
Similar to a data object, a data output can represent a single object or a collection of objects.
A data output may have no outgoing data associations.
A data store represents stored information that can be retrieved or updated by the process, and that persists throughout the process.
Name + description
A resource is used to define resources that perform an activity or are responsible for an activity. Activities in a process or collaboration can refer to a resource.
Resources are described in a resources diagram. A resource can be linked to a resource role. This assignment is created from within the resource role.
A resource role is used to define the entities that can be referred to by activities in processes and collaborations. A resource role is a more detailed specification of a resource. If resource roles are described in a resources diagram, they can be assigned to activities from within a process or collaboration.
A resource role can be assigned a certain type. Assigning a type to a resource role gives more information about the characteristics of the resource role.
Name + description
The graphical shape group represents the BPMN concept group. A group visually organizes objects and relationships of a diagram. A group is a graphical aid only, it does not have formal semantics; a group is not an activity nor any other flow object, and is not bound by pools or lanes. This means a group can transcend the level of a pool.
The graphical shape comment represents the BPMN concept annotation. A comment can be used to add textual documentation to a diagram, intended to inform the reader of the diagram. Comments can be linked to a specific object part of the diagram, using an edge (Graphic shapes group), without any consequence or influence to the process.