Business Process Modeling Notation
Encyclopedia
Business Process Model and Notation (BPMN) is a graphical representation
Information visualization
Information visualization is the interdisciplinary study of "the visual representation of large-scale collections of non-numerical information, such as files and lines of code in software systems, library and bibliographic databases, networks of relations on the internet, and so forth".- Overview...

 for specifying business process
Business process
A business process or business method is a collection of related, structured activities or tasks that produce a specific service or product for a particular customer or customers...

es in a business process model
Business process modeling
Business Process Modeling in systems engineering is the activity of representing processes of an enterprise, so that the current process may be analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality...

. It was previously known as Business Process Modeling Notation.

Business Process Management Initiative (BPMI) developed BPMN, which has been maintained by the Object Management Group
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

 since the two organizations merged in 2005. As of March 2011, the current version of BPMN is 2.0.

Overview

Business Process Model and Notation (BPMN) is a standard for business process modeling
Business process modeling
Business Process Modeling in systems engineering is the activity of representing processes of an enterprise, so that the current process may be analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality...

 that provides a graphical notation for specifying business process
Business process
A business process or business method is a collection of related, structured activities or tasks that produce a specific service or product for a particular customer or customers...

es in a Business Process Diagram (BPD), based on a flowchart
Flowchart
A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. This diagrammatic representation can give a step-by-step solution to a given problem. Process operations are represented in these...

ing technique very similar to activity diagram
Activity diagram
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...

s from Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 (UML). The objective of BPMN is to support business process management
Business process management
Business process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...

, 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 and the underlying constructs of execution languages, particularly Business Process Execution Language
Business Process Execution Language
Business Process Execution Language , short for Web Services Business Process Execution Language is an OASIS standard executable language for specifying actions within business processes with web services...

 (BPEL).

The primary goal of BPMN is to provide a standard notation readily understandable by all business stakeholders. These include the business analysts who create and refine the processes, the technical developers responsible for implementing them, and the business managers who monitor and manage them. Consequently, BPMN serves as a common language, bridging the communication gap that frequently occurs between business process design and implementation.

Currently there are several competing standards for business process modeling
Business process modeling
Business Process Modeling in systems engineering is the activity of representing processes of an enterprise, so that the current process may be analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality...

 languages used by modeling tools and processes. 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).

Scope

BPMN is constrained to support only the concepts of modeling applicable to business processes. Other types of modeling done by organizations for non-business purposes are out of scope for BPMN. Examples of modeling excluded from BPMN include:
  • Organizational structures
  • Functional breakdowns
  • Data models


In addition, while BPMN shows the flow of data (messages), and the association of data artifacts to activities, it is not a data flow diagram
Data flow diagram
A data flow diagram is a graphical representation of the "flow" of data through an information system, modelling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be elaborated...

.

Elements

BPMN models consist of simple diagrams constructed from a limited set of graphical elements. For both business users and developers, they simplify understanding business activities' flow and process.
BPMN's four basic element categories are:

Flow objects
Events, activities, gateways

Connecting objects
Sequence flow, message flow, association

Swim lane
Swim lane
A swim lane is a visual element used in process flow diagrams, or flowcharts, that visually distinguishes responsibilities for sub-processes of a business process. Swim lanes may be arranged either horizontally or vertically...

s
Pool, lane

Artifacts
Data object, group, annotation


These four categories enable creation of simple business process diagrams (BPDs). BPDs also permit making new types of flow object or artifact, to make the diagram more understandable.

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 (compared with an activity, which is something that is done). Icons within the circle denote the type of event (e.g., an envelope representing a message, or a clock representing time). Events are also classified as Catching (for example, if catching an incoming message starts a process) or Throwing (such as throwing a completion message when a process ends).
Start event
Acts as a process trigger; 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 double 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, where 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 (which is 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 artifacts.
Has its own self-contained start and end events; 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 double border.


Gateway
A gateway is represented with a diamond shape and determines forking and merging of paths, depending on the conditions expressed.


Flow objects are connected to each other using Connecting objects, which are 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 are performed. The sequence flow may 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 organizational 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 is used when the Artifact or text is associated with a sequence or message flow (as that flow already shows the direction).

Swimlanes and artifacts



Swim lane
Swim lane
A swim lane is a visual element used in process flow diagrams, or flowcharts, that visually distinguishes responsibilities for sub-processes of a business process. Swim lanes may be arranged either horizontally or vertically...

s 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.

BPMN 2.0

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 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 final version of the specification was released in January, 2011.

First experiences of BPMN 2.0 in respect to process execution and resulting missing support for usual human task handling was published by Martin Bartonitz

Comparison of BPMN versions

Attributes BPMN 1.0 BPMN 1.1 BPMN 1.2 BPMN 2.0 – Beta 1
Consortium BPMI OMG
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

OMG
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

OMG
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

Date of release May 2004 January 2008 January 2009 August 2009
Models
  • Collaborative (public) B2B
    Business-to-business
    Business-to-business describes commerce transactions between businesses, such as between a manufacturer and a wholesaler, or between a wholesaler and a retailer...

     processes,
  • internal (private) business processes.
  • collaborative (public) B2B
    Business-to-business
    Business-to-business describes commerce transactions between businesses, such as between a manufacturer and a wholesaler, or between a wholesaler and a retailer...

     processes,
  • internal (private) business processes,
  • a choreography – expected behavior between two or more business participants,
  • collaborations, which is a collection of participants and their interaction and
  • a conversation – the logical relation of message exchanges.
  • event
  • start (none, message, timer, rule, link, multiple)
  • intermediate (none, message, timer, error, cancel, compensation, rule, link, multiple)
  • end (none, message, error, cancel, compensation, link, terminate, multiple)
  • start (none, message, timer, conditional, signal, multiple)
  • intermediate (none, message, timer, error, cancel, compensation, conditional, link, signal, multiple)
  • end (none, message, error, cancel, compensation, signal,terminate, multiple)
  • start
    • top-level (none, message, timer, conditional, signal, multiple, parallel multiple)
    • event sub-process interrupting (message, timer, escalation, conditional, error, compensation, signal, multiple, parallel multiple)
    • event sub-process non-interrupting (message, timer, escalation, conditional, signal, multiple, parallel multiple)
  • intermediate
    • catching (message, timer, conditional, link, signal, multiple, parallel multiple)
    • boundary interrupting (message, timer, escalation, conditional, error, cancel, compensation, signal, multiple, parallel multiple)
    • boundary non-interrupting (message, timer, escalation, conditional, signal, multiple, parallel multiple, terminate)
    • throwing (none, message, escalation, link, compensation, signal, multiple, parallel multiple)
  • end (none, message, escalation, error, cancel, compensation, signal, multiple, terminate)
  • activity
  • task (atomic)
  • process/sub-process (nonatomic)
    • collapsed sub-process
    • expanded sub-process
  • task (atomic)
  • choreography task
    • collapsed choreography sub-process
    • expanded choreography sub-process
  • process/sub-process (nonatomic)
    • collapsed sub-process
    • expanded sub-process
  • gateway
  • XOR – exclusive decision and merging. both data-based and event-based. data-based can be shown with or without the "x" marker.
  • OR
    Logical disjunction
    In logic and mathematics, a two-place logical connective or, is a logical disjunction, also known as inclusive disjunction or alternation, that results in true whenever one or more of its operands are true. E.g. in this context, "A or B" is true if A is true, or if B is true, or if both A and B are...

     – inclusive decision and merging
  • complex – complex conditions and situations
  • AND
    Logical conjunction
    In logic and mathematics, a two-place logical operator and, also known as logical conjunction, results in true if both of its operands are true, otherwise the value of false....

     – forking and joining
  • exclusive decision and merging. both data-based and event-based. data-based can be shown with or without the "x" marker.
  • inclusive decision and merging.
  • complex – complex conditions and situations.
  • parallel forking and joining.
  • exclusive decision and merging. both data-based and event-based. exclusive can be shown with or without the "x" marker.
  • inclusive gateway decision and merging
  • complex gateway – complex conditions and situations
  • parallel gateway – forking and joining
  • sequence flow
    normal flow

    uncontrolled flow

    conditional flow

    default flow

    exception flow
    message flow message flow
    association association
    pool pool
    lane lane
    data objects data object
    • data object
      • collection
      • data input
      • data output
    groups group
    annotations annotations
    message / / / message
    other elements
  • looping
    • activity looping
    • sequence flow looping
  • multiple instances
  • process break
  • transactions
    Transaction processing
    In computer science, transaction processing is information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit; it cannot remain in an intermediate state...

  • nested/embedded sub-process
  • off-page connector
  • compensation association
  • looping
    • activity looping
    • sequence flow looping
  • multiple instances
  • process break
  • transactions
    Transaction processing
    In computer science, transaction processing is information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit; it cannot remain in an intermediate state...

  • nested/embedded sub-process
  • off-page connector
  • compensation association
  • communication (subcommunication)
  • communication link
  • Number of all elements 48 55 55 116
    Major changes /
  • The new specification introduces a categorization of event triggers into "catching" and "throwing" events. I.e. there are two kinds of intermediate message events now – one kind responsible for reception of messages ("catching") and one kind responsible for sending messages ("throwing").
  • In addition to the old types, it introduces a new type, the signal event.
  • Start and end link events do not exist any longer in BPMN 1.1.
  • The old "rule events" where renamed to conditional events. The semantics and appearance have not changed.
  • The event-based gateway in BPMN 1.1 looks slightly different to what it looked like in 1.0. Instead of the hexagonal star it now has a pentagon in its center. The same shape is also used for the multiple events (start, intermediate, end).
  • There is an additional line separating your lane's description from its content.

  • The BPMN 1.2 minor revision changes consist of editorial corrections and implementation bug fixes. Consequently, these minor changes affect modeling tool vendors more than modelers (users).
    • Choreographies
      • Choreographies-model
      • Conversation-model
    • Complete Metamodel
    • BPMN Core
    • BPMN Execution Semantics
      Computational Semantics
      Computational semantics is the study of how to automate the process of constructing and reasoning with meaning representations of natural language expressions...

    • BPMN – BPEL Mapping
    • XPDL
      XPDL
      The XML Process Definition Language is a format standardized by the Workflow Management Coalition to interchange business process definitions between different workflow products, i.e...

       (BPMN XML
      XML
      Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

       Serialization
      Serialization
      In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...

      )
    • Diagram Interchange
    • Elements For Abstraction
      Abstraction
      Abstraction is a process by which higher concepts are derived from the usage and classification of literal concepts, first principles, or other methods....

      • Callable Element
      • Call Activity
      • Global Task
    • Gateways (Updated)
      • Exclusive/Parallel Event-based Gateway (they stand at the beginning of the process)
    • Tasks/SubProcesses (Updated)
      • Event-Subprocess (Used to handle events in the bounding subprocess)
      • BusinessRule task
      • Sequential Multi-Instance Activity
      • Service Task
    • Artifacts (Updated)
      • Data Objects (Collection, Data Input, Data Output)

    Types of BPMN sub-model

    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.

    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 and/or 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.

    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


    BPEL and BPMN

    The BPMN specification includes an informal and partial mapping from BPMN to BPEL 1.1. A more detailed mapping of BPMN to BPEL
    Business Process Execution Language
    Business Process Execution Language , short for Web Services Business Process Execution Language is an OASIS standard executable language for specifying actions within business processes with web services...

     has been implemented in a number of tools, including an open-source tool known as BPMN2BPEL. However, the development of these tools has exposed fundamental differences between BPMN and BPEL, which make it very difficult, and in some cases impossible, to generate human-readable
    Human-readable
    A human-readable medium or human-readable format is a representation of data or information that can be naturally read by humans.In computing, human-readable data is often encoded as ASCII or Unicode text, rather than presented in a binary representation...

     BPEL code from BPMN models. Even more difficult is the problem of BPMN-to-BPEL round-trip engineering: generating BPEL code from BPMN diagrams and maintaining the original BPMN model and the generated BPEL code synchronized, in the sense that any modification to one is propagated to the other.

    See also

    • Comparison of Business Process Modeling Notation tools
      Comparison of Business Process Modeling Notation tools
      - General :...

    • BPEL
    • Business Process Management
      Business process management
      Business process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...

    • Business Process Modeling
      Business process modeling
      Business Process Modeling in systems engineering is the activity of representing processes of an enterprise, so that the current process may be analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality...

    • Event-driven Process Chains
    • Function model
      Function model
      A function model or functional model in systems engineering and software engineering is a structured representation of the functions within the modeled system or subject area....

    • Functional Software Architecture
      Functional Software Architecture
      A functional software architecture is an architectural model that identifies enterprise functions, interactions and corresponding IT needs. These functions can be used as reference by different domain experts to develop IT-systems as part of a co-operative information-driven enterprise...

    • System Architect
    • Workflow
      Workflow
      A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work...

    • Workflow patterns
      Workflow patterns
      A workflow pattern is a specialized form of a design pattern as defined in the area of software engineering or business process engineering respectively...

    • XPDL
      XPDL
      The XML Process Definition Language is a format standardized by the Workflow Management Coalition to interchange business process definitions between different workflow products, i.e...

    • YAWL
      YAWL
      This article is about the workflow system. For the sailing craft, see yawl.YAWL is a workflow language based on the Workflow patterns. The language is supported by a software system that includes an execution engine, a graphical editor and a worklist handler...


    Further reading

    • Ryan K. L. Ko, Stephen S. G. Lee, Eng Wah Lee (2009) Business Process Management (BPM) Standards: A Survey. In: Business Process Management Journal, Emerald Group Publishing Limited. Volume 15 Issue 5. ISSN 1463-7154. PDF

    External links

    The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
     
    x
    OK