Scope BPMN is constrained to support only the concepts of modeling applicable to business processes. Other types of modeling done by organizations for non-process purposes are out of scope for BPMN. Examples of modeling excluded from BPMN are: • 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.
Elements BPMN models are expressed by simple diagrams constructed from a limited set of graphical elements. For both business users and developers, they simplify understanding of 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 lanes : Pool, lane, Dark Pool ; 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 File:BPMN plain event types.svg|Event File:BPMN Activity Types.jpg|Activity File:BPMN gateway types.png|Gateway File:Different Types of BPMN connections.png|Connections
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. :; 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. :; 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.
Activity : An activity is represented with a rounded-corner rectangle and describes the kind of work which must be done. An activity is a generic term for work that a company performs. It can be atomic or compound. :; 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. It is referred to as an atomic activity. A task is the lowest level activity illustrated on a process diagram. A set of tasks may represent a high-level procedure. :; 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. A sub-process is referred to as a compound activity. :: 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. :; Call Activity :: A point in the process where a global process or a global Task is reused. A call activity is differentiated from other activity types by a bolded border around the activity area.
Gateway : A gateway is represented with a diamond shape and determines forking and merging of paths, depending on the conditions expressed. :; Exclusive :: Used to create alternative flows in a process. Because only one of the paths can be taken, it is called exclusive. :; Event Based :: The condition determining the path of a process is based on an evaluated event. :; Parallel :: Used to create parallel paths without evaluating any conditions. :; Inclusive :: Used to create alternative flows where all paths are evaluated. :; Exclusive Event Based :: An event is being evaluated to determine which of mutually exclusive paths will be taken. :; Complex :: Used to model complex synchronization behavior. :; Parallel Event Based :: Two parallel processes are started based on an event, but there is no evaluation of the event.
Connections 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).
Pools, Lanes, and artifacts File:Swin Lane - BPMN 2.0 Artifact.png|Swimlanes File:Data object - BPMN 2.0 Artifacts.png|Data objects File:Group - BPMN 2.0 Artifacts.png|Groups File:Annotation - BPMN 2.0 Artifacts.png|Annotation
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.
Examples of business process diagrams Image:BPMN-DiscussionCycle.jpg|Discussion cycle Image:BPMN-E-MailVotingProcess.jpg|E-mail voting process Image:BPMN-CollectVotes.jpg|Collect votes
BPMN 2.0.2 The vision of BPMN 2.0.2 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: • Formalizes the execution semantics for all BPMN elements. • Defines an extensibility mechanism for both Process model extensions and graphical extensions. • Refines Event composition and correlation. • Extends the definition of human interactions. • Defines a Choreography model. The current version of the specification was released in January 2014. ==Comparison of BPMN versions==