Learning BPMN Lesson 3: What are the objects in BPMN?
The BPMN spec contains way over 100 different object types that can be used in the different model types. There are special rules about how to use them, which I will explain in later lessons. This article contains an overview of the available objects.
BPMN Objects Overview
Depending on your use case and point of view, the amount of available object in the different BPMN models might be a blessing or a course. Most likely business people will shy away from the notation and might see it as “too complex”, while technical folks who want to implement a workflow system might welcome the possibilities to express even complex situations in a (relatively) simple way.
However, there is a thin line – due to the openness of the specification in the object definition, as well as the modeling style that allows to express the same thing in multiple ways – for Enterprise Architects who want to standardize on BPMN for the process layer to walk on, since some mappings are not possible or can be only achieved with workarounds.
(BPMN 2.0 poster created by the BPM Initiative Berlin; downloadable at http://bpmb.de/poster)
While posters like the one above provide a good reference for experienced BPMN users, the usage and combination of objects is not included. In addition to this, the specification clusters the objects in two subclasses to reduce complexity for different modeler groups.
BPMN Objects in the BPMN model types / in ARIS
The following table shows the available BPMN objects in the current ARIS implementation. Please note that the Choreography diagram is not implemented as of ARIS 7.1 SR9 and therefore some object types are missing. Since this is a new model type, the majority of existing users might not miss this at all and use the more commonly used BPMN Process and Collaboration diagrams.
|Lane||Lane; Process/ Collaboration BPMN Allocation||Lanes can represent multiple things, like roles, org units, systems, or data. They are always part of one pool. However, lanes do not have a singular specific meaning and you have to map them to the “real” objects if you want to do advanced modeling.|
|Event||Event; Process/ Collaboration||An event is something that “happens” during the course of a business process. These events affect the flow of the process and usually have a cause (trigger) or an impact (result). Events are circles with open centers to allow internal markers to differentiate different triggers or results. There are three types of Events, based on when they affect the flow: start, intermediate, and end.|
|Task||Function; Process/ Collaboration||An activity is a generic term for work that company performs. An activity can be atomic or non-atomic (compound). The types of activities that are a part of a Process Model are: Process, Sub-Process, and Task. Tasks and Sub- Processes are rounded rectangles. Processes are contained within a Pool.|
|Subprocess||Function; Process/ Collaboration||see Task|
|Gateway||Rule; Process/ Collaboration||A Gateway is used to control the divergence and convergence of Sequence Flow. Thus, it will determine branching, forking, merging, and joining of paths. Internal Markers will indicate the type of behaviour control.|
|Message||Message; Collaboration||Messages show the conversation exchange between pools (= participants).|
|Data object||Cluster; Process/ Collaboration||Data Objects provide information about what
Activities require to be performed and/or what they
produce, Data Objects can
represent a singular object or a collection of
objects. Data Input and Data Output provide the
same information for Processes.
|Data store||Information Carrier; Process/ Collaboration||See data objects. Data stores save information persistently for this process.|
|Text annotation||Text Annotation; Process/ Collaboration/
|Text annotations are a mechanism for a modeler to provide additional information for the reader of a BPMN diagram.|
|Communication||Conversation; Conversation||Communications show the interactions of different participants on a 30,000 foot level.|
|Group||Structural Element; Process/ Collaboration||Groups are artifacts that can group objects logically.|
|Partner Entity||Organizational Unit; BPMN Allocation||Partner entity objects are provided to map pools to org units (that can be reused in other non-BPMN views).|
|Partner Role||Person Type; BPMN Allocation||The partner role allows to map roles in BPMN allocation diagrams.|
- Some of the objects are also used in the 1.x BPMN implementation. The table above only reflects the 2.0 implementation – e.g. a pool can be used in a 1.x BPMN process model but not in a 2.0 process model.
- Subclasses graphic updated on 3/11/11