Introduction to BPMN

This paper is intended to provide a high-level overview and introduction to the Business Process Modeling Notation (BPMN). The context and general uses for BPMN will be provided as a supplement to the technical details defined the BPMN 1.0 Specification, which has been recently completed and released to the public. The basics of the BPMN notation will be discribed—that is, the types of graphical objects that comprise the notation and how they work together as part of a Business Process Diagram. Also discussed will be the different uses of BPMN, including how levels of precision affect what a modeler will include in a diagram. Finally, the value in using BPMN as a standard notation will be defined and the future of BPMN outlined. What Is BPMN? The Business Process Management Initiative (BPMI) has developed a standard Business Process Modeling Notation (BPMN). The BPMN 1.0 specification was released to the public in May, 2004. This specification represents more than two years of effort by the BPMI Notation Working Group. The primary goal of the BPMN effort was to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. BPMN will also be supported with an internal model that will enable the generation of executable BPEL4WS. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation. BPMN defines a Business Process Diagram (BPD), which is based on a flowcharting technique tailored for creating graphical models of business process operations. A Business Process Model, then, is a network of graphical objects, which are activities (i.e., work) and the flow controls that define their order of performance. BPMN Basics A BPD is made up of a set of graphical elements. These elements enable the easy development of simple diagrams that will look familiar to most business analysts (e.g., a flowchart diagram). The elements were chosen to be distinguishable from each other and to utilize shapes that are familiar to most modelers. For example, activities are rectangles and decisions are diamonds. It should be emphasized that one of the drivers for the development of BPMN is to create a simple mechanism for creating business process models, while at the same time being able to handle the complexity inherent to business processes. The approach taken to handle these two conflicting requirements was to organize the graphical aspects of the notation into specific categories. This provides a small set of notation categories so that the reader of a BPD can easily recognize the basic types of Introduction to BPMN 2 elements and understand the diagram. Within the basic categories of elements, additional variation and information can be added to support the requirements for complexity without dramatically changing the basic look-and-feel of the diagram. The four basic categories of elements are: • Flow Objects • Connecting Objects • Swimlanes • Artifacts Flow Objects A BPD has a small set of (three) core elements, which are the Flow Objects, so that modelers do not have to learn and recognize a large number of different shapes. The three Flow Objects are: Event An Event is represented by a circle and 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 (see the figures to the right, respectively). Activity An Activity is represented by a rounded-corner rectangle (see the figure to the right) and is a generic term for work that company performs. An Activity can be atomic or nonatomic (compound). The types of Activities are: Task and Sub-Process. The Sub-Process is distinguished by a small plus sign in the bottom center of the shape. Gateway A Gateway is represented by the familiar diamond shape (see the figure to the right) and is used to control the divergence and convergence of Sequence Flow. Thus, it will determine traditional decisions, as well as the forking, merging, and joining of paths. Internal Markers will indicate the type of behavior control. Table 1: Core BPD Flow Objects Introduction to BPMN 3 Connecting Objects The Flow Objects are connected together in a diagram to create the basic skeletal structure of a business process. There are three Connecting Objects that provide this function. These connectors are: Sequence Flow A Sequence Flow is represented by a solid line with a solid arrowhead (see the figure to the right) and is used to show the order (the sequence) that activities will be performed in a Process. Note that the term “control flow” is generally not used in BPMN. Message Flow A Message Flow is represented by a dashed line with an open arrowhead (see the figure to the right) and is used to show the flow of messages between two separate Process Participants (business entities or business roles) that send and receive them. In BPMN, two separate Pools in the Diagram will represent the two Participants. Association An Association is represented by a dotted line with a line arrowhead (see the figure to the right) and is used to associate data, text, and other Artifacts with flow objects. Associations are used to show the inputs and outputs of activities. Table 2: BPD Connecting Elements For modelers who require or desire a low level of precision to create process models for documentation and communication purposes, the core elements plus the connectors will provide the ability to easily create understandable diagrams (see Figure 1). Figure 1: An Example of a Simple Business Process For modelers who require a higher level of precision to create process models, which will be subject to detailed analysis or will be managed by Business Process Management System (BPMS), additional details can be added to the core elements and shown through internal markers (see Figure 2). Introduction to BPMN 4 Figure 2: A Segment of a Process with more Details Swimlanes Many process modeling methodologies utilizes the concept of swimlanes as a mechanism to organize activities into separate visual categories in order to illustrate different functional capabilities or responsibilities. BPMN supports swimlanes with two main constructs. The two types of BPD swimlane objects are: Pool A Pool represents a Participant in a Process. It is also acts as a graphical container for partitioning a set of activities from other Pools (see the figure to the right), usually in the context of B2B situations. Lane A Lane is a sub-partition within a Pool and will extend the entire length of the Pool, either vertically or horizontally (see the figure to the right). Lanes are used to organize and categorize activities. Table 3: BPD Swimlane Objects Pools are used when the diagram involves two separate business entities or participants (see Figure 3) and are physically separated in the diagram. The activities within separate Pools are considered self-contained Processes. Thus, the Sequence Flow may not cross the boundary of a Pool. Message Flow is defined as being the mechanism to show the communication between two participants, and, thus, must connect between two Pools (or the objects within the Pools). Introduction to BPMN 5 Figure 3: An Example of a BPD with Pools Lanes are more closely related to the traditional swimlane process modeling methodologies. Lanes are often used to separate the activities associated with a specific company function or role (see Figure 4). Sequence Flow may cross the boundaries of Lanes within a Pool, but Message Flow may not be used between Flow Objects in Lanes of the same Pool. Figure 4: A Segment of a Process with Lanes Introduction to BPMN 6 Artifacts BPMN was designed to allow modelers and modeling tools some flexibility in extending the basic notation and in providing the ability to additional context appropriate to a specific modeling situation, such as for a vertical market (e.g., insurance or banking). Any number of Artifacts can be added to a diagram as appropriate for the context of the business processes being modeled. The current version of the BPMN specification pre-defines only three types of BPD Artifacts, which are: Data Object Data Objects are a mechanism to show how data is required or produced by activities. They are connected to activities through Associations. Group A Group is represented by a rounded corner rectangle drawn with a dashed line (see the figure to the right). The grouping can be used for documentation or analysis purposes, but does not affect the Sequence Flow. Annotation Annotations are a mechanism for a modeler to provide additional text information for the reader of a BPMN Diagram (see the figure to the right). Table 4: BPD Artifact Elements Modelers can create their own types of Artifacts, which add more details about how the process is performed—quite often to show the inputs and outputs of activities in the Process. However, the basic structure of the process, as determined by the Activities, Gateways, and Sequence Flow, are not changed with the addition of Artifacts in the diagram; as you can see by comparing Figure 4 and Figure 5. Introduction to BPMN 7 Figure 5: A Segment of a Process with Data Objects, Groups, and Annotations General uses of BPMN Business process modeling is used to communicate a wide variety of information to different audiences. BPMN is designed to cover many types of modeling and allows the creation of process segments as well as end-to-end business processes, at different levels of fidelity. Within the variety of