BPMN 1.2 tutorial
This article or section is currently under construction
In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")
Introduction
This article provides a short overview of BPMN 1.2. BPMN is a so-called flowcharting notation language for defining a so-called businnes process in terms of connected activites, events and gateways.
Overview of BPMN 1.1/1.2 (2008/9)
According to the BPMN 1.2 specification, “The primary goal of BPMN is 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. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation. Another goal, but no less important, is to ensure that XML languages designed for the execution of business processes, such as BPEL4WS (Business Process Execution Language for Web Services), can be visualized with a business-oriented notation.”
According to the 1.2 specification, BPMN has four categories of core elements for defining a business process:
- Flow Objects
- define the behavior of a business process
- Types: Events, Activities, Gateways
- Connecting Objects
- connect flow objects to each other or to other information
- Types: Sequence Flow, Message Flow, Association
- Swimlanes
- group elements
- Types: Pool, Lane
- Artifacts (Artefacts)
- are used to provide extra information about the process
- Types: Data Object, Group, Annotation
BPMN 1.2 elements
Events
An event is something that "happens" during a process and it will affect the flow of the process. It usually has either a cause or an impact or both. In more operational terms, events will affect the sequence of the timing of process activities.
There are three main types of events: start events, intermediate events and end events. Events are represented as small circles.
Start Events
Start events indicate the initiation of a process and are usually associated with a trigger. The five types of triggers defined by v. 1.1 are represented with graphical markers.
- Plain (generic) start events: do not specify any trigger
- Message start events: start when a message is received from an other participant
- Timer start event: indicate a given time/date for starting
- Conditional start events: a process is triggered when certain business conditions become true.
- Signal start events
- Multiple start events
Intermediate events
(to do)
End events
- Simple ("none") end event: showing that and where a process ends
- Message end event: indicates that a message is sent to a participant when the end of the process is reached
- Error end event: an error code should be generated. This code then can be caught by an error catching intermediate event in the parent. If there is none, then the system also can handle this.
- Cancel end event: is only used in transaction sub-processes and will signal that this transaction should be cancelled.
- Compensation end event: can either compensate an activity that is identified. Otherwise all activities in the process can be subject to compensation if they have a compensation intermediate event attached.
- Signal end event: a signal is generated. It will be broadcasted to any process (i.e. signal catching events) that can receive it. A signal is different from a message. The latter always has a source and a target.
- Terminate end event: triggers an immediate end to the process and all its activities. The process is ended without compensation of event handling.
- Multiple end event: multiple consequences of ending the Process.
Activities
An activity stand for the 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:
- Tasks
- Sub-Process
- Process, but these are represented with swimmlanes
Simple tasks
An "atomic" (simple) task is a simple activity performed within an organization. The correspond to a step in the process flow. Tasks and Sub-Processes are represented with rounded rectangles.
Examples
Model of a discussion
Email voting process
Model of surgery programming
The process model presented by Roja et al. (2008) shows at a high level abstraction the programmed surgical patient (PSP) process and the activities that are carried out when a patient is admitted into the hospital for the accomplishment of the surgical treatment of a disease that has been clinically diagnosed previously. This model is a result of a joint work between hospital and BPMN expert and it has been obtained through a reiterative and incremental method.
“The modelling of the programmed surgical patient process and its subprocesses has allowed to us to prepare an understandable model for the involved health professionals and make the communication of processes easier. Additionally, modelling allows early detection and correction of errors. This work is an essential previous step for further analysis and improvements in healthcare processes, including the adoption of information technology standards.” (Roja et al. (2008))
A BPMN 1 meta model
A more difficult to understand meta-model (i.e. an inofficial UML class diagram of BPMN was published by WSPER ("whisper").
Links and bibliography =
See BPMN for more links and references
- Dive into BPMN
- Modeling Workflow Patterns through a Control-flow perspective using BPMN and the BPM Modeler BizAgi by Marcus Goetz, Institute of Applied Informatics and Formal Description Methods University Karlsruhe (TH).
- BPMN_Tutorial.pdf by Martin Owen and Jog Raj, Popkin Software