Friday, October 30, 2015

BPMN ( Business Process Management Notation )



BPMN Basics


Start
 
Activity
 
Gateway
 
Flow Sequence
 
 
 
 


Data

                  

 
  
 
Data
 
Data Object
 
 
Data Collection
 
Data Object Collection
 
 
Data Input
 
Data Input
 
 
Data Input Collection
 
Data Input Collection
 
 
Data Output
 
Data Output
 
 
Data Output Collection
 
Data Output Collection
 
 
Data Store
 
Data Store
 
 
 
 
 
 
 

Artifact

                  

 
  
 
 
Group
 
Group
 
 
Annotation
 
Text Annotation


Swimlane Basics

                  

 
 
 

 
Lane
 
 
 
 
Pool
 
 
 
 
 


Lane

   

 
  
 
 
Lane
 
Horizontal Lane
 
 
Lane-Vertical
 
Vertical Lane
 
 
 
 
 
 
 

Pool

   
 
  
 
Pool
 
Horizontal  Pool
 
 
Pool-Multi
 
Horizontal Pool - with Multi Instance Participant
 
 
Pool-vertical
 
Vertical Pool
 
 
Pool-Vertical-Multi
 
Vertical Pool - with Multi Instance Participant
 
 
 
 
 
 
 

 

Event

                 

 
 
 

 
Start
 
 
 
Intermediate
 Intermediate Event 
 
End
 End Event 
 
 
 
 
 
 

Start Event

                  

 
  
 
Start
 
None Start Event
 
 
Start Message
 
Interrupting - Message Start Event
 
 
Start Message Non
 
Non-interrupting - Message Start Event
 
 
Start Timer
 
Interrupting - Timer Start Event
 
 
Start Timer Non
 
Non-interrupting - Timer Start Event
 
 
Start Conditional
 
Interrupting - Conditional Start Event
 
 
Start Conditional Non
 
Non-interrupting - Conditional Start Event
 
 
Start signal
 
Interrupting Signal Start Event
 
 
Start Signal Non
 
Non-interrupting - Signal Start Event
 
 
Start Multiple
 
Interrupting Multiple Start Event
 
 
Start Multiple Non
 
Non-interrupting Multiple Start Event
 
 
Start Parallel
 
Interrupting - Parallel Multiple Start Event
 
 
Start parallel Non
 
Non-interrupting - Parallel Multiple Start Event
 
 
Start Escalation
 
Interrupting - Escalation Start Event
 
 
Start Escalation Non
 
Non-interrupting - Escalation Start Event
 
 
Start Error
 
Interrupting - Error Start Event
 
 
Start Compensation
 
 
Interrupting - Compensation Start Event

Intermediate Event

                  

 
  
 
  Intermediate
 
Interrupting - None Intermediate Event
 
 
Intermediate Message Catch
 
Catch - Message Intermediate Event
 
 
Intermediate Message Catch
 
Interrupting - Boundary - Catch -  Message Intermediate Event
 
 
Intermediate Message Catch Non
 
Non-interrupting - Boundary - Catch - Message Intermediate Event
 
 
Intermediate Message Throw
 
Throw - Message Intermediate Event
 
 
Intermediate timer
 
Timer Intermediate Event
 
 
Intermediate timer
 
Interrupting - Boundary  - Timer Intermediate Event
 
 
Intermediate timer Non
 
Non-interrupting Boundary - Timer Intermediate Event
 
 
Intermediate Conditional
 
Conditional Intermediate Event
 
 
Intermediate Conditional
 
Interrupting – Boundary - Conditional Intermediate Event
 
 
Intermediate Conditional Non
 
Non-interrupting - Boundary - Conditional Intermediate Event
 
 
Intermediate signal Catch
 
Catch - Signal Intermediate Event
 
 
Intermediate signal Catch
 
Interrupting - Boundary - Catch - Signal Intermediate Event
 
 
Intermediate signal Catch Non
 
Non-interrupting - Boundary - Catch - Signal Intermediate Event
 
 
Intermediate signal Throw
 
Interrupting - Boundary - Throw - Signal Intermediate Event
 
 
Intermediate Multiple Catch
 
Catch - Multiple Intermediate Event
 
 
Intermediate Multiple Catch
 
Interrupting - Boundary - Catch - Multiple Intermediate Event
 
 
Intermediate Multiple Catch Non
 
Non-interrupting Boundary - Catch - Multiple Intermediate Event
 
 
Intermediate Multiple Throw
 
Throw - Multiple Intermediate Event
 
 
Intermediate Parallel Catch
 
Catch - Parallel Multiple Intermediate Event
 
 
Intermediate Parallel Catch
 
Interrupting - Boundary - Catch - Parallel Multiple Intermediate Event
 
 
Intermediate Parallel Catch Non
 
Non-interrupting Boundary - Catch - Parallel Multiple Intermediate Event
 
 
Intermediate Escalation catch
 
Catch - Escalation Intermediate Event
 
 
Intermediate Escalation catch
 
Interrupting - Boundary - Catch - Escalation Intermediate Event
 
 
Intermediate Escalation catch non
 
Non-interrupting - Boundary - Catch - Escalation Intermediate Event
 
 
Intermediate Escalation Throw
 
Throw - Escalation Intermediate Event
 
 
Intermediate Error
 
Boundary - Catch - Error Intermediate Event
 
 
Intermediate Compensation Catch
 
Boundary - Catch - Compensation Intermediate Event
 
 
Intermediate Compensation Throw
 
Throw - Compensation Intermediate Event
 
 
Intermediate Link Catch
 
Catch - Link Intermediate Event
 
 
Intermediate Link Throw
 
Throw - Link Intermediate Event
 
 
Intermediate Cancel
 
Boundary - Catch - Cancel Intermediate Event
 



End Event

                  

 
  
 
End
 
None End Event
 
 
End Message
 
Message End Event
 
 
End Signal
 
Signal End Event
 
 
End Multiple
 
Multiple End Event
 
 
End Escalation
 
Escalation End Event
 
 
End Error
 
Error End Event
 
 
End Compensate
 
Compensation End Event
 
 
End Cancel
 
Cancel   End Event
 
 
End Terminate
 
Terminate End Event
 
 
 
 
 
 
 

Activity

                  

  
 
Activity
 
 
 
Sub Process
 Sub Process 
 
Call Activity
 Call Activity 
 
 
 
 
 
 

Tasks

   

 
  
 
Activity
 
Abstract Task
 
 
Task Service
 
Service Task
 
 
Task Send
 
Send Task
 
 
Task Receive
 
Receive Task
 
 
Task User
 
User Task
 
 
Task Manual
 
Manual Task
 
 
Task Business Rule
 
Business Rule Task
 
 
Task Script
 
Script Task
 
 
 
 
 
 
 

Sub Process Basics

   

 
 
 
 

 
Sub Process
 Sub Process 
 
Sub Process Adhoc
 Adhoc Sub Process 
 
Sub Process Transaction
 Transaction 
 
Event-Sub-Process
 Event Sub Process 
 
 
 


Sub Process

   

 
  
 
Sub Process
 Collapsed Sub Process 
 
Sub-Process-Expanded
 Expanded Sub Process 
 
 




Adhoc Sub Process

   

 
 
 

 
Sub Process Adhoc
 Adhoc Collapsed Sub Process 
 
Sub-Process-Adhoc-Expanded
 Adhoc Expanded Sub Process 
 
 
 
 
 
 

Transaction

   

 
  
 
Sub Process Transaction
 Collapsed Transaction 
 
Sub-Process-Transaction-Expanded
 Expanded Transaction 
 
 
 
 
 
 

Event Sub Process

   

 
  
 
Event Sub Message Non
 
Non-interrupting Message - Event Sub-Process - Collapsed
 
 
Event Sub Message
 
Interrupting -Message - Event Sub-Process - Collapsed
 
 
Event Sub Timer Non
 
Non-interrupting - Timer - Event Sub-Process -Collapsed
 
 
Event Sub Timer
 
Interrupting - Timer - Event Sub-Process - Collapsed
 
 
Event Sub Conditional Non
 
Non-interrupting - Conditional - Event Sub-Process - Collapsed
 
 
Event Sub conditional
 
Interrupting - Conditional - Event Sub-Process - Collapsed
 
 
Event Sub Escalation Non
 
Non-interrupting- Signal -  Event Sub-Process - Collapsed
 
 
Event Sub Signal
 
Interrupting - Signal - Event Sub-Process - Collapsed
 
 
Event Sub Multiple Non
 
Non-interrupting- Multiple -  Event Sub-Process - Collapsed
 
 
Event Sub Multiple
 
Interrupting - Multiple -  Event Sub-Process - Collapsed
 
 
Event Sub Parallel Non
 
Non-interrupting  - Parallel Multiple - Event Sub-Process - Collapsed
 
 
Event Sub Parallel
 
Interrupting - Parallel Multiple - Event Sub-Process - Collapsed
 
 
Event-Sub-Escalation-Non
 
Non-interrupting – Escalation - Event Sub-Process - Collapsed
 
 
Event-Sub-Escalation
 
Interrupting  - Escalation Event Sub-Process - Collapsed
 
 
Event Sub Error
 
Interrupting - Error - Event Sub-Process - Collapsed
 
 
Event Sub Compensation
 
Interrupting – Compensation - Event Sub-Process - Collapsed
 
 
 
 
 

Call Activity

   

 
 
 
 

 
Call Activity
 
Abstract Call Activity
 
 
Call Task User
 
User Call Activity
 
 
Call Task Manual
 
Manual Call Activity
 
 
Call Task Business Rule
 
Business Rule Call Activity
 
 
Call Task Script
 
Script Call Activity
 
 
 
 
 


Gateway

   

 
  
 
Gateway
 
Exclusive Gateway - without Marker
 
 
Gateway Exclusive Marker
 
Exclusive Gateway - with Marker
 
 
Gateway Inclusive
 
Inclusive Gateway
 
 
Gateway Parallel
 
Parallel Gateway
 
 
Gateway Complex
 
Complex Gateway
 
 
Gateway Event Based
 
Event-Based Gateway
 
 
Gateway Start Multiple
 Event-Based Gateway to Start a Process 
 
Gateway Start Parallel
 Parallel  Event-Based Gateway to Start a Process 


Flow

   

 
 

 
Flow Sequence
 Sequence Flow 
 
Flow Message
 Message Flow 
 
Flow Association
 Association 
 
Flow Data Association
 Data Association 
 
 
 
 
 
 

Sequence Flow

   

 
  
 
Flow Sequence
 Sequence Flow 
 
Flow Sequence conditional
 Conditional Sequence Flow 
 
Flow Sequence default
 Default Sequence Flow 
 
 
   
 
 

Message Flow

   

 
  
 
Flow Message
 Message Flow 
 
Flow Message Inittiting
 Initiating Message Flow with Decorator 
 
Flow Message Non Initiating
 Non-Initiating Message Flow with Decorator 
 
 
   
 

Data Association

   

 
  
 
Flow Data Association
 Data Association 
 
 
   
 

Association

   

 
  
 
Flow Association
 
Association
 
 
Flow Association One
 
Directional Association
 
 
Flow Association both
 
Bi-Directional Association
 
 
 
 
 
 
 

BPMN Basic Rules

   

A few basic rules of BPMN:
 
i  Are used to show the order that Activities will be performed in a Process
x  They cannot cross Sub-Process boundaries
x  They cannot cross Pool boundaries
 
i  Are used to show communication between Participants
x  They cannot connect objects that are within the same Pool
 
 Must have at most one outgoing Sequence Flow
x  Must not have any incoming Sequence Flow
 
 A Start Event in a Sub-Process must be of type None

BPMN Clarifications

   

Following are a few clarifications regarding some common misconceptions in BPMN:
 
Processes, Models, Diagrams and Files
i  In BPMN there is no equivalence between: Process, Model, Diagram and File
i  A BPMN Model may contain one or more BPMN Business Process (such as in Collaborations)
i  Various portions of a BPMN Model may be saved in various Files
i  A BPMN Diagram depicts a subset (maybe complete) of a BPMN Process Model
i  A BPMN Model may be depicted using multiple Diagrams
 
Dataflow
x  A BPMN Diagram is not a Dataflow diagram
i  Although Data Objects are now first class entities in BPMN. It is not recommended to try to model Dataflow using BPMN
 
xGateway are not decisions
iGateways do not make decisions they only direct the flow
 A decision outcome should be determined in an Activity prior to the Gateway
 
 Use a Manual Task to depict work effort expected to be performed without the aid of any software application
 Use a User Task to depict semi-automated work effort where a human performer uses a software application to complete the Task
 Use a Service Task to depict an automated work effort
 
Sending and Receiving Messages
 Use a Message Event if the sending or receiving of the Message is considered instantaneous
Message Task if the sending or receiving of the Message can be interrupted
i  From a temporal perspective; an Event maps to a time point on a time line and a Task maps to a time interval


BPMN Naming Conventions Best Practices

   

There are no official naming conventions in BPMN, but here are a few best practices recognized over the years:
 
 Always use keywords that are meaningful to the business
x  Do not use uncommon abbreviations
x  Do not use the element type in its name
x  Avoid articles and pronouns
 
 All Activities should be named
 Name Activities using a Verb-Noun phrase
i  Use the present tense of an active verb of meaning to the business
i  Use a qualified noun of meaning to the business
x  Do not name multiple Activities with the same name (except for Call Activities)
 
Gateways do not perform any work or make decisions; it is simply a visualization of divergence or convergence of flow
x  Do not name converging Gateways
i  Associate a Text Annotation when convergence logic is not obvious
 Name diverging Exclusive Gateways with an interrogative phrase
 
 Name Sequence flows coming out of diverging Gateways of type Exclusive, Inclusive and Complex using their associated conditions stated as outcomes
 Name Conditional Sequence Flows using their associated conditions stated as outcomes
x  Do not name Default Sequence Flows
 
 All Events should be named
 Name Message, Signal, Escalation, and Error Events with a past participle using an active verb
 Name Link Event with a noun
 Name paired Message, Link, Signal, Escalation, and Error Events using a matching name
 Name Timer Events using their schedule
 Name Conditional Events using their trigger condition
 Name End Events using the name of the end state
 
 All Data Objects should be named
i  Name Data Objects using a qualified noun that is the name of a business object or information object of meaning to the business
 Name multiple instances of the same Data Object (which are really Data Object References) using a matching name followed by the applicable State in square Brackets
 
Participants
 Name Participants using a qualified noun or a noun phrase
 
Roles
 Name Roles using a qualified noun or noun phrase
 
 Name Pools using the Participant’s name
x  Do not name Pools using the Process Name
i  In BPMN a Pool is a depiction of a Participant
 
 Name Lanes using the Category’s name
iLanes are often used to categorize elements by Roles


BPMN Modeling Best Practices

   

Process Scope
 Clearly define the scope of the Process by identifying the Who, What, When, Where and Why of your process (the Process is the How)
 Identify what each instance of your Process will represent
i  Instances are discreet and identifiable: you can refer to each one of them and can count them
 Identify the potential alternative ways to trigger the Process using Start Events
 Identify the potential alternative end states of the instances of the Process using End Events
 
Diagram layouts
 Aim for BPMN Diagrams that fit one page
 Layout your BPMN Diagrams neatly to ease readability by minimizing flow crossing
 Use consistent layout with horizontal Sequence Flows and vertical Data Associations and Message Flows
i  BPMN Diagrams are not strict temporal orderings (as it is possible to loop back) but most readers expect a left-to-right ordering
 Do not create zigzag layouts of elements
 It should be clear what the primary (“Happy”) path of the Process is
 Whenever possible, externalize the business rules from the Process to create more concise and more agile Process models using Business Rule Tasks
 Create alternative visualizations of the same Process for different communication purposes and stakeholders. For example:
 A summary Diagram with all Sub-Processes and Call Activities collapsed and not showing any Data Objects
 A verbose Diagram with all Sub-Processes and Call Activities expanded, showing all Data Objects and Annotations
 
Process Partitioning and Structure
 Create hierarchical multi layers of details for your Process
 Use Sub-Processes to split your Process into "phases"
 Use Call Activities to re-use other Processes
 
Start and End Events
 Always use Start and End Events
 Distinguish alternative instantiation of the process as separate Start Events
 Distinguish various end states as separate End Events
 Flows that end in the same end state should be merged to the same End Event
 
 Always use Gateways to depict split or merge of flows
x  Do not use mixt mode Gateways (both diverging and converging)
 Always place an Activity that will determine the diverging condition(s) just before a diverging Gateway of type Exclusive, Inclusive and Complex
i  A benefit ' of this best practice is that this decision Activity can now be interrupted if need be
 Abstract multiple daisy-chained diverging Gateways into a Business Rule Task
i  A benefit of this best practice is simplification of overloaded diagrams
 
Collaborations
x  Do not model the internal process under focus into a Pool
i  Without a Pool to label, one will not have the opportunity to fall into the bad practice of naming the Pool with the Process Name



BPMN Examples

   

These examples were extracted from BPMN 2.0 by Example (non-normative OMG document). Click the diagram image to view the example.
 
Order Fulfillment and Procurement
 
 
 
Oder FulfillmentOrder Fulfillmentorder-fulfillment-and-procurement
The Nobel Prize
 
The Nobel Prizethe-nobel-prize
 
 
The Pizza Collaboration
The Pizzathe_pizza
 
 
 
Shipment Process of a Hardware Retailer
 
Shipment Processshpment-process
 
 
E-Mail Voting
 
Email Votingemailvoting
 
 
Incident Management as Detailed Collaboration
 
Incidentincident_2
 

BPMN Glossary

   

 
 
 

 
Abstract Process
 
A Process that represents the interactions between a private business process and another process or participant.
 
 
Activity
 
Work that a company or organization performs using business processes. An activity can be atomic or non-atomic (compound). The types of activities that are a part of a Process Model are: Process, Sub-Process, and Task.
 
 
Artifact
 
A graphical object that provides supporting information about the Process or elements within the Process. However, it does not directly affect the flow of the Process.
 
 
Association
 
A connecting object that is used to link information and Artifacts with Flow Objects.  An association is represented as a dotted graphical line with an arrowhead to represent the direction of flow
 
 
Atomic Activity
 
An activity not broken down to a finer level of Process Model detail. It is a leaf  in the tree-structure hierarchy of Process activities. Graphically it will appear  as a Task in BPMN.
 
 
BPM System
 
The technology that enables BPM.
 
 
Business Analyst
 
A specialist who analyzes business needs and problems, consults with users and stakeholders to identify opportunities for improving business return through information technology, and defines, manages, and monitors the requirements into business processes.
 
 
Business Process
 
A defined set of business activities that represent the steps required to achieve a business objective. It includes the flow and use of information and resources.
 
 
Business Process Management
 
The services and tools that support process management (for example, process analysis, definition, processing, monitoring and administration), including support for human and application-level interaction. BPM tools can eliminate manual processes and automate the routing of requests between departments and applications.
 
 
Choreography
 
An ordered sequence of B2B message exchanges between two or more Participants. In a Choreography there is no central controller, responsible entity, or observer of the Process.
 
 
Collaboration
 
Collaboration is the act of sending messages between any two Participants in a BPMN model. The two Participants represent two separate BPML processes.
 
 
Collapsed Sub-Process
 
A Sub-Process that hides its flow details. The Collapsed Sub-Process object uses a marker to distinguish it as a Sub-Process, rather than a Task. The marker is a small square with a plus sign (+) inside.
 
 
Compensation Flow
 
Flow that defines the set of activities that are performed while the transaction  is being rolled back to compensate for activities that were performed during the Normal Flow of the Process. A Compensation Flow can also be called from a Compensate End or Intermediate Event.
 
 
Compound Activity
 
Flow that proceeds from one Flow Object to another, via a Sequence Flow link, but is subject to either conditions or dependencies from other flow as defined by a Gateway. Typically, this is seen as a Sequence flow between two activities, with a conditional indicator (mini-diamond) or a Sequence Flow connected to a Gateway.
 
 
Decision
 
A gateway within a business process where the Sequence Flow can take one of several alternative paths. Also known as "Or-Split."
 
 
End Event
 
An Event that indicates where a path in the process will end. In terms of Sequence Flows, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flows. An End Event can have a specific Result that will appear as a marker within the center of the End Event shape. End Event Results are Message, Error, Compensation, Signal, Link, and Multiple. The End Event shares the same basic shape of the Start Event and Intermediate Event, a circle, but is drawn with a thick single line.
 
 
Event Context
 
An Event Context is the set of activities that can be interrupted by an exception  (Intermediate Event). This can be one activity or a group of activities in an expanded Sub-Process.
 
 
Exception
 
An event that occurs during the performance of the Process that causes a diversion from the Normal Flow of the Process. Exceptions can be generated by Intermediate Events, such as time, error, or message.
 
 
Exception Flow
 
A Sequence Flow path that originates from an Intermediate Event attached to the boundary of an activity. The Process does not traverse this path unless the Activity is interrupted by the triggering of a boundary Intermediate Event (an Exception - see above).
 
 
Expanded Sub-Process
 
A Sub-Process that exposes its flow detail within the context of its Parent Process. An Expanded Sub-Process is displayed as a rounded rectangle that is enlarged to display the Flow Objects within.
 
 
Flow
 
A directional connector between elements in a Process, Collaboration, or Choreography. A Sequence Flows represents the sequence of Flow Objects in a Process or Choreography. A Message Flow represents the transmission of a Message between Collaboration Participants.The term Flow is often used to represent the overall progression of how a Process or Process segment would be performed.
 
 
Flow Object
 
A graphical object that can be connected to or from a Sequence Flow. In a Process, Flow Objects are Events, Activities, and Gateways. In a Choreography, Flow Objects are Events, Choreography Activities, and Gateways.
 
 
Fork
 
A point in the Process where one Sequence Flow path is split into two or more paths that are run in parallel within the Process, allowing multiple activities to run simultaneously rather than sequentially. BPMN uses multiple outgoing Sequence Flows from Activities or Events or a Parallel Gateway to perform a Fork. Also known as “AND-Split.”
 
 
Intermediate Event
 
An event that occurs after a Process has been started. An Intermediate Event affects the flow of the process by showing where messages and delays are expected, distributing the Normal Flow through exception handling, or showing the extra flow required for compensation. However, an Intermediate Event does not start or directly terminate a process. An Intermediate Event is displayed as a circle, drawn with a thin double line.
 
 
Join
 
A point in the Process where two or more parallel Sequence Flow paths are combined into one Sequence Flow path. BPMN uses a Parallel Gateway to perform a Join. Also known as “AND-Join.”
 
 
Lane
 
A partition that is used to organize and categorize activities within a Pool. A Lane extends the entire length of the Pool either vertically or horizontally. Lanes are often used for such things as internal roles (e.g., Manager, Associate), systems (e.g., an enterprise application), or an internal department (e.g., shipping, finance).
 
 
Merge
 
A point in the Process where two or more alternative Sequence Flow paths are combined into one Sequence Flow path. No synchronization is required because no parallel activity runs at the join point. BPMN uses multiple incoming Sequence Flows for an Activity or an Exclusive Gateway to perform a Merge. Also know as “OR-Join.”
 
 
Message
 
An Object that depicts the contents of a communication between two Participants. A message is transmitted through a Message Flow and has an identity that can be used for alternative branching of a Process through the Event-Based Exclusive Gateway.
 
 
Message Flow
 
A Connecting Object that shows the flow of messages between two Participants. A Message Flow is represented by a dashed lined.
 
 
Normal Flow
 
A flow that originates from a Start Event and continues through activities on alternative and parallel paths until reaching an End Event.
 
 
Parent Process
 
A Process that holds a Sub-Process within its boundaries.
 
 
Participant
 
A business entity (e.g., a company, company division, or a customer) or a business role (e.g., a buyer or a seller) that controls or is responsible for a business process. If Pools are used, then a Participant would be associated with one Pool. In a Collaboration, Participants are informally known as “Pools”.
 
 
Pool
 
A Pool represents a Participant in a Collaboration. Graphically, a Pool is a container for partitioning a Process from other Pools/Participants. A Pool is not required to contain a Process, i.e., it can be a “black box.”
 
 
Private Business Process
 
A process that is internal to a specific organization and is the type of process  that has been generally called a workflow or BPM process.
 
 
Process
 
A sequence or flow of Activities in an organization with the objective of carrying out work. In BPMN, a Process is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flow that adhere to a finite execution semantics.
 
 
Result
 
The consequence of reaching an End Event. Types of Results include Message, Error, Compensation, Signal, Link, and Multiple.
 
 
Sequence Flow
 
A connecting object that shows the order in which activities are performed in a Process and is represented with a solid graphical line. Each Flow has only one source and only one target. A Sequence Flow can cross the boundaries between Lanes of a Pool but cannot cross the boundaries of a Pool.
 
 
Start Event
 
An Event that indicates where a particular Process starts. The Start Event starts the flow of the Process and does not have any incoming Sequence Flow, but can have a Trigger. The Start Event is displayed as a circle, drawn with a single thin line.
 
 
Sub-Process
 
A Process that is included within another Process. The Sub-Process can be in a collapsed view that hides its details. A Sub-Process can be in an expanded view that shows its details within the view of the Process that it is contained in. A Sub-Process shares the same shape as the Task, which is a rectangle that has rounded corners.
 
 
Swimlane
 
A Swimlane is a graphical container for partitioning a set of activities from other activities. BPMN has two different types of Swimlanes. See “Pool” and “Lane.”
 
 
Task
 
An atomic activity that is included within a Process. A Task is used when the work in the Process is not broken down to a finer level of Process Model detail. Generally, an end-user, an application, or both will perform the Task. A Task object shares the same shape as the Sub-Process, which is a rectangle that has rounded corners.
 
 
Token
 
A theoretical concept that is used as an aid to define the behavior of a Process that is being performed. The behavior of Process elements can be defined by describing how they interact with a token as it “traverses” the structure of the Process. For example, a token will pass through an Exclusive Gateway, but continue down only one of the Gateway's outgoing Sequence Flow.
 
 
Transaction
 
A Sub-Process that represents a set of coordinated activities carried out by independent, loosely-coupled systems in accordance with a contractually defined business relationship. This coordination leads to an agreed, consistent, and verifiable outcome across all participants.
 
 
Trigger
 
A mechanism that detects an occurrence and can cause additional processing in response, such as the start of a business Process. Triggers are associated with Start Events and Intermediate Events and can be of the type: Message, Timer, Conditional, Signal, Link, and Multiple.
 
 
Uncontrolled Flow
 
Flow that proceeds without dependencies or conditional expressions. Typically, an Uncontrolled Flow is a Sequence Flow between two Activities that do not have a conditional indicator (mini-diamond) or an intervening Gateway.