Personal tools


From Business Process Management, BPM and Workflow Automation Wiki | BizAgi BPMS

Jump to: navigation, search



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.

Image:Bulletrojo.gif 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.

Image:Bulletrojo.gif 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:

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:





Flow Objects

Flow objects are the main graphic elements that define the behavior of the processes.







Connecting Objects

Flow objects are connected to each other by means of connectors to create the basic framework of the business process structure.


Sequence Flow

Message Flow

Message Flow




Swim lanes are mechanisms to arrange activities in separate display categories to illustrate the different functional areas or persons in charge.

Functional Area





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





The following is the description of BPMN elements taking into account their classification:

Image:Bulletrojo.gif Flow Objects

Image:Bulletrojo.gif Connectors

Image:Bulletrojo.gif Swimlanes

Image:Bulletrojo.gif Artifacts

For further information about the shapes and examples on how to use then in Bizagi please go to: BMPN shapes in Bizagi

Flow Objects


Image:Modeling_the_Process3_Image002.jpgDefinition: 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:







As its name suggests, it represents the starting point of a process.



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.




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




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

An active process sends a Signal and triggers the start of the Process.

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





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.


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.


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.


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





This shape represents a delay mechanism within the process. This time can be defined in an Expression or as part of the process information (Date or length in any type of unit of time).


Intermediate Event indicates that compensation is necessary. Thus, it is used to "throw" the compensation Event. If an Activity is identified, and it was successfully completed, then that Activity will be compensated.

Exception paths in the flow occur outside the normal flow of the process and are based on an intermediate event that takes place during the course of the process.

The shape shows the use of the exception line with a sub-process and an activity.


An Intermediate Error Catch Event can only be attached to the boundary of an activity. Note that an Error Event always interrupts the Activity to which it is attached.


A Message Intermediate Event can be used to either send a Message or receive a Message. When used to “throw” the message, the marker MUST be filled. When used to “catch” the message, the marker MUST be unfilled. This causes the Process to continue if it was waiting for the message, or changes the flow for exception handling. The catch and throw messages must have the exact same name.



A Link is a mechanism for connecting two sections of a Process. Link Events can be used to create looping situations or to avoid long Sequence Flow lines. Link Event uses are limited to a single Process level.



Signals are used for sending or receiving general communication within and across Process Levels, and between Business Process Diagrams. A BPMN Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target.



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:


For further information please go to Tasks




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.


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



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.



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


Image:Modeling_the_Process3_Image016.jpg 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:  





Exclusive Gateway

Decision based on system data. The same element is used to synchronize this shape. 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 .