Figure 10.52 – A DataObject

Collection (see Figure 10.53 )

Figure 10.53 – A DataObject that is a collection

Visual representations of Data Objects

Data Object can appear multiple times in a Process diagram. Each of these appearances references the same Data Object instance. Multiple occurrences of a Data Object in a diagram are allowed to simplify diagram connections.

Lifecycle and Accessibility

The lifecycle of a Data Object is tied to the lifecycle of its parent Process or Sub-Process. When a Process or Sub-Process is instantiated, all Data Objects contained within it are also instantiated. When a Process or SubProcess instance is disposed, all Data Object instances contained within it are also disposed. At this point the data within these instances are no longer available.

The accessibility of a Data Object is driven by its lifecycle. The data within a Data Object can only be accessed when there is guaranteed to be a live Data Object instance present. As a result, a Data Object can only be accessed by its immediate parent (Process or Sub-Process), or by its sibling Flow Elements and their children, including Data Object References referencing the Data Object.

For example - Consider the follow structure:

Process A

Data object 1

Task A

Sub-process A

Data object 2

Task B

Sub-process B

Data object 3

Sub-process C

Data object 4

Task C

Task D

206

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

“Data object 1” can be accessed by “Process A,” “Task A,” “Sub-Process A,” “Task B,” “Sub-Process B,” “Sub-Process C,” “Task C,” and “Task D.”

“Data object 2” can be accessed by: “Sub-Process A” and “Task B.”

“Data object 3” can be accessed by: “Sub-Process B,” “Sub-Process C,” “Task C,” and “Task D.”

“Data object 4” can be accessed by: “Sub-Process C” and “Task C.”

Data Stores

A DataStore provides a mechanism for Activities to retrieve or update stored information that will persist beyond the scope of the Process. The same DataStore can be visualized, through a Data Store Reference, in one or more places in the Process.

The Data Store Reference is an ItemAwareElement and can thus be used as the source or target for a Data Association. When data flows into or out of a Data Store Reference, it is effectively flowing into or out of the DataStore that is being referenced.

The notation looks as follows (see Figure 10.54):

Data

Store

Figure 10.54 – A Data Store

Figure 10.55 – DataStore class diagram

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

207

The DataStore element inherits the attributes and model associations of FlowElement (see Table 8.44) through its relationship to RootElement, and ItemAwareElement (see Table 10.51). Table 10.55 presents the additional attributes of the DataStore element.

Table 10.55 – Data Store attributes

Attribute Name

Description/Usage

 

 

name: string

A descriptive name for the element.

 

 

capacity: integer [0..1]

Defines the capacity of the Data Store. This is not needed if the

 

isUnlimited attribute is set to true.

isUnlimited: boolean = false

If isUnlimited is set to true, then the capacity of a Data Store is set as

 

unlimited and will override any value of the capacity attribute.

The Data Store Reference element inherits the attributes and model associations of FlowElement (see Table 8.44) and ItemAwareElement (see Table 10.51). Table 10.56 presents the additional model associations of the Data Store Reference element.

Table 10.56 – Data Store attributes

Attribute Name

Description/Usage

 

 

dataStoreRef: DataStore

Provides the reference to a global DataStore.

 

Properties

Properties, like Data Objects, are item-aware elements. But, unlike Data Objects, they are not visually displayed on a Process diagram. Certain flow elements MAY contain properties, in particular only Processes, Activities, and Events MAY contain Properties.

The Property class is a DataElement element that acts as a container for data associated with flow elements. Property elements MUST be contained within a FlowElement. Property elements are not visually displayed on a Process diagram.

208

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

Figure 10.56 – Property class diagram

The Property element inherits the attributes and model associations of ItemAwareElement (Table 10.51). Table 10.54 presents the additional attributes of the Property element.

Table 10.57 – Property attributes

Attribute Name

Description/Usage

 

 

name: string

Defines the name of the Property.

 

Lifecycle and Accessibility

The lifecycle of a Property is tied to the lifecycle of its parent Flow Element. When a Flow Element is instantiated, all Properties contained by it are also instantiated. When a Flow Element instance is disposed, all Property instances contained by it are also disposed. At this point the data within these instances are no longer available.

The accessibility of a Property is driven by its lifecycle. The data within a Property can only be accessed when there is guaranteed to be a live Property instance present. As a result, a Property can only be accessed by its parent Process, Sub-Process, or Flow Element. In case the parent is a Process or Sub-Process, then a property can be accessed by the immediate children (including children elements) of that Process or Sub-Process. For example, consider the following structure:

Process A

Task A Sub-Process A

Task B Sub-Process B

Sub-Process C

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

209