this shape or edge should not be depicted. The only exception is for a Data Association connected to a Sequence Flow (See Figure 10.68). This is a visual short cut that actually normalizes two Data Associations within the BPMN model. In this case, the resolution is made from the BPMN DI attributes rather than the abstract syntax reference [bpmnElement] (See Table 12.35 - Depiction Resolution for Connecting Objects).

When rendering a BPMN diagram, the correct depiction of a BPMNShape or BPMNEdge depends mainly on the referenced BPMN model element [bpmnElement] and its particular attributes and/or references.

The purpose of this sub clause is to: provide a library of the BPMN element depictions, and to provide an unambiguous resolution between the referenced BPMN model element [bpmnElement], BPMNShape or BPMNEdge and their depiction. Depiction resolution tables are provided below for both BPMNShape (sub clause 12.3.2) and BPMNEdge (sub clause 12.3.3).

12.3.1 Labels

Both BPMNShape and BPMN Edge may have labels (e.g., its name) placed inside the shape/edge, or above or below the shape/edge, in any direction or location, depending on the preference of the modeler or modeling tool vendor.

Labels are optional for BPMNShape and BPMNEdge. When there is a label, the position of the label is specified by the bounds of the BPMNLabel of the BPMNShape or BPMNEdge. Simply put, label visibility is defined by the presence of the BPMNLabel element. The bounds of the BPMNLabel are optional and always relative to the containing BPMNPlane’s origin point (see page 376). The depiction resolution tables provided below exemplify default label positions for BPMNShape kinds (sub clause 12.3.2) and BPMNEdge kinds (sub clause 12.3.3) if no BPMNLabel bounds are provided.

The text of the label to be rendered is obtained by resolving the name attribute of the referenced BPMN model element [bpmnElement] from the BPMNShape or BPMNEdge. In the particular case when the referenced BPMN model element [bpmnElement] is a DataObjectReference, the text of the label to be rendered is obtained by concatenating the name attribute of the referenced BPMN model element [bpmnElement] and the name attribute of the dataState attribute of this DataObjectReference (see Figure 12.6 - Depicting a Label for a DataObjectReference with its state).

Label [State]

Figure 12.6 – Depicting a Label for a DataObjectReference with its state

The properties of the font to be used for rendering the label are optional and provided by the labelStyle of the BPMNLabel. If not provided, the tool should use its default style to depict the label.

12.3.2 BPMNShape

Markers for Activities

Various BPMN Activities can be decorated with markers at the bottom center of the shape.

Loop Characteristic markers may need to be rendered when the referenced BPMN model element [bpmnElement] of a BPMNShape is a Task, ServiceTask, SendTask, ReceiveTask, UserTask, ManualTask, BusinessRuleTask, ScriptTask, SubProcess, AdHocSubProcess, Transaction or CallActivity. Note that Loop Characteristic Markers (Loop, Multi-Instance

Business Process Model and Notation (BPMN), v2.0.2

381

- Parallel, and Multi-Instance - Sequential) are mutually exclusive markers. That is, only one of them can be present on a single shape (see Table 10.8). Note that the patterns of Markers depicted in Table 10.8 also apply to Transaction and Call Activity which have different border depictions (i.e., double border or thick border).

A Compensation marker may need to be rendered when the referenced BPMN model element [bpmnElement] of a BPMNShape is a Task, ServiceTask, SendTask, ReceiveTask, UserTask, ManualTask, BusinessRuleTask, ScriptTask, SubProcess, AdHocSubProcess, Transaction or CallActivity (see Table 12.8).

In the case of expandable kind of shapes, the markers (Compensation or Loop Characteristic) are placed to the left of the + on the shape.

The Compensation marker may be combined with a Loop Characteristic Marker. All the markers that are present must be grouped and the whole group centered to the bottom of the shape (see Figure 12.7).

Note that in the case where the referenced BPMN model element [bpmnElement] of a BPMNShape is an AdHocSubProcess, the shape has its tilde marker to the right of the + (See page 386).

Table 12.8- Depiction Resolution for Loop Compensation Marker

Loop

 

 

Specific Depiction Resolution:

Characteristic

 

Depiction:

bpmnElement:

BPMNShape

Marker:

 

 

 

 

 

Attributes:

 

 

 

 

Standard Loop

 

 

[Task, ServiceTask, SendTask,

None

 

 

Label

ReceiveTask, UserTask,

 

 

 

ManualTask, BusinessRuleTask,

 

 

 

 

 

 

 

 

ScriptTask, SubProcess,

 

 

Label

 

AdHocSubProcess, Transaction

 

 

 

or CallActivity] where

 

 

 

 

 

 

 

 

loopCharacteristics is of type

 

 

 

 

StandardLoopCharacteristics

 

Label

382

 

Business Process Model and Notation (BPMN), v2.0.2

 

Table 12.8 - Depiction Resolution for Loop Compensation Marker

Loop

 

 

Specific Depiction Resolution:

Characteristic

 

Depiction:

 

 

 

bpmnElement:

BPMNShape

Marker:

 

 

 

 

 

Attributes:

 

 

 

 

 

 

 

 

 

Multi-Instance -

 

 

[Task, ServiceTask, SendTask,

None

Parallel

 

Label

ReceiveTask, UserTask,

 

 

 

 

 

 

ManualTask, BusinessRuleTask,

 

 

 

 

 

 

 

 

ScriptTask, SubProcess,

 

 

Label

 

AdHocSubProcess, Transaction

 

 

 

or CallActivity] where

 

 

 

 

 

 

 

 

loopCharacteristics is of type

 

 

 

 

MultipleLoopCharacteristics with

 

 

 

 

attribute isSequential to false.

 

Label

Multi-Instance -

 

[Task, ServiceTask, SendTask,

None

Sequential

Label

ReceiveTask, UserTask,

 

 

 

 

ManualTask, BusinessRuleTask,

 

 

 

 

 

 

ScriptTask, SubProcess,

 

Label

 

AdHocSubProcess, Transaction

 

 

 

or CallActivity] where

 

 

 

loopCharacteristics is of type

 

 

 

MultipleLoopCharacteristics with

 

 

 

attribute isSequential to true.

 

 

Label

 

 

 

 

 

 

 

383

 

 

 

 

 

 

 

 

 

 

Business Process Model and Notation (BPMN), v2.0.2

Table 12.8 – Depiction Resolution for Compensation Marker

Compensation

 

Specific Depiction Resolution:

Marker:

Depiction:

bpmnElement:

BPMNShape

 

 

 

 

 

Attributes:

Compensation

 

[Task, ServiceTask, SendTask,

None

 

Label

ReceiveTask, UserTask,

 

 

ManualTask, BusinessRuleTask,

 

 

 

 

 

 

ScriptTask, SubProcess,

 

Label

 

AdHocSubProcess, Transaction

 

 

 

or CallActivity] where

 

 

 

isForCompensation is true.

 

Label

Label

Label

Label

Figure 12.7 – Combined Compensation and Loop Characteristic Marker Example

Tasks [BPMNShape]

There are different types of Tasks identified within BPMN. The specific Task type depiction is obtained by placing a Task type maker in the upper left corner of the Task shape. A Task that is no further specified is called an Abstract Task.

Tasks (Abstract, Service, Send, Receive, User, Manual, Business Rule or Script) can also have Compensation and/or Loop Characteristic markers at the bottom center of the shape as defined above (see page 381).

384

Business Process Model and Notation (BPMN), v2.0.2

Table 12.9 – Depiction Resolution for Tasks

Kind:

Depiction:

Specific Depiction Resolution:

bpmnElement:

BPMNShape

 

 

 

 

 

Attributes:

Abstract Task

 

Task

None

 

Label

 

 

Service Task

 

ServiceTask

None

 

Label

 

 

Send Task

 

SendTask

None

 

Label

 

 

Receive Task

 

ReceiveTask

None

 

Label

 

 

User Task

 

UserTask

None

 

Label

 

 

Manual Task

 

ManualTask

None

 

Label

 

 

Business Rule Task

 

BusinessRuleTask

None

 

Label

 

 

Script Task

 

ScriptTask

None

 

Label

 

 

Business Process Model and Notation (BPMN), v2.0.2

385