BPMN
From Business Process Management, BPM and Workflow Automation Wiki | BizAgi BPMS
<keywords content="keywords">
business, process, modeling, notation, Business Process Model and Notation, gates
</keywords>
Contents |
BPMN (Business Process Modeling Notation)
In order to achieve a competitive advantage, organizations are focusing more and more on the management and optimization of their business processes. With a view to achieve this objective efficiently, companies are applying strategies like the use of tools and/or methodologies such as BPMS, BPA or BPMN (Business Process Modeling Notation).
The understanding, design, execution, analysis and control of processes requires different areas of the organization to interact with the processes. BPMN has been created to provide a unified language that is comprehensible to business analysts as well as experts in the area of technology.
BPMN provides a common notation so that the people related to the processes can express them graphically in a clear, standardized and complete manner. BPMN enables not only the standardization of the processes within the organization, but also expands the field of action for them to be shared and understood by different business partners.
Starting with V.9.0, Bizagi has used BPMN language to diagram and model processes. In previous versions, in view of the inexistence of a single standard, Bizagi had its own language, which also enabled the standardization of processes in organizations where Bizagi had been implemented. Now, Bizagi not only enables an organization’s processes to maintain a single language, but it also promotes the use of this standard language so sharing information among companies or business partners is an easier task.
What is BPMN? Business Process Modeling Notation (BPMN) is a graphic notation that describes the logic of the steps in a Business Process. This notation has been especially designed to coordinate the sequence of processes and messages that flow between participants of different activities.
BPMN is a formal language that enables the modeling, simulation and, eventually, the execution of business processes. Its syntax is based on graphic elements, but these elements have a 1:1 relationship with instructions in the BPEL Language, which enables the generation of BPEL executable code based on a BPMN model. It was developed by the organization BPM Initiative, subsequently going on to merge with the parallel efforts being made by the OMG. This means great possibilities for BPMN to become the standard language regarding business processes, like UML, under the auspices of OMG, which has become the standard for software modeling1.
Why is BPMN important? The business world has changed dramatically over the last few years. Processes can now involve multiple participants and their coordination can be complex. Before BPMN, there was no standard modeling technique, while users will not benefit from this notation just like the rest of the software engineering world does with UML.
The following is the description of the main elements of BPMN. For further information, go to:
http://www.omg.org/spec/BPMN/2.0/PDF/
http://www.omg.org/technology/rfc-form.htm
Business Process Diagrams
This section provides a summary of the graphic objects of BPMN and their relations. A goal for the development of BPMN is for the notation to be simple and adoptable by business analysts. In addition, there is a potential requirement to represent complex processes and the business map in a proper language for the execution of BPM. To help understand how BPMN can handle both requirements, the list of the graphic elements of BPMN is divided into two groups:
First, there is a list of the core elements that will help meet the requirement for a simple notation. These are the elements that define the basic look & feel of BPMN. Most of the business processes will be modeled properly with these elements.
Second, there is the whole list of elements, including the core elements, which will help meet the requirement of diagramming more complex situations.
Basic BMPN Modeling Elements
It is important to point out that one of the guidelines for the development of BPMN is to create a simple mechanism to diagram process flows, which in turn can handle the complexity inherent to business processes. The approach taken to handle these two conflicting requirements was to organize the graphic aspects of the notation in specific categories. This provides a category system that helps the reader of a BPMN diagram to easily recognize the basic types of elements and understand the diagram.
The four basic categories of these elements are:
ELEMENT |
DEFINITION |
PRIOR VERSION |
BPMN NAME |
Flow Objects |
Flow objects are the main graphic elements that define the behavior of the processes. |
Events |
Events |
Activities |
Activities | ||
Decision |
Gateways | ||
Connecting Objects |
Flow objects are connected to each other by means of connectors to create the basic framework of the business process structure. |
Transition |
Sequence Flow |
Message Flow |
Message Flow | ||
Association |
Association | ||
Swimlane |
Swim lanes are mechanisms to arrange activities in separate display categories to illustrate the different functional areas or persons in charge. |
Functional Area |
Pools |
Phase |
Lanes | ||
Artifacts |
Artifacts are used to provide additional information about the process. They provide the notation with flexibility to express different contexts properly. |
Data Object |
Data Object |
Group |
Group | ||
Annotation |
Annotation |
The following is the description of BPMN elements taking into account their classification:
For further information about the shapes and examples on how to use then in Bizagi please go to: BMPN shapes in Bizagi
Flow Objects
Events
Definition: an event is something that happens during the course of the process, affecting the process flow and normally has a trigger or result.
Representation: events are represented by circles with an empty center, which enables the inclusion of different markers to differentiate them from each other.
Types: types of events are classified depending on when they affect the flow:
TYPE OF EVENT |
BPMN NAME |
DEFINITION |
NOTATION |
Start |
Start |
As its name suggests, it represents the starting point of a process. |
|
Intermediate |
Intermediate |
This takes place between a start event and an end event. It will affect the process, but it will not cause it to start or end directly. | |
End |
End |
Indicates when a process ends. |
Within each type of event, they, in turn are classified as per the impact on the process flow. For instance, some subtypes are: messages, timer, cancellation, error, etc. The following can be found in Bizagi:
Start Events
For further information please go to Start And End Shapes
BPMN NAME |
USE |
NOTATION |
Message Start |
An active process sends a message to another specific Process in order to trigger its start. |
|
Timer Start |
A specific time-date (e.g. every Monday at 9am) can be set that will trigger the start of the Process. | |
Signal Start
|
Note that the Signal is sent to any Process that can receive the Signal, but is not a Message (which has a specific Source and Target). |
End Events
For further information please go to Start And End Shapes
BPMN NAME |
USE |
NOTATION |
Terminate |
This is the end of the process. There can be more than one in a flow. If a process reaches this event, it will be closed. |
|
Cancel |
This type of End is used within a Transaction Sub-Process. It will indicate that the Transaction should be canceled and will trigger a Cancel Intermediate Event attached to the Sub-Process boundary. | |
Error
|
This shape is used to capture errors, whether they are identified or not. All currently active threads in the particular Sub-Process are terminated as a result. The Error will be caught by an Error Intermediate Event with the same Name which is on the boundary of the nearest enclosing parent activity. | |
Message
|
This type of End indicates that a Message is sent to a specific process or active case, at the conclusion of the Process. |
|
|
This type of End indicates that a Signal will be broadcasted when the End has been reached. Note that the Signal is sent to any Process that can receive the Signal and can be sent across Process levels, but is not a Message (which has a specific Source and Target). |
|
Intermediate Event
For further information please go to Intermediate Event
Activities
Definition: Activities represent work or tasks carried out by members of the organization. This element stands for manual or automatic tasks performed by an external system or user. Activities can be atomic or non-atomic (compound).
Representation: An activity is represented by a rectangle with rounded corners.
Types: They are classified into tasks and sub-processes. Sub-processes are distinguished by a plus sign at the bottom center of the shape. The following are the types of activities:
ACTIVITIES
For further information please go to Tasks
BPMN NAME |
USE |
NOTATION |
User Task |
Is a typical “workflow” Task where a human performer performs the Task that has to be completed in a certain amount of time. It is used when the work during the process can not be broken down into a finer level within the flow. User Task |
|
Service Task |
A Service Task is a Task that uses some sort of service, which could be a Web service or an automated application. Service Task. | |
Recieve Task |
A Receive Task is a simple Task that is designed to wait for a Message to arrive. Once the Message has been received, the Task is completed. Recieve Task. | |
Send Task
|
A Send Task is a simple Task that is designed to send a Message a specific Process or Case. Once the Message has been sent, the Task is completed. Send Task. |
|
Script
|
A Script Task is an automatic task in which a script is executed by the server. It has no human intervention and does not connect to any external service. Script Task |
|
Manual
|
This is a Task that is expected to be performed without the aid of any business process execution engine or any application. An example of this could be secretary filing physical documents. Manual Task. | |
Subprocess
|
A sub-process is a compound activity included within a process. It is compound given the fact that this shape includes a set of activities and a logical sequence (process), which indicates that said activity can be analyzed at a finer level. It can be collapsed or expanded. Subprocess. |
![]() |
Multiple SubProcess
|
This property of the SubProcess allows the creation of multiple instances. Each instance represents an item in a 1-N relationship within the process. Multiple SubProcesses apply only for non-embedded processes. Multiple Subprocesses. | |
Transactional SubProcess
|
This property of the SubProcess allows the creation of multiple instances. Each instance represents an item in a 1-N relationship within the process. Multiple SubProcesses apply only for non-embedded processes. Transactional. |
|
Embedded SubProcess
|
Contain a set of activities that are not independent of the Parent process, therefore, they share the same information or data. |
Note: Bizagi proposes a modeling pattern to represent and use Ad-Hoc processes. For more information please refer to Ad-Hoc process |
Gateways
Definition: Gateways are used to control the divergence and convergence of the flow. They determine ramifications, bifurcations, combinations and merges in the process.
Representation: They are represented by a diamond shape. Internal markers will show the type of control being used.
Types: Icons in the diamond shape indicate the type of behavior of the flow control. Types of control include:
GATEWAYS
TYPE OF DECISION |
DEFINITION |
NOTATION |
Exclusive Gateway |
|
|
Event Based Gateway |
Points in the process in which the decision is not based on process data but rather on events. Event Based Gateway. | |
Inclusive Gateway
|
Inclusive or multi-decision. One or more paths can be activated. One or more paths must be synchronized depending n the previous activations of that same shape. Inclusive Gateway | |
Complex Gateway
|
Element to control points of a complex decision. For instance, when 3 out of 5 paths must wait. Complex Gateway . |
|
Parallel Gateway
|
Indicates points in the process in which several branches take off from or converge in parallel. The same element is used to synchronize this shape. Parallel Gateway . |
|