BPMN

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

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

Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes in a workflow. Business process modeling is an important part of enterprise architecture modeling. BPMN 1.0 was developed by the Business Process Management Initiative (BPMI) and then was/is further developed by the Object Management Group (OMG).

“The Business Process Modeling Notation (BPMN) specification provides a graphical notation for specifying business processes in a Business Process Diagram (BPD). The objective of BPMN is to support business process management for both technical users and business users by providing a notation that is intuitive to business users yet able to represent complex process semantics. The BPMN specification also provides a mapping between the graphics of the notation to the underlying constructs of execution languages, particularly BPEL4WS. (Business Process Modeling Notation, Wikipedia, retrieved jan 6 2009).”

“PEL is an XML-based language for describing a business process in which most of the tasks represent interactions between the process and external Web services. The BPEL process itself is represented as a Web service, and is realized by a BPEL engine which executes the process description. BPMN is a standard set of diagramming conventions for describing business processes. It is designed to visualize a rich set of process flow semantics within a process and the communication between independent processes. It is intended to support capture of sufficient detail to allow it to be the source of an executable process description. Since BPEL is currently considered the most important standard for execution languages, a translation to BPEL is specified in the BPMN standard. By design there are some limitations on the process topologies that can be described in BPEL, so it is possible to represent processes in BPMN that cannot be mapped to BPEL.” (FAQ, retrieved 17:30, 22 June 2010 (UTC))

BPMN diagrams can be See also the Business Process Execution Language (BPEL), an executable XML language for business processes. Most BPMN tools, in particular BPMN 2.0 versions, can compile drawings into executable BPEL and other XML formats in addition. It seems that while a BPEL process can be represented using BPMN, some BPMN models cannot be represented using BPEL. An alternative to BPEL is XPDL (XML Process Definition Language) developed by the Workflow Management Coalition.

See also:

History and versions

Timeline
  • BPMN 2.0 Beta 1 (summer 2010)
  • BPMN 1.2: January 2009
  • BPMN 2.0 RFP: Request for Proposals for version 2.0 of BPMN (2008,-)
  • BPMN 1.1: OMG Specification, February, 2008
  • BPMN 1.0: OMG Final Adopted Specification, February 6, 2006
  • BPMN 1.0: May 3, 2004 Draft Specification
BPMN 1.x

The BPMN 1.x specification defines the notation and semantics of a Business Process Diagram language. This version does not specify any underlying (serialization) format.

The differences between BPMN 1.0, 1.1 and 1.2 are relatively minor.

  • BPMN codified the notation language
  • BPMN 1.1 includes an informal mapping to [[PBEL], i.e. the BPEL4WS 1.1 version
  • BPMN 1.2 some cleanup

See BPMN 1.2 tutorial

BPMN 2

The (future) BPMN version (in beta as of 2010) adds other modeling elements plus a layered specification. In addition, it provides a formal serialization format.

See BPMN 2 tutorial

BPMN version 1.x

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:

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


A more difficult to understand meta-model (i.e. an inofficial UML class diagram of BPMN was published by WSPER ("whisper").

BPMN 1.0 Meta model. Source: WSPER

BPMN 1.2 elements

BPMN 1.x symbols, Credits: BPMN 1.1 stencils by F.Puhlmann/A. Grosskopf

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.


BPMN version 2.0 and core elements

The new revision of BPMN, 2.0 has more than 100 graphical elements in its full set. Since BPMN is a very complex language it is structured in terms of extensibility layers.

The basic categories of BPMN 2.0 include flow objects, data, connecting objects, swimlanes and artifacts. From these elements, the draft specification then expands into layers that add specialized markers to these elements.

Layer one

The core elements are grouped into three "packages": infrastructure (foundation?), common elements (to be used by layer two), and services (elements for modeling services and infrastructures).

Layer two

defines extensions for three diagram types: process, choreography, and collaboration.

Layer three

The third layer defines extensions for humans, data, activities, and conversations.

Let's now have a look at core elements

Flow objects

Flow objects define the behavior of a business process and include events, activities and gateways.

Activities

An activity can be generically described as work that an organization performs.

Events

Events represent something that "happens" during the course of a business process. An event will affect the flow of a process. An event is usually triggered by a cause and it will have an impact (result).

There are three kinds of events:

  1. Start
  2. Intermediate
  3. End

Gateways

Gateways represent decisions, forking and joining of flows.

Data

Data include five elements:

  • Data Objects
  • Data Inputs
  • Data Outputs
  • Data Stores
  • Properties

Connecting objects

Connection of flow objects

  • Sequence Flow
  • Message Flow
  • Association
  • Data Association

Swimlanes and Pools

  • Lanes
  • Pools

Artifacts

provide additional information about the process

  • Group
  • Text Annotation

PBMN 2.0 diagrams

(draft)

Collaboration

A collaboration is a collection of participants shown as Pools, their interactions as shown by Message Flow, and may include Processes within the Pools and/or Choreographies between the Pools.

Process

A Process describes a sequence or flow of Activities in an organization with the objective of carrying out work. In BPMN a Process is a graph of flow elements, which are a set of activities, events, gateways, and sequence flow.

Conversations

Conversations define message exchanges between pools and are a simpler version of collaboration if we understood right.

Choreographies

Choreographies represent sets of tasks performed by participants. A Choreography a kind of process that focuses on how participants coordinate their interactions through the exchange of messages.

Examples

Model of a discussion

BPMN discussion model. Source: Erik Wilde, Business Process Execution Language (BPEL), Slides, UC Berkeley iSchool

Email voting process

:BPMN-E-Mail Voting Process. Source: Wikipedia/unknown

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.

Programmed surgical patient: Source: Roja (2008) et al. 10.1186/1746-1596-3-S1-S22.

“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))

Tools

There seem to exist some free tools (none tested so far)

Free (totally or somewhat)
  • Intalio|BPMS, claimed to be the world's most widely deployed Business Process Management System (BPMS). Designed around the open source Eclipse BPMN Modeler, Apache ODE BPEL engine, and Tempo. The free community edition runs under a TomCat server (Windows and Red Hat officially supported) and either Derby or MySQL enterprise server. The software includes a BPMN designer, a BPEL server and WS-Human Task Service.
  • Oryx, (Signavio) a project to create BPMN 2.0 diagrams, EPCs or Petri nets online. Free for academics.
  • OMII-BPEL, Modelling, monitoring, executing scientific workflows with BPEL. (We did not manage to install this, didn't find any installation instructions either ....)
  • Jadex process. LGPL licence. “The Jadex Processes project provides modelling and execution facilities for workflows. Main focus is on graphical forms of process representation (e.g. the Business Process Modelling Notation - BPMN) and direct execution of modelled processes (i.e. without prior code generation).” ([1]). This is part of a larger project. Jadex is a Belief Desire Intention (BDI) reasoning engine that allows for programming intelligent software agents in XML and Java.
  • Bizagi Process Modeler. Closed source freeware for BPMN 1.x (?). Runs under Windows and requires .NET framework 2.0 (free) plus Visio 2003 or better for exporting features.
Free web tools
  • Gliffy supports BPMN (version ?)
Commercial (not complete since edutechwiki is not about BPM ...)
  • Intalo BPM, includes the interesting Social BPM that combines the BPM design tool with a social portal building framework. Very cool, has the potential for use in education to implement learning design/web 2.0 combos.

This list is by no means complete, See also full versions of some freeware above (typically an execution engine) and the following links:

Other tools
  • BPMN 1.1 stencils for Visio and OmniGraffle by Frank Puhlmann and Alexander Großkopf.

Bibliography and links

Links

Overviews
Standards
  • BPMN 1.1 OMG Specification, February, 2008 (PDF 3,372K)
  • BPMN 1.0, OMG Final Adopted Specification, February 6, 2006 (PDF 2,968K)
  • BPEL 2.0 (the principal format PBMN can export to)


BPMN Web sites
Other web sites
Posters and cheat sheets
Introductions/tutorials BPMN 1.x
Introductions/tutorials BPMN 2.x
Comparisons
Examples

Bibliography

  • White, Stephen A. (2004). Mapping BPMN to BPEL Example, IBM PDF
  • Rojo, Marcial García; Elvira Rolón, Luis Calahorra, Felix Óscar García, Rosario Paloma Sánchez, Francisco Ruiz, Nieves Ballester, María Armenteros, Teresa Rodríguez, and Rafael Martín Espartero (2008). Implementation of the Business Process Modelling Notation (BPMN) in the modelling of anatomic pathology processes, Diagnostic Pathology, 3 (Suppl 1) p22. 10.1186/1746-1596-3-S1-S22.
  • White, Stephen & Derek Miers (2009 ??). BPMN Modeling and Reference Guide Understanding and Using BPMN, Lighthouse Pt, FL: Future Strategies Inc., ISBN-13: 978-0977752720