Definition of the BPMN
The Business Process Modeling and Notation standard for writing business processes was originally developed by the BPMI (Business Process Management Initiative). This group has subsequently merged with the OMG (Object Management Group) resulting in BPMN 2.0 in 2011. This overhaul of the process modeling standard includes new symbols for business process diagrams.
The main goal of BPMN is to provide a rating that is truly understandable to all business users, from the business analysts who create the initial drafts of the processes, to the developers responsible for implementing the technology that will execute the corresponding application processes, and finally, to the business users who will manage and monitor these processes. In this way, BPMN creates a standardized bridge to bridge the gap between business process modeling and process implementation.
The BPMN 2.0 elements
A task is an indivisible element. It represents an action. Each task has a start and an end and therefore a task can only start if the previous task is completed.
Types of tasks
A task has a type to specify how it works:
||A service task is performed automatically with any application without any human intervention.|
||A user task involves a human performing a task using a computer application.|
||A script task indicates that an algorithm will be performed by a computer application.|
|Manual task||A manual task must be performed without the help of any software or application.|
Logic gates are essential in the BPMN standard. They are used to represent the routing condition between the input and output stream(s). The logic gate is not a task and does not perform any action.
Logical gates are used as much to divide a stream into several streams as they are to join several streams into one.
Logical gates are used to determine how the activities will follow one another.
- exclusives : only one path is possible on all those represented.
- inclusions : several possible paths. This door is usually followed by a door of the same type.
- parallel : several paths taken at the same time.
The parallel gate is used to synchronize, combine or create parallel sequences. Each outgoing flow receives a signal to perform activities. For incoming flows, the Parallel Gateway waits until all incoming flows have been completed in order to continue operations.
The exclusive gate is used to create an alternative path to the normal process sequence. This is a hijacking point. The exclusive door is a question that is asked at some point during the process. Each response is associated with a condition attached to an outgoing flow. If the first condition is met, the process will automatically continue this path without considering other possibilities. It is recommended to model a fault flow, in case no conditions are met.
Unlike the exclusive gate, the conditions are all evaluated when the process flow reaches the inclusive gate. Thus, a condition that is met does not preclude the assessment of the other conditions. As each path is considered independent, all outgoing flows can be solicited. However, the process should be designed so that at least one channel is identified by default in the event that none of the conditions prove to be true.
XOR Event Door
The event gate indicates that outflows are based on events rather than on the evaluation of conditions. A specific event, usually the receipt of a message, determines the outgoing flow. Basically the decision is made by a participant outside the process.
Examples of Logical Doors
Parallel gate AND
After Task 1, Tasks 2 and 3 will start together.
Task 4 will only start when Tasks 2 and 3 are completed.
Exclusive XOR door
The paths are mutually exclusive, there is only one possible path.
Divergent: Only one of the tasks 2,3 and 4 will be executed.
Convergent: Task 4 will start as soon as one of the tasks 1, 2, 3 is completed.
XOR Event Door
The first event received triggers the associated branch.
Events are used to qualify a state in the process. Events represent something that happens, as opposed to the activity that represents what is done. Basically, events change the course of the process either by interrupting the process, by causing an event (launch) or by indicating that an event must occur (receive).
Types of events
The events are grouped into 4 categories:
- start events : describe the trigger circumstance of the process (message, timer, rule,…)
- intermediate events : describe an intermediate state (message, timer, error,…)
- Border events: describe an intermediate event attached to a task to cause an exception to the task processing, which may or may not be interrupted.
- end events: identify the end of a process. The shape of the end event allows to distinguish the result of the process (message, error, link, stop, …)
Role: The simple type is used when the cause of the process trigger is not specified.
Role: The timer type is used when a specific period of time is programmed to trigger the process.
Events Reception intermediaries
Role: The type minutery is used when there is a time constraint in the process sequence.
Role: The type signal is used to indicate the reception of a signal.
Role: The message type signifies the receipt of a message.
Launch Intermediary Events
Role: The type simple is used to define an undefined change in the process state.
Role: The type signal is used to indicate the sending of a signal.
Role: The type error relates only to an activity or task that will be interrupted if an error occurs.
The type signal is used to mean that a signal must be received in order to complete the activity or task.
The type Timing is used when a specific time period or time constraint is determined in order to perform the activity or task.
Role: The type simple is used when the completion event results in no action.
Role: The type error is only used when an intermediate error event is present in the process. It indicates that the process is terminated due to an error.