目录
BPMN 使用教程 3
BPMN 基础 3
事件(Event) 3
开始事件(Start Event) 3
中间事件(Intermediate Event ) 4
结束事件(End event) 6
活动(Activity) 7
任务(Task) 7
子流程(Sub process) 8
点对点子流程(Adhoc Sub Process) 9
事务型子流程(Transaction) 10
事件型子流程(Event Sub Process) 12
调用型活动(Call Activity) 14
网关(Gateway) 15
流(Flow) 16
顺序流(Sequence Flow) 16
消息流(Message Flow) 16
数据关联(Data Association) 17
关联(Association) 17
数据(Data) 17
工件(Artifact) 18
泳道基础(Swimlane basics) 19
泳道(Lane) 20
泳池(Pool) 21
BPMN 基本规则 22
BPMN的一些基本规则: 22
BPMN 澄清说明 23
流程、模型、示意图和文件 23
数据流 23
网关 23
手动、自动化和半自动化的任务 24
发送和接收消息 24
BPMN命名规则的最佳实践 24
活动 24
网关 25
顺序流 25
事件 25
数据对象 25
参与者 26
角色 26
泳池 26
泳道 26
BPMN建模最佳实践 26
流程范围 26
流程分割与结构 27
开始和结束事件 27
网关 27
协作 28
BPMN 使用教程
|
事件(Event) |
活动(Activity) |
网关(Gateway) |
流向(Flow) |
|
数据(Data) 制品(Artifact) 泳道(Swimlane)
|
||
|
|
空开始事件(None Start Event) |
|
|
中断-消息开始事件(Interrupting - Message Start Event) |
|
|
非中断消息-开始事件(Non-interrupting - Message Start Event) |
|
|
中断-定时器开始事件(Interrupting - Timer Start Event) |
|
|
非中断定-时器开始事件(Non-interrupting - Timer Start Event) |
|
|
中断-条件开始事件(Interrupting - Conditional Start Event) |
|
|
非中断-条件开始事件(Non-interrupting - Conditional Start Event) |
|
|
中断-信号开始事件(Interrupting Signal Start Event) |
|
|
非中断-信号开始事件(Interrupting Signal Start Event) |
|
|
中断-多重开始事件(Interrupting Multiple Start Event) |
|
|
非中断-多重开始事件(Non-interrupting Multiple Start Event) |
|
|
中断-平行多重开始事件(Interrupting - Parallel Multiple Start Event) |
|
|
非中断-平行多重开始事件(Non-interrupting - Parallel Multiple Start Event) |
|
|
中断-升级开始事件(Interrupting - Escalation Start Event) |
|
|
非中断-升级开始事件(Non-interrupting - Escalation Start Event) |
|
|
中断-错误开始事件(Interrupting - Error Start Event) |
|
|
中断-补偿开始事件(Interrupting - Compensation Start Event) |
|
|
|
|
||
|
|
中断-空中间事件(Interrupting - None Intermediate Event) |
|
|
捕获-消息中间事件(Catch - Message Intermediate Event) |
|
|
中断-边界-捕获–消息中间事件(Interrupting - Boundary - Catch - Message Intermediate Event) |
|
|
非中断-边界-捕获-消息中间事件(Non-interrupting - Boundary - Catch - Message Intermediate Event) |
|
|
抛出-消息中间事件(Throw - Message Intermediate Event) |
|
|
定时中间事件(Timer Intermediate Event) |
|
|
中断-边界-定时中间事件(Interrupting - Boundary - Timer Intermediate Event) |
|
|
非中断边界-定时中间事件(Non-interrupting Boundary - Timer Intermediate Event) |
|
|
条件中间事件(Conditional Intermediate Event) |
|
|
中断-边界-条件中间事件(Interrupting – Boundary - Conditional Intermediate Event) |
|
|
非中断-边界-条件中间事件(Non-interrupting - Boundary - Conditional Intermediate Event) |
|
|
捕获-信号中间事件(Catch - Signal Intermediate Event) |
|
|
中断-边界-捕获-信号中间事件(Interrupting - Boundary - Catch - Signal Intermediate Event) |
|
|
非中断-边界-捕获-信号中间事件(Non-interrupting - Boundary - Catch - Signal Intermediate Event) |
|
|
中断-边界-抛出-信号中间事件(Interrupting - Boundary - Throw - Signal Intermediate Event) |
|
|
捕获-多重中间事件(Catch - Multiple Intermediate Event) |
|
|
中断-边界-捕获-多重中间事件(Interrupting - Boundary - Catch - Multiple Intermediate Event) |
|
|
非中断边界-捕获-多重中间事件(Non-interrupting Boundary - Catch - Multiple Intermediate Event) |
|
|
抛出-多重中间事件(Throw - Multiple Intermediate Event) |
|
|
捕获-平行多重中间事件(Catch - Parallel Multiple Intermediate Event) |
|
|
中断-边界-捕获-平行多重中间事件(Interrupting - Boundary - Catch - Parallel Multiple Intermediate Event) |
|
|
非中断边界-捕获-平行多重中间事件(Non-interrupting Boundary - Catch - Parallel Multiple Intermediate Event) |
|
|
捕获-升级中间事件(Catch - Escalation Intermediate Event) |
|
|
中断-边界-捕获-升级中间事件(Interrupting - Boundary - Catch - Escalation Intermediate Event) |
|
|
非中断-边界-捕获-升级中间事件(Non-interrupting - Boundary - Catch - Escalation Intermediate Event) |
|
|
抛出-升级中间事件(Throw - Escalation Intermediate Event) |
|
|
边界-捕获-错误中间事件(Boundary - Catch - Error Intermediate Event) |
|
|
边界-捕获-补偿中间件事件(Boundary - Catch - Compensation Intermediate Event) |
|
|
抛出-补偿中间事件(Throw - Compensation Intermediate Event) |
|
|
捕获-连接中间事件(Catch - Link Intermediate Event) |
|
|
抛出-连接中间事件(Throw - Link Intermediate Event) |
|
|
边界-捕获-取消中间事件(Boundary - Catch - Cancel Intermediate Event) |
|
|
|
|
||
|
|
空结束事件(None End Event) |
|
|
消息结束事件(Message End Event) |
|
|
信号结束事件(Signal End Event) |
|
|
多重结束事件(Multiple End Event) |
|
|
升级结束事件(Escalation End Event) |
|
|
错误结束事件(Error End Event) |
|
|
补偿结束事件(Compensation End Event) |
|
|
取消结束事件(Cancel End Event) |
|
|
终止结束事件(Terminate End Event) |
|
|
|
|
||
|
|
抽象任务(Abstract Task) |
|
|
服务任务(Service Task) |
|
|
发送任务 (Send Task) |
|
|
接收任务(Receive Task) |
|
|
用户任务(User Task) |
|
|
手动任务(Manual Task) |
|
|
业务规则任务(Business Rule Task) |
|
|
脚本任务(Script Task) |
|
|
|
|
||
|
|
收缩状态的子流程 (Collapsed Sub Process) |
|
|
展开状态的子流程 (Expanded Sub Process) |
|
|
|
|
||
|
|
展开状态的点对点子流程 (Adhoc Expanded Sub Process) |
|
|
|
|
||
|
|
收缩状态的事务型子流程(Collapsed Transaction) |
|
|
展开状态的事务型子流程(Expanded Transaction) |
|
|
|
|
||
|
|
非中断消息-事件型子流程-收缩状态 Non-interrupting Message - Event Sub-Process - Collapsed |
|
|
中断-消息-事件型子流程-收缩状态 Interrupting -Message - Event Sub-Process - Collapsed |
|
|
非中断-定时-事件型子流程-收缩状态 Non-interrupting - Timer - Event Sub-Process -Collapsed |
|
|
中断-定时-事件型子流程-收缩状态 Interrupting - Timer - Event Sub-Process - Collapsed |
|
|
非中断-条件-事件型子流程-收缩状态 Non-interrupting - Conditional - Event Sub-Process - Collapsed |
|
|
中断-条件-事件型子流程-收缩状态 Interrupting - Conditional - Event Sub-Process - Collapsed |
|
|
非中断-信号-事件型子流程-收缩状态 Non-interrupting- Signal - Event Sub-Process - Collapsed |
|
|
中断-信号-事件型子流程-收缩状态 Interrupting - Signal - Event Sub-Process - Collapsed |
|
|
非中断-多重-事件型子流程-收缩状态 Non-interrupting- Multiple - Event Sub-Process - Collapsed |
|
|
中断-多重-事件型子流程-收缩状态 Interrupting - Multiple - Event Sub-Process - Collapsed |
|
|
非中断-平行多重-事件型子流程-收缩状态 Non-interrupting - Parallel Multiple - Event Sub-Process - Collapsed |
|
|
中断-平行多重-事件型子流程-收缩状态 Interrupting - Parallel Multiple - Event Sub-Process - Collapsed |
|
|
非中断-升级-事件型子流程-收缩状态 Non-interrupting – Escalation - Event Sub-Process - Collapsed |
|
|
中断-升级事件型子流程-收缩状态 Interrupting - Escalation Event Sub-Process - Collapsed |
|
|
中断-错误-事件型子流程-收缩状态 Interrupting - Error - Event Sub-Process - Collapsed |
|
|
中断-补偿-事件型子流程-收缩状态 Interrupting – Compensation - Event Sub-Process - Collapsed |
|
|
|
|
||
|
|
抽象调用型活动(Abstract Call Activity) |
|
|
用户调用型活动(User Call Activity) |
|
|
手动操作调用型活动(Manual Call Activity) |
|
|
业务规则调用型活动(Business Rule Call Activity) |
|
|
脚本调用型活动(Script Call Activity) |
|
|
|
|
||
|
|
排他网关-无标志(Exclusive Gateway - without Marker) |
|
|
排他网关-有标志(Exclusive Gateway - with Marker) |
|
|
包容网关(Inclusive Gateway) |
|
|
平行网关(Parallel Gateway) |
|
|
复杂网关(Complex Gateway) |
|
|
事件触发型网关(Event-Based Gateway) |
|
|
可启动流程的事件触发型网关 Event-Based Gateway to Start a Process |
|
|
可启动流程的平行事件触发型网关 Parallel Event-Based Gateway to Start a Process |
|
|
|
|
||
|
|
顺序流(Sequence Flow) |
|
|
条件顺序流(Conditional Sequence Flow) |
|
|
默认顺序流(Default Sequence Flow) |
|
|
|
|
||
|
|
消息流(Message Flow) |
|
|
带有装饰的初始消息流 Initiating Message Flow with Decorator |
|
|
带有装饰的非初始消息流 Non-Initiating Message Flow with Decorator |
|
|
|
|
|||
|
|
Data Association |
|
|
|
|
|
||
|
|
关联(Association) |
|
|
单向关联(Directional Association) |
|
|
双向关联 (Bi-Directional Association) |
|
|
|
|
||
|
|
数据对象(Data Object) |
|
|
数据对象的集合(Data Object Collection) |
|
|
数据来源(Data Input) |
|
|
数据来源的集合(Data Input Collection) |
|
|
数据输出(Data Output) |
|
|
数据输出的集合(Data Output Collection) |
|
|
数据存储(Data Store) |
|
|
|
|
||
|
|
组(Group) |
|
|
文本注解(Text Annotation) |
|
|
|
|
||
|
|
泳道(Lane) |
|
|
泳池(Pool) |
|
|
|
|
||
|
|
水平方向泳道Horizontal Lane |
|
|
水平方向泳道 Vertical Lane |
|
|
|
|
||
|
|
水平方向泳池 Horizontal Pool |
|
|
水平方向泳池-多实例参与者Horizontal Pool - with Multi Instance Participant |
|
|
垂直方向泳池Vertical Pool |
|
|
垂直方向泳池-多实例参与者Vertical Pool - with Multi Instance Participant |
|
|
|
顺序流:
ü 用来显示活动在流程中执行的方向
ü 它们不能够跨越子流程的边界
ü 它们不能跨越泳池的边界
消息流:
ü 用来显示各个参与者之间的沟通
ü 它们不能用来连接在相同泳池内的对象
边界事件:
ü 必须要有至少一个向外的顺序流
ü 不能有任何一个向内的顺序流
子流程:
ü 子流程中的一个开始事件必须属于空事件类型
以下的一些澄清说明事项是针对BPMN中常见的误解:
ü 在BPMN中,流程、模型、示意图和文件并不是对等的。一个BPMN模型可能会包
一个或者多个BPMN业务流程,例如在协作流程中,不同部分的BPMN模型可能会保存到不同的文件中。一个BPMN示意图用于描述一个BPMN流程模型的子集(可能是完整的)一个BPMN模型可能也会使用多个示意图来进行描述
ü 一个BPMN示意图并不是一个数据流示意图,尽管数据对象目前在BPMN中是一等公
民,但是并不推荐使用BPMN来为数据流建模。
ü 网关并不做决策。
ü 网关不应该用来做任何判断,它们只应该用来分流。
ü 一个决策的结果应该在进入到网关前的活动中就提前决定好 。
ü 使用手动任务描述一个无需涉及到任何软件协助的而完成的工作。
ü 使用用户任务描述一个涉及到需要软件协助才能完成的半自动化工作。
ü 使用服务任务描述一个全自动化的工作。
ü 从时间维度上看,如果消息的发送或者接收是实时的,可以考虑使用一个消息事件。
ü 如果消息的发送或者接收是可以被打断的,可以考虑使用消息任务。
ü 事件映射到时间线上的点,而任务则映射到一个时间间隔。
在BPMN的命名规则上,官方并没有统一的标准,不过以下是一些近些年来被认为是最佳实践的命名规则:
ü 使用那些对业务有意义的关键词
ü 不要使用不常见的缩写词
ü 不要在它的名称中使用元素类型
ü 避免使用冠词和人称代词
ü 应该给所有的活动命名。
ü 使用动词-名词的形式给活动命名。
ü 使用动词的现在时态,并且该动词要对业务有意义。
ü 使用一个能够很好的表达业务的名词。
ü 除了调用型活动,不要给多个不同的活动使用相同的名称。
ü 网关不需要执行任何工作或者做任何决策;它仅仅就是用来显示流程汇合或分流的方向。
ü 不要给汇合网关命名。
ü 连接一个文本注释当汇合逻辑看起来不明显时。
ü 使用疑问句给分流的排他网关命名。
ü 使用其被标记为结果的关联条件为从分流网关(排他、包容和复杂网关)出来的顺序流命名。使用其被标记为结果的关联条件为条件顺序流命名。
ü 不要给默认顺序流命名。
ü 所有的事件都应该被命名。
ü 使用动词的过去分词形式给消息、信号、升级和错误事件命名。
ü 使用名词给链接事件命名。
ü 使用一个相匹配的名称给成对的消息、链接、信号、升级和错误类型的事件命名。
ü 根据其计划给定时事件命名。
ü 使用触发条件给条件事件命名。
ü 使用结束状态的名称给结束事件命名。
ü 应该给所有的数据对象命名。
ü 使用一个合格的名词来命名数据对象,该名词可以是业务对象或者信息对象的名称,对业务描述有意义。在给同一个数据对象(真实的数据引用)的多个实例命名时,使用一个相匹配的名称,紧跟一个花括号,里面是其状态。
ü 使用一个合格的名词或者名词词组给参与者命名。
ü 使用一个合格的名词或者名词词组给角色命名。
ü 使用参与者的名称给泳池命名。
ü 不要使用流程名给泳池命名。
ü 在BPMN中,一个泳池是用来描述一个参与者。
ü 使用类别名来命名泳道
ü 泳道通常用角色来给元素分类
ü 通过识别出是流程(流程就是如何做(how))中的谁(who)、什么事(what)、什么时候(when)、什么地方(where)以及为什么(why)来明确的定义业务的范围。
ü 明确的识别出流程中的每一个实例代表什么。
ü 实例很小也可识别:你可以引用每一个实例,并且它们是可数的。
ü 识别出潜在可行的方式使用开始事件来触发一个流程。
ü 识别出潜在可行的方式使用结束事件来结束一个流程中实例的状态。
示意图的布局
ü 刚好适合显示在一页中的BPMN示意图最佳。
ü 尽量使用简洁的布局,减少跨流程来提升可读性。
ü 和水平顺序流、垂直关联数据和消息流一起使用连贯的布局。
ü BPMN示意图并不限于时间上的顺序(因为有可能会循环回来),但是大多数读者期待一个从左到右的顺序。
ü 不要创建之字形元素的布局。
ü 它应该清楚的表达流程首要(“快乐的”)的路径是什么。
ü 使用业务规则任务尽可能的从流程中表达出业务的规则,以帮助创建出更准确和更灵活的流程模型。
ü 创建其他可行的相同流程的可视图,用于不同的沟通目的和参与者。例如:一个总结性的示意图,其所有的子流程和调用型活动都处于收缩状态,没有展示出任何数据对象。又如,一个详细的示意图,其所有的子流程和调用型活动都处于展开状态,展示出所有的数据对象和文字注解。
ü 创建分级且多层级的流程细节。
ü 使用子流程将你的流程分割成“词组”。
ü 使用调用型活动来重用其他的流程。
ü 总是应该使用开始和结束事件。
ü 通过流程可选的实例化来分辨出不同的开始事件。
ü 通过不同的结束状态来分辨出不同的结束事件。
ü 那些在相同的结束状态的流应该被合并到同一个结束事件。
ü 总是应该使用网关来描述分流或者流的合并。
ü 不要使用混合网关(合并和分流),总是应该将一个用于做决策(分流条件)的活动放置在一个分流网关,包括排他、包容和复杂网关。这么做的好处就是,这个用于做决策的活动就可以在需要时中断它。
ü 将多重连接在一起的分流网关抽象成一个业务规则任务。这么做的好处就是能够简化这些负载的示意图。
ü 不要在泳池里为内部流程建模。
ü 没有一个泳池来打标签,人们可以避免使用流程名来命名一个泳池这样不好的做法。
|
||
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. |
|
|
|