27 June 2016

Lesson 6: Using Artifacts and Data Objects in BPMN

Lesson 1 – Start and the End events, the Task activity, Gateways
Lesson 2 – Events and Gateways
Lesson 3 -Pools, Swimlanes and Task
Lesson 4 – Sub-Processes
Lesson 5 – Messages

In Lesson 6 of our BPMN tutorial, we will take a look at the following graphical elements: Artifacts, Data Objects and Associations.

In BPMN, Artifacts, Data Objects and special connectors called Associations are used to specify information, which is not related to the flow of the process. These elements are not executable and serve for readability and analysis of business processes.

Artifacts provide a mechanism for adding descriptive information about the process. The two typical Artifacts are Group and Annotation (in BPMN 1.2 Data Objects also belonged to Artifacts, but in 2.0 they are a separate category). Yet, developers of BPM systems can add as many Artifacts as needed.

Let’s take a look at how the Group element is used in business process modeling. In graphic form, it is represented as a rounded rectangle with a dot-and-dash line as border. It surrounds a group of flow objects but has no influence on process performance.

Group graphical representation

Fig. 25. Group graphical representation

Groups highlight or categorize flow objects and do not affect the flow of the process. Activities can be highlighted to show that they are related, and can be categorized, for example, for analysis purposes or document preparation.

Group element

Fig. 26. Group element used in a process

In our example process, “Complete paperwork” (Lesson 4 of our BPMN tutorial), a Group unites the tasks aimed at preparing and signing the job offer. As you can see, such highlighting of activities shows that the tasks are related, but it in no way affects the process flow.

A Group is not an activity like a Task or Sub-Process, nor is it an element of the sequence flow like a Gateway. Therefore, you cannot connect a Group to a sequence flow or message flow. However, since Groups are not limited by the pool and swimlane constraints, they can highlight activities that belong to different pools, which is widely used to show relations of the B2B type.

The next BPMN element that we would like to review is the Text Annotation. Text Annotations allow the modeler to add descriptive information or notes to the diagram. You can include any information that could be important to the end user, for example, describe how an element is used, and add comments, explanations and so on.
All this contributes to the diagram’s informational content, and makes it easy for the business user to understand the process.

Graphically, an Annotation is an open box with text placed on either of its side.

Text annotation

Fig. 27. Text Annotation

You can connect aText Annotation to a certain element by means of an Association, without affecting the process flow.

Text annotation

Fig.28. Text Annotation in process diagram

In our example process, “Complete paperwork”, the Text Annotation specifies the exact actions that the accountant has to take when performing the “Open account” task.

The next element, Association, is a connector that creates a relationship between a piece of information and an artifact or a flow element (such as an event, a task or a gateway). If a text or a graphical object do not belong to the process flow, you can still link them to the flow’s objects (see Fig.29). Associations are usually used to link a Text Annotation or a Data Object to an element of the process flow.

Graphically Associations are represented as a dotted line.

Association graphical representation

Fig.29. Graphical representation of Association

If needed, an Association can show the direction of a flow, for example, of Data flow. In this case, an arrowhead is added to the dotted line.

Association arrow graphical representation

Fig.30. Graphical representation of Association demonstrating direction

When modeling business processes, it is important to assure any data used during the process can be collected and managed.

BPMN offers specialized elements that allow you to store and transmit process components during the process’s execution: Data Objects and Data Storage. Usually these elements are tied to the performance of Activities.

Graphically, a Data Object is represented by a document shape with one corner bent over.

Data object graphical representation

Fig.31. Graphical representation of a Data Object

Data Objects show the inputs and outputs of Activities, and do not affect the process flow. A Data Object is tied to the context of the process, so in the diagram it is shown within a process or a sub-process. Data Objects exist only between the process’s start and end. If a process instance is cancelled, all of its Data Object instances become inactive and, therefore, inaccessible to any external processes.

Also, BPMN 2.0 (unlike the previous version) introduces the Data Storage element, which allows storing information even after the process instance has been completed.

Graphically, it is represented in the following way:

Database graphical representation

Fig. 32. Graphical representation of Data Storage

Associations in process diagram

Fig.33. Associations in process diagram

Figure 34. features the Employee Recruitment process, where Data Objects and Associations are used.
In our process, Data Objects either show the outputs of process activities (request for a new employee) or are used in task execution (request for a new hire, candidate database). The request is a simple Data Object, while the candidate database is represented by Data Storage.

In BPMN, Data Storage allows for interaction between different processes, which is impossible with simple Data Objects, because they can only be used within one process.

Data interaction between processes

Fig. 34. Interaction between processes by means of data

For more information on Artifacts, Data Objects and Associations, see BPMN specification.

Download Demo

Stay up to date with company news and receive notifications of new posts

  • Just

    Hi Valeria,

    Data storage in BPMN is it for representation of storing data only , can information be retrieved from it ?

    Thank you

Valeria Evgeneva
Marketing and Localization Specialist