Table 12.35 – Depiction Resolution for Connecting Objects

Bi -Directional

 

Association where

None

Association

L a b e l

associationDirection is both.

 

 

 

 

Data Association

L a b e l

None

The targetElement of

 

 

the BPMNEdge is itself

 

 

 

 

 

 

of type BPMNEdge

 

 

 

where bpmnElement is

 

 

 

of type SequenceFlow

Directed Data

L a b e l

DataInputAssociation or

None

Association

DataOutputAssociation

 

 

 

 

Conversation Link

L a b e l

ConversationLink

None

 

 

 

12.4 Example(s)

This sub clause provides examples to support interpretation of the BPMN DI specification. Some BPMN diagram depictions along with their XML BPMN DI serializations are provided. The XML samples provided in this sub clause present only BPMN DI instances and omit the BPMN 2.0 abstract syntax.

For readability purposes, the bpmnElement that is referenced by the BPMNPlane, BPMNShape, and BPMNEdge use a representative string pattern. This string pattern is:

BPMNModelClassName_BPMNModelNameAttributeValue

For example: “Task_Activity” for a Task named “Activity.”

In the provided XML serializations, the di namespace refers to the Diagram Interchange namespace defined in Annex B, and the dc namespace refers to the Diagram Common namespace also defined in Annex B.

12.4.1 Depicting Content in a Sub-Process

This sub clause shows various ways of depicting the content of a Sub-Process of the same BPMN model.

The BPMN model contains a process composed of a none start event (named “StartEvent”), a sub-process (named “SubProcess”) and a none end event (named “EndEvent”). There is a sequence flow (named “a”) between the start event (named “StartEvent”) and the sub-process (named “SubProcess”) and a sequence flow (named “d”) between the subprocess (named “SubProcess”) and the end event (named “EndEvent”).

The sub-process (named “SubProcess”) is composed of a none start event (named “SubProcessStart”), an abstract task (named “Activity”) and a none end event (named “SubProcessEnd”). There is a sequence flow (named “b”) between the start event (named “SubProcessStart”) and the task (named “Activity”) and a sequence flow (named “c”) between the task (named “Activity”) and the end event (named “SubProcessEnd”).

Expanded Sub-Process

First, a BPMN diagram depicts the BPMN model with the expanded sub-process showing its content (see Figure 12.8). This leads to a BPMN DI serialization of a single diagram that depicts this process (see Table 12.37).

412

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

 

SubProcess

 

 

 

a

b

Activity

c

d

StartEvent

SubProcess

 

SubProcess

EndEvent

 

Start

 

End

 

Figure 12.8 – Expanded Sub-Process Example

Table 12.36Expanded Sub-Process BPMN DI instance

<BPMNDiagram name=" Events Inside the Sub Process " resolution="72"> <BPMNPlane bpmnElement="Process_Process">

<BPMNShape bpmnElement="StartEvent_StartEvent" > <dc:Bounds height="30.0" width="30.0" x="120.0" y="225.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="SubProcess_SubProcess" isExpanded="true"> <dc:Bounds height="168.0" width="348.0" x="192.0" y="156.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="StartEvent_SubProcessStart" id="BorderStart" > <dc:Bounds height="30.0" width="30.0" x="228.0" y="225.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="Task_Activity">

<dc:Bounds height="68.0" width="83.0" x="324.0" y="206.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="EndEvent_SubProcessEnd">

<dc:Bounds height="32.0" width="32.0" x="468.0" y="224.0" id ="BorderEnd" /> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="EndEvent_EndEvent"> <dc:Bounds height="32.0" width="32.0" x="604.0" y="224.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNEdge bpmnElement="SequenceFlow_a" targetElement="BorderStart" > <di:waypoint x="150.0" y="240.0"/>

<di:waypoint x="192.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_b" sourceElement="BorderStart" > <di:waypoint x="258.0" y="240.0"/>

<di:waypoint x="324.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

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

413

<BPMNEdge bpmnElement="SequenceFlow_c" targetElement="BorderEnd" > <di:waypoint x="407.0" y="240.0"/>

<di:waypoint x="468.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_d" sourceElement="BorderEnd" > <di:waypoint x="540.0" y="240.0"/>

<di:waypoint x="604.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

</BPMNPlane>

</BPMNDiagram>

Expanded Sub-Process with Start and End Events on Border

An alternative to depicting the same BPMN model of 12.4.1 would be to place the sub-process start and end events on the border of the sub-process (see Figure 12.9). In the BPMN DI serialization of this diagram (see Table 12.40), the target of the sequence flow named “a” and the source of the sequence flow named “d” are the start and end events on the boundary of the sub-process.

Compare the target of the sequence flow named “a” and the source of the sequence flow named “d” of Table 12.37 with that of Table 12.38.

 

SubProcess

 

 

 

a

b

Activity

c

d

StartEvent SubProcess

 

SubProcess EndEvent

 

Start

 

 

End

Figure 12.9 – Start and End Events on the Border Example

Table 12.37 - Start and End Events on the Border BPMN DI instance

<BPMNDiagram name=" StartAndEdnEventsOnTheBorder " resolution="72"> <BPMNPlane bpmnElement="Process_Process">

<BPMNShape bpmnElement="StartEvent_StartEvent" > <dc:Bounds height="30.0" width="30.0" x="120.0" y="225.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="SubProcess_SubProcess" isExpanded="true"> <dc:Bounds height="168.0" width="348.0" x="192.0" y="156.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="StartEvent_SubProcessStart"> <dc:Bounds height="30.0" width="30.0" x="177.0" y="225.0"/> <BPMNLabel/>

414

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

</BPMNShape>

<BPMNShape bpmnElement="Task_Activity">

<dc:Bounds height="68.0" width="83.0" x="324.0" y="206.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="EndEvent_SubProcessEnd"> <dc:Bounds height="32.0" width="32.0" x="524.0" y="224.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="EndEvent_EndEvent"> <dc:Bounds height="32.0" width="32.0" x="604.0" y="224.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNEdge bpmnElement="SequenceFlow_a"> <di:waypoint x="150.0" y="240.0"/> <di:waypoint x="177.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_b"> <di:waypoint x="207.0" y="240.0"/> <di:waypoint x="324.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_c"> <di:waypoint x="407.0" y="240.0"/> <di:waypoint x="524.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_d"> <di:waypoint x="556.0" y="240.0"/> <di:waypoint x="604.0" y="240.0"/> <BPMNLabel/>

</BPMNEdge>

</BPMNPlane>

</BPMNDiagram>

Collapsed Sub-Process

Alternatively, one could depict the same BPMN model of 12.4.1 as two diagrams. A first diagram (Figure 12.10) depicts the process with the sub-process collapsed, while a second diagram (Figure 12.11) depicts the content of the sub-process.

a

S ubProcess

d

StartEvent

 

EndEvent

Figure 12.10 – Collapsed Sub-Process

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

415

b

Activity

c

SubProcess

 

SubProcess

Start

 

End

Figure 12.11 – Contents of Collapsed Sub-Process

Table 12.38Collapsed Sub-Process BPMN DI instance

<BPMNDiagram name="Collapsed Sub-Process" resolution="72"> <BPMNPlane bpmnElement="Process_Process">

<BPMNShape bpmnElement="StartEvent_StartEvent"> <dc:Bounds height="30.0" width="30.0" x="96.0" y="189.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="EndEvent_EndEvent"> <dc:Bounds height="32.0" width="32.0" x="308.0" y="188.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="SubProcess_SubProcess" isExpanded="false"> <dc:Bounds height="68.0" width="83.0" x="168.0" y="170.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNEdge bpmnElement="SequenceFlow_a"> <di:waypoint x="126.0" y="204.0"/> <di:waypoint x="168.0" y="204.0"/> <BPMNLabel/>

</BPMNEdge>

<BPMNEdge bpmnElement="SequenceFlow_d"> <di:waypoint x="251.0" y="204.0"/> <di:waypoint x="308.0" y="204.0"/> <BPMNLabel/>

</BPMNEdge>

</BPMNPlane>

</BPMNDiagram>

Table 12.39- Sub-Process Content BPMN DI instance

<BPMNDiagram name="SubProcess" resolution="72"> <BPMNPlane bpmnElement="SubProcess_SubProcess">

<BPMNShape bpmnElement="StartEvent_SubProcessStart"> <dc:Bounds height="30.0" width="30.0" x="208.0" y="219.0"/> <BPMNLabel/>

</BPMNShape>

<BPMNShape bpmnElement="Task_Activity">

<dc:Bounds height="68.0" width="83.0" x="304.0" y="200.0"/> <BPMNLabel/>

</BPMNShape>

416

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