A Comprehensive Business Process Modeling Tool
Contributing Editor
What is BPMN?
Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes
in a workflow. BPMN was developed by Business Process Management Initiative (BPMI), and is currently
maintained by the Object Management Group since the two organizations merged in 2005. As of January 2009,
the current version of BPMN is 1.2, with a major revision process for BPMN 2.0 in progress.
Introduction
Business Process Modeling Notation (BPMN) establishes a new standard for business process modeling, and
offers a graphical notation approach for specifying business processes in a Business Process Diagram. This
approach is based on a flowcharting technique very similar to activity diagrams, which show the overall flow of
control.
An important objective of BPMN is to provide support for business process management to both business and
technical users alike by offering a notation that is comprehensive to business users, while effectively
representing complex process attributes.
The value proposition of BPMN is to deliver a standard notation that is easily embraced by all business and
project stakeholders. These stakeholders include business analysts who create and refine the processes,
technical developers who build the infrastructure to support the processes, project managers who lead the
implementation of the infrastructure, and business managers who use, monitor, and manage the processes. In
reality, BPMN will function as common language, which reduces the communication gap evident between the
design and implementation phases of the business process.
Scope
The scope of BPMN is limited to the business process, thus it is designed to support only those modeling
concepts that are focused on business processes. Effectively, all other types of modeling required by
organizations for non-business purposes are out of scope for BPMN. Specific examples of exclusion from
process modeling in BPMN include:
• Data models
• Organizational structures
• Functional breakdowns
It is also important to note that BPMN is not representative of a data flow diagram even though it may illustrate
the flow of data (messages) and the association of data artifacts to activities.
The Attributes of BPMN
Elements
The modeling in BPMN constitutes simple diagrams along with a small set of graphical elements. The goal is
to provide an easy directive for business users as well as technology developers to understand the process
flow.
The four basic categories of elements of BPMN are:
- Flow Objects: Events, Activities, Gateways
- Connecting Objects: Sequence Flows, Message Flows, Associations
- Swimlanes: Pools, Lanes
- Artifacts: Data Objects, Groups, Annotations
These four categories of elements provide the means to construct simple business process diagrams. The
flexibility provided by BPMN in designing a BPD makes it possible to develop a business flow diagram with a
proprietary design type of a Flow Object or Artifact in order to make a more comprehensive diagram.
Let’s take a closer look at the elements within the four basic categories of the BPMN.
Flow and Connecting Objects
Flow and connecting objects include Events, Activities, Gateways, and Connections.
Flow Objects
Flow objects are the main describing elements in BPMN. Flow objects include three core elements: Events,
Activities, and Gateways, described below.
Events
An Event is represented by a circle and describes something that occurs (rather than that which is performed).
The icon inside each event circle indicates the type of event (e.g. envelope for message, clock for time). Events
may be referred to as Catching, since they might “catch” an incoming message to start the process.
Similarly, they may be considered as Throwing, as they might “throw” a message at the end of the
process.
- Start Event
The Start Event element acts as a trigger for the process. It is indicated by a single thin border and can only
be considered a "catch", therefore, displayed with an open (outline) icon.
- Intermediate Event
The Intermediate Event represents an event that takes place between the start and end events. It is indicated
by a double-line border. The Intermediate Event can "throw" or "catch" (thus depicted by solid or open icons,
respectively). The Intermediate event can affect the process without starting or stopping it. For example, it can
show if within a process messages are expected or must be sent.
- End Event
The End Event element depicts the result of a process. It is indicated by a single heavy border and can only be
considered a "throw", therefore, displayed with a solid icon.
Activities
An activity, which describes the kind of work that must be accomplished, is typically represented by a
rounded-corner rectangle.
- Tasks
A task represents a single unit of work that cannot be decomposed to a more granular level of business
process. It is the lowest level which is normally executed by a person or a system.
- Sub-processes
A sub-process is an element which has its own start, and end events. It can also hide or reveal additional
levels of business process detail. When collapsed, a sub-process is indicated by a plus sign at the bottom line
of the rectangle; when expanded the rounded rectangle expands to show all flow objects, connecting objects,
and artifacts. A sub-process may provide a link to other processes which provide more details.
- Transactions
A transaction is a sub-process which contained activities that must be considered as a whole. This implies
that all activities within the process must be completed to satisfy an objective. If any one activity fails the entire
process must be rolled back (reversed). Transactions are depicted from other sub-processes by having a
double-line border on the rounded-corner rectangle.
Gateway
A gateway is represented by a diamond shape and will determine forking and merging of paths depending on
the conditions expressed. The shapes include: Gateway, Gateway XOR (data), Gateway AND, Gateway XOR
(event), Gateway COMPLEX, and Gateway OR.
Connecting Objects
Connecting objects are used to connect Flow objects to each other. There are three types of connecting
objects: Sequences, Messages, and Associations, all described below.
- Sequence Flows
A sequence flow is represented by a solid line with an arrowhead indicating the order in which activities will be
performed… the order of the process flow. The sequence flow may also append a symbol at the beginning of
the line. A small diamond symbol would indicate one of any number of conditional flows from an activity. A
diagonal slash would indicate the default flow from a decision or activity with conditional flows.
- Message Flows
A message flow is represented by a dashed line. It has an open circle at the beginning of the line, and an open
arrowhead at the end of the line. A message flow shows the flow of messages (inbound and outbound) between
the process participants. A message flow should not be used to connect activities or events within the same
pool.
- Associations
An association is represented by a dotted line. An association connects data, text or artifacts with flow
Objects. Process direction maybe indicated by the use of an open arrowhead (toward the artifact to represent
a result, from the artifact to represent an input, and both to indicate it is read and updated).
No arrowhead is used when the artifact or text is associated with a sequence or message flow.
The association may also be used to show the input and output of an activity.
Swimlanes and Artifacts
Swim Lanes include Pools and Lanes. Artifacts include Data objects, Groups, and Annotation
Swimlanes
In BPMN, Swimlanes are a visual mechanism for organizing and categorizing activities, based on cross
functional flowcharting. They basically consist of two types:
- Pools
Pools represent major participants (key players) in a business process. A pool is like a container which
separates different organizations. No connections are allowed between the objects of different pools, except for
Message Flows. A pool may contain one or more lanes.
A pool can be open (i.e., showing internal detail) depicted as a large rectangle having one or more lanes, or
collapsed (i.e., hiding internal detail) depicted as an empty rectangle over the entire area of the diagram.
- Lanes
Lanes are used to categorize and organize a business process model. They partition a pool and assign
activities, roles, and responsibilities. Unlike the pool, connections are possible with Sequence Flows between
different lanes, but Message Flows are not allowed. A lane is depicted as a rectangle stretching the width or
height of the pool. It contains Flow Objects, Connecting Objects, and Artifacts.
Artifacts
Artifacts allow developers add contextual information into the model/diagram. In this way the model/diagram
becomes more readable. Three pre-defined artifacts: Data Objects, Groups, and Annotation, provide this ability.
- Data Objects
Data Objects indicate if activities produce data or require data. They also facilitate recognizing the state of the
object. The data object is connected to the task by an association.
- Groups
A Group is represented by a rounded-corner rectangle with dashed lines. The Group is used to categorize
different activities of the process diagram with on impact to the process flow.
- Annotations
An Annotation is used to add notes and comments to improve the readability of the process diagram.
Normal business process model
BPMN 2.0
The vision of the Object Management Group for BPMN 2.0 is a unique specification for a new Business Process Model and Notation that defines the notation, interchange format, and meta-model, while preserving the "BPMN" focus but with a different name.
The Business Process Model and Notation is the proposed name for BPMN version 2.0 under development.
There are also inherent weaknesses of BPMN. All this and more about BPMN 2.0 to be discussed in an upcoming issue.