Pool and swimlanes
A BPMN process consists of a pool with one or more swimlanes that represent all actors involved in the process. The process and involved actors are predefined in the ArchiMate model.
Actors
Each actor has its own swimlane and corresponds to a specific person or an organizational entity.
Events
An event occurs without anyone executing a specific task.
Event type | Description | Symbol |
Start | Start of a process | |
End | End of a process | |
Intermediate Message Catch Event |
Examples: receiving a message, trigger in an application Reaction: task(s) required in the process |
|
Intermediate Message Throw Event |
Examples: sending a message, putting through a status change in an application Reaction: task(s) required outside the process |
|
Timer Intermediate Catch Event |
Represents either a cyclic timer or a period of time before subsequent tasks are executed. Examples: every month, after 5 days |
|
Intermediate Conditional Event |
An event that is triggered when a condition becomes true. |
|
Intermediate Signal Throw Event |
Fires up a signal that is caught by the two Start Signal Events. |
|
Intermediate Signal Catch Event |
An event that waits for the associated Signal to be thrown. |
Gateways
A gateway is a logical port, a point in which process flows split or meet.
Gateway type | Description | Symbol |
Exclusive gateway |
In case of divergent process flows, exactly one outgoing process flow is activated. In case of convergent process flows, the outgoing process flow is activated when either one of the incoming flows arrives at the gateway. Divergent flows are usually accompanied by a question with mutually exclusive answers. |
|
Inclusive gateway |
In case of divergent process flows, one or more outgoing process flows are activated. In case of convergent process flows, all incoming activated flows must be finalized before the outgoing flow is activated. |
|
Parallel gateway |
In case of divergent process flows, all outgoing flows are activated. In case of convergent process flows, all incoming flows must be finalized before the outgoing flow is activated. |
|
Event-based gateway |
This gateway is always followed by catching events or catching tasks. Depending on which event occurs a process flow is activated. |
|
Complex gateway |
These ports are only used for the most complex flows in a business process. An ideal situation for the complex port is when you need multiple ports to describe the operating flow. |
Tasks
A task is a single activity or a set of activities that are used for logical composition.
Task type | Description | Symbol |
Task | A task is an atomic activity. Applications and processes can be linked to tasks. Only applications and processes that exist in the ArchiMate model can be used. | |
Manual task |
A manual task is executed without the use of software. |
|
User task |
A user task is executed by an actor using an application. The application used in the task should be linked. |
|
Service task |
A service task is an activity automatically performed by an application or webservice with no user involved. An application or webservice must be connected and is made available from ArchiMate. |
|
Business rule task |
A business rule task provides a mechanism for a process to provide input to a Business Rules Engine and then obtain the output provided by the Business Rules Engine. |
|
Script task |
A Script task is executed by a business process engine. The task defines a script that the engine can interpret. When the task begins, the engine will execute the script. The task will be completed when the script is completed. |
|
Send task |
A send task represents a task that sends a message to another lane or pool. The task is completed once the message has been sent. |
|
Receive task |
A receive task indicates that the process has to wait for a message to arrive in order to continue. The task is completed once the message has been received. |
|
Call activity |
A call activity identifies a point in the process where a global process or a global task is (re)used. This process must be known in ArchiMate. The (re)used process or global task name will be shown as text. |
|
Transaction |
A transaction subprocess is an embedded subprocess which can be used to group multiple activities to a transaction. |
|
Subprocess |
A subprocess is an activity whose internal details have been modeled in a separate model. A subprocess is only used in its mother process. |
|
Event subprocess |
An event subprocess is a subprocess triggered by an event. |
Data
In BPMN, data objects and data stores are used/manipulated by tasks.
Type | Description | Symbol |
Data object |
A data object represents information flowing through the process, such as business documents, e-mails, and letters. A data object is made available from ArchiMate (called business object). |
|
Data store |
A data store is a place where the process can read or write data, for example, a database or filing cabinet. It persists beyond the lifetime of the process instance. A data store is made available from ArchiMate (called data object). |
Subprocess markers
BPMN specifies the following markers for a subprocess.
Marker type | Description | Symbol |
Looping |
Indicates that the subprocess repeats itself in a sequence. |
|
Compensation |
Indicates that the subprocess can run with other identical subprocesses simultaneously. |
|
Sequential Multi-instance |
Indicates that a multi-instance activity is sequential. This means that the activity must be completed for each item in the order that they are received within the collection. |
|
Parallel Multi-instance |
Indicates that a multi-instance activity is non-sequential. This means that the activity can be completed for each item in the collection in no particular order. |
|
Ad-hoc |
Represents a collection of tasks that exist solely for handling a specific case. |
Comments
2 comments
Explanation for Transaction is missing - current text is copied from Sub process.
Hi Joost, I reported this also 2 weeks ago as incident (#18826). Kim van Rooijen is aware of it and she will take action in due time.
Please sign in to leave a comment.