Business Process Modeling Notation
From Wikipedia, the free encyclopedia
The Business Process Modeling Notation (BPMN) is a standardized graphical notation for drawing business processes in a workflow. BPMN was developed by Business Process Management Initiative (BPMI), and is now being maintained by the Object Management Group since the two organizations merged in 2005. Its current adopted version is 1.1 and the proposed one is 2.0.
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 scores of business process modeling languages, tools and methodologies. The adoption of BPMN standard notation will help unify the expression of basic business process concepts (e.g., public and private processes, choreographies) as well as advanced modeling concepts (e.g., exception handling, transaction compensation).
Contents |
[edit] BPMN 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: Data Objects, 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
Flow Objects consist of only three core elements. The three Flow Objects are:
- Event: An Event is represented with a circle and is something that happens. It could be Start, Intermediate or End. This element is a trigger or a result.
- Activity: An Activity is represented with a rounded-corner rectangle and shows us the kind of work which must be done. It could be a task or a sub-process. A sub-process also has a plus sign in the bottom line of the rectangle.
- Gateway: A Gateway is represented with a diamond shape and will determine different decisions. It will also determine forking, merging and joining of paths.
[edit] Connecting objects
The Flow Objects are connected to each other with Connecting Objects. There are three different Connecting Objects:
- Sequence Flow: A Sequence Flow is represented with a solid line and arrowhead and shows in which order the activities will be performed. A diagonal slash across the line close to the origin indicates a default choice of a decision.
- Message Flow: A Message Flow is represented with a dashed line and an open arrowhead. It tells us what messages flow between two process participants.
- Association: An Association is represented with a dotted line and a line arrowhead. It is used to associate an Artifact, data or text to a Flow Object.
[edit] Swimlanes
A swim lane is a visual mechanism of organizing different activities into categories of the same functionality. There are two different swimlanes, and they are:
- Pool: A Pool is represented with a big rectangle which contains many Flow Objects, Connecting Objects and Artifacts.
- Lane: A Lane is represented as a sub-part of the pool. The lanes organize the Flow Objects, Connecting Objects and Artifacts more precisely.
[edit] 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] Examples
[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
- Collaboration (global) processes
[edit] 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.
[edit] 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.
[edit] 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] Types of BPD (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] Weaknesses of BPMN
Weaknesses related to ambiguity and confusion in sharing BPMN models:
- Lane and pool constructs are overloaded
- The lacking formality of the language opens for dialects in vendor applications
- There are no rules for layout of models which may result in notation dialects
- It is possible to model the same process with different notation variations
- Light-weight model readers might disregard constructs used from the extended set and miss out on actual model behavior
- It is hard to communicate BPMN models based on the BPD alone
Weaknesses related to processes expression:
- There is no support to represent the state of objects
- There is little support for the modeling of system structure
- Advanced process modeling require the use of construct attributes that do not have graphical representation
- Little support for resource modeling
- No support for business specific terms
Weaknesses related to converting BPMN models to executable environments:
- Converting BPMN models to executable process environments are not direct
- BPMN cannot be directly semantically validated which makes it possible to build semantically wrong models
- There is no clear indication in the specification when a process model is considered to be ”completed” in situations where there are multiple end-events
- The specification indicates that each start-event should generate a process instance which causes problems for processes with multiple start events without wait
- There are unaddressed issues in the specification regarding the interrupt caused by sub-processes experiencing exceptions in a parallel multi-instance activity
- There is a lack of support for instance-specific data for tasks
[edit] BPMN 2.0
The Business Process Model and Notation is the name of the working proposal for BPMN 2.0[1]
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 schemas 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.
[edit] References
- ^ OMG. Business Process Model and Notation. Retrieved on 2008-05-09.
[edit] See also
- Workflow
- Business Process Modeling
- Business Process Management
- BPEL
- Event-driven Process Chains
- YAWL
- XPDL
- Workflow patterns
- Functional Software Architecture
- System Architect
[edit] External links
| The external links in this article may not follow Wikipedia's content policies or guidelines. Please improve this article by removing excessive or inappropriate external links. |
- OMG BPMN 1.0 - OMG Final Adopted Specification (deprecated)
- OMG BPMN 1.1 - OMG Final Adopted Specification (current version)
- BPMN 1.1 - What's changed? - Whitepaper summarizing the changes from BPMN 1.0 to 1.1
- BPMN Information Home Page
- Business Modeling & Integration Domain Task Force (BMI DTF)
- Pattern-based Analysis of BPMN
- Workflow Patterns with BPMN and UML
- Xfig BPMN Library
- BPMN, the Business Process Modeling Notation Pocket Handbook (LuLu) de Patrice Briol
- Early Aspects for Business Process Modeling (An Aspect Oriented Language for BPMN)


