Business Process Modeling Notation
From Wikipedia, the free encyclopedia
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.[1][2]
Contents |
[edit] Overview
The Business Process Modeling Notation (BPMN) is a standard for business process modeling, and provides a graphical notation for specifying business processes in a Business Process Diagram (BPD)[3], based on a flowcharting technnique very similar to activity diagrams from Unified Modelling Language (UML)[4]. 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 Business Process Execution Language[5].
The primary goal of BPMN is to provide a standard notation that is readily understandable by all business stakeholders. These business stakeholders include the business analysts who create and refine the processes, the technical developers responsible for implementing the processes, and the business managers who monitor and manage the processes. Consequently, BPMN is intended to serve as common language to bridge the communication gap that frequently occurs between business process design and implementation.
Currently there are several competing standards for business process modeling languages used by modeling tools and processes.[6] Widespread adoption of the BPMN will help unify the expression of basic business process concepts (e.g., public and private processes, choreographies), as well as advanced process concepts (e.g., exception handling, transaction compensation).
[edit] BPMN Topics
[edit] Scope
BPMN will be constrained to support only the concepts of modeling that are applicable to business processes. This means that other types of modeling done by organizations for non-business purposes will be out of scope for BPMN. For example, the modeling of the following will not be a part of BPMN:
- Organizational structures
- Functional breakdowns
- Data models
In addition, while BPMN will show the flow of data (messages), and the association of data artifacts to activities, it is not a data flow diagram.
[edit] Elements
The modeling in BPMN is made by simple diagrams with a small set of graphical elements. It should make it easy for business users as well as developers to understand the flow and the process. The four basic categories of elements are as follows:
- Flow Objects
- Events, Activities, Gateways
- Connecting Objects
- Sequence Flow, Message Flow, Association
- Swimlanes
- Pool, Lane
- Artifacts (Artefacts)
- Data Object, Group, Annotation
These four categories of elements give us the opportunity to make a simple business process diagram (BPD). It is also allowed in BPD to make your own type of a Flow Object or an Artifact to make the diagram more understandable.
[edit] Flow objects and connecting objects
Flow objects are the main describing elements within BPMN, and consist of three core elements (Events, Activities, and Gateways):
- Event
- An Event is represented with a circle and denotes something that happens (rather than Activities which are something that is done). Icons within the circle denote the type of event (e.g. envelope for message, clock for time). Events are also classified as Catching (as in, they might catch an incoming message to Start the process) or Throwing (as in, they might throw a message at the End of the process).
- Start event
- Acts as a trigger for the process; indicated by a single narrow border; and can only be Catch, so is shown with an open (outline) icon.
- End event
- Represents the result of a process; indicated by a single thick or bold border; and can only Throw, so is shown with a solid icon.
- Intermediate event
- Represents something that happens between the start and end events; is indicated by a tramline border; and can Throw or Catch (using solid or open icons as appropriate) - for example, a task could flow to an event that throws a message across to another pool and a subsequent event waits to catch the response before continuing.
- Activity
- An Activity is represented with a rounded-corner rectangle and describes the kind of work which must be done.
- Task
- A task represents a single unit of work that is not or cannot be broken down to a further level of business process detail without diagramming the steps in a procedure (not the purpose of BPMN)
- Sub-process
- Used to hide or reveal additional levels of business process detail - when collapsed a sub-process is indicated by a plus sign against the bottom line of the rectangle; when expanded the rounded rectangle expands to show all flow objects, connecting objects, and artefacts.
- Has its own self-contained start and end events, and sequence flows from the parent process must not cross the boundary.
- Transaction
- A form of sub-process in which all contained activities must be treated as a whole, i.e., they must all be completed to meet an objective, and if any one of them fails they must all be compensated (undone). Transactions are differentiated from expanded sub-processes by being surrounded by a tramline border.
- Gateway
- A Gateway is represented with a diamond shape and will determine forking and merging of paths depending on the conditions expressed.
Flow objects are connected to each other using Connecting objects, which consist of three types (Sequences, Messages, and Associations):
- Sequence Flow
- A Sequence Flow is represented with a solid line and arrowhead and shows in which order the activities will be performed. The sequence flow may be also have a symbol at its start, a small diamond indicates one of a number of conditional flows from an activity while a diagonal slash indicates the default flow from a decision or activity with conditional flows.
- Message Flow
- A Message Flow is represented with a dashed line, an open circle at the start, and an open arrowhead at the end. It tells us what messages flow across organisational boundaries (i.e., between pools). A message flow can never be used to connect activities or events within the same pool.
- Association
- An Association is represented with a dotted line. It is used to associate an Artifact or text to a Flow Object, and can indicate some directionality using 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 directionality would be used when the Artifact or text is associated with a sequence or message flow (as that flow already shows the direction).
[edit] Swimlanes and artifacts
Swim lanes are a visual mechanism of organising and categorising activities, based on cross functional flowcharting, and in BPMN consist of two types:
- Pool
- Represents major participants in a process, typically separating different organisations. A pool contains one or more lanes (like a real swimming pool). A pool can be open (i.e., showing internal detail) when it is depicted as a large rectangle showing one or more lanes, or collapsed (i.e., hiding internal detail) when it is depicted as an empty rectangle stretching the width or height of the diagram.
- Lane
- Used to organise and categorise activities within a pool according to function or role, and depicted as a rectangle stretching the width or height of the pool. A lane contains the Flow Objects, Connecting Objects and Artifacts.
Artifacts allow developers to bring some more information into the model/diagram. In this way the model/diagram becomes more readable. There are three pre-defined Artifacts and they are:
- Data Objects
- Data Objects show the reader which data is required or produced in an activity.
- Group
- A Group is represented with a rounded-corner rectangle and dashed lines. The Group is used to group different activities but does not affect the flow in the diagram.
- Annotation
- An Annotation is used to give the reader of the model/diagram an understandable impression.
[edit] Types of Business Process Diagram
Within and between these three BPMN sub-models, many types of Diagrams can be created. The following are the types of business processes that can be modeled with BPMN (those with asterisks may not map to an executable language):
- High-level private process activities (not functional breakdown)*
- Detailed private business process
- As-is or old business process*
- To-be or new business process
- Detailed private business process with interactions to one or more external entities (or “Black Box” processes)
- Two or more detailed private business processes interacting
- Detailed private business process relationship to Abstract Process
- Detailed private business process relationship to Collaboration Process
- Two or more Abstract Processes*
- Abstract Process relationship to Collaboration Process*
- Collaboration Process only (e.g., ebXML BPSS or RosettaNet)*
- Two or more detailed private business processes interacting through their Abstract Processes
- Two or more detailed private business processes interacting through a Collaboration Process
- Two or more detailed private business processes interacting through their Abstract Processes and a Collaboration Process
BPMN is designed to allow all the above types of Diagrams. However, it should be cautioned that if too many types of sub-models are combined, such as three or more private processes with message flow between each of them, then the Diagram may become too hard for someone to understand. Thus, we recommend that the modeler pick a focused purpose for the BPD, such as a private process, or a collaboration process.
[edit] BPMN 2.0
The Business Process Model and Notation is the name of the working proposal for BPMN 2.0[7] The vision of BPMN 2.0 is to have one single specification for a new Business Process Model and Notation that defines the notation, metamodel and interchange format but with a modified name that still preserves the "BPMN" brand. The proposed features include
- Aligning BPMN with the business process definition meta model BPDM to form a single consistent language
- Enabling the exchange of business process models and their diagram layouts among process modeling tools to preserve semantic integrity
- Expand BPMN to allow model orchestrations and choreographies as stand-alone or integrated models
- Support the display and interchange of different perspectives on a model that allow a user to focus on specific concerns
- Serialize BPMN and provide XML schemes for model transformation and to extend BPMN towards business modeling and executive decision support.
The recommendation for the new BPMN is scheduled to be ready within 2008. There are two different groups working on competing drafts of the specification[8]. The first group, including e.g. EDS and MEGA, aims at incorporating BPDM directly into the BPMN specification. The second group, including e.g. SAP, IBM and Oracle, does not want to include BPDM directly, but instead provide a mapping between both standards. Since July 2008, both groups discuss how to merge both drafts to come up with a single specification.
[edit] Uses of BPMN
Business process modeling is used to communicate a wide variety of information to a wide variety of audiences. BPMN is designed to cover this wide range of usage and allows modeling of end-to-end business processes to allow the viewer of the Diagram to be able to easily differentiate between sections of a BPMN Diagram. There are three basic types of sub-models within an end-to-end BPMN model: Private (internal) business processes, Abstract (public) processes, and Collaboration (global) processes:
- Private (internal) business processes
- Private business processes are those internal to a specific organization and are the type of processes that have been generally called workflow or BPM processes. If swim lanes are used then a private business process will be contained within a single Pool. The Sequence Flow of the Process is therefore contained within the Pool and cannot cross the boundaries of the Pool. Message Flow can cross the Pool boundary to show the interactions that exist between separate private business processes.
- Abstract (public) processes
- This represents the interactions between a private business process and another process or participant. Only those activities that communicate outside the private business process are included in the abstract process. All other “internal” activities of the private business process are not shown in the abstract process. Thus, the abstract process shows to the outside world the sequence of messages that are required to interact with that business process. Abstract processes are contained within a Pool and can be modeled separately or within a larger BPMN Diagram to show the Message Flow between the abstract process activities and other entities. If the abstract process is in the same Diagram as its corresponding private business process, then the activities that are common to both processes can be associated.
- Collaboration (global) processes
- A collaboration process depicts the interactions between two or more business entities. These interactions are defined as a sequence of activities that represent the message exchange patterns between the entities involved. Collaboration processes may be contained within a Pool and the different participant business interactions are shown as Lanes within the Pool. In this situation, each Lane would represent two participants and a direction of travel between them. They may also be shown as two or more Abstract Processes interacting through Message Flow (as described in the previous section). These processes can be modeled separately or within a larger BPMN Diagram to show the Associations between the collaboration process activities and other entities. If the collaboration process is in the same Diagram as one of its corresponding private business process, then the activities that are common to both processes can be associated.
[edit] Weaknesses of BPMN
The weaknesses of BPMN could relate to:
- ambiguity and confusion in sharing BPMN models
- support for routine work
- support for knowledge work, and
- converting BPMN models to executable environments
[edit] See also
- Business Process Modeling
- Business Process Management
- BPEL
- Event-driven Process Chains
- Function model
- Functional Software Architecture
- System Architect
- XPDL
- YAWL
- Workflow
- Workflow patterns
[edit] References
- ^ "BPMN Information". http://www.bpmn.org/Documents/FAQ.htm. Retrieved on 2008-11-02.
- ^ "BPMN FAQ". http://www.BPMNforum.com/FAQ.htm. Retrieved on 2008-11-02.
- ^ An XML Representation for Crew Procedures, Richard C. Simpson (2004), Final Report NASA Faculty Fellowship Program (Johnson Space Center)
- ^ Process Modeling Notations and Workflow Patterns, paper by Stephen A. White of IBM Corporation (2006)
- ^ Business Process Modeling Notation, specification of BPMN v1.0 by Stephen A. White (3 May 2004), for Business Process Management Initiative (BPMI)
- ^ "Business Process Modeling FAQ". http://www.BPModeling.com/faq/. Retrieved on 2008-11-02.
- ^ OMG. "Business Process Model and Notation". http://www.omg.org/cgi-bin/doc?bmi/2007-6-5. Retrieved on 2008-05-09.
- ^ Sebastian Stein. "Where is BPMN heading to?". http://www.arisblog.com/2008/04/24/where-is-bpmn-heading-to/. Retrieved on 2008-08-19.
[edit] Further reading
- White, Stephen A, and Miers, Derek (2008 August 28). BPMN Modeling and Reference Guide. Future Strategies Inc.. ISBN 978-0-9777-5272-0.
- Debevoise, Neilson T, et. al (2008 July 4). The MicroGuide to Process Modeling in BPMN. BookSurge Publishing. ISBN 978-1-4196-9310-6.
- Briol P. (2008 April 12). BPMN, the Business Process Modeling Notation Pocket Handbook. LuLu. ISBN 978-1-4092-0299-8.
- Grosskopf, Decker and Weske. (2009 Feb 28). The Process: Business Process Modeling using BPMN. Meghan Kiffer Press. ISBN 978-0929652269.
[edit] External links
Wikimedia Commons has media related to: Business Process Modeling Notation |
- BPMN Information Home Page OMG information page for BPMN.
- BPMN 1.1 Poster - Poster showing all BPMN constructs