philchudley
Working with BPMN 2.0 in Enterprise Architect version 11 / 12
Introduction
In versions 11 and 12 of Enterprise Architect several changes have been made to BPMN 2.0 which affects the way that modellers use this notation and in particular how the repository must be structured.
An excellent video which summarises these changes is available at http://www.sparxsystems.com/resources/webinar/partners/bpmn/bpmn-introduction-cephas.html
This article summarises these changes and presents a Tutorial so that you can have a hands-on experience of these changes and hence model effectively using BPMN 2.0 and Enterprise Architect versions 11 and 12.
Since Collaboration and Process diagrams are the diagrams most commonly used in Business Process Modelling, this article concentrates on these diagrams.
Summary of Changes
The changes made to BPMN 2.0 in Enterprise Architect version 11 and 12 are as follows:
-
Closer compliance with the BPMN 2.0 specification (this affects re-usability of elements and repository structure)
-
Modelling interface improvements affecting:
-
Diagrams (option to automatically re-size pools / lanes)
-
Easier and more intuitive use of BPMN 2.0 tagged values in element dialogs
-
Start and End events no longer produce a menu (Stand alone | Edge Mounted)
-
At first glance these may not seem significant, but they are, particularly change 1)
In order to gain maximum benefit from these changes it is strongly recommended that the modeller uses Strict Connector Syntax so that BPMN 2.0 conformant models are created.
Strict Connector Syntax is enabled by:
-
Selecting Tools | Options… from the main menu
-
Selecting Links and then checking the checkbox labelled Strict Connector Syntax as shown below
Compliance with BPMN 2.0 Specification
The main effect of this change is that Activities remain as children of the enclosing Pool / Lane and CANNOTbe placed in a separate package for re-usability.
Pools and Lanes, may be placed in separate packages, but are not re-used as Links, rather they are cloned for use on multiple diagrams.
Global Activities (that is re-usable Activities) must be a Sub-process with a linked diagram which models the process. This structure should be placed in its own package. These Global Activities are then re-used by creating a Call Activity which refers to the Global Activity.
Worked Example ~ Tutorial
To illustrate how these changes affect the modeller I present a simple worked example which involves a Customer logging on to a company site and checking their account details.
The final Business Process flows are as shown below:
Request Account Details Process
Customer Login Process
Step 1 – Create the Repository Structure
After creating a new repository (or Project as Enterprise Architect calls it), the Model Wizard for BPMN 2.0 is used to create the initial structure. For this example I have used just the following sections from the BPMN 2.0 Model Wizard
-
Collaboration
-
Business Process
Resulting in the structure below:
Note how Enterprise Architect has created the structure and introduced two elements of type <<CollaborationModel>> Collaboration Model
Just as an aside there follows a brief discussion regarding this CollaborationModel and a similar element the BusinessProcess
These elements appear to be an invention of Enterprise Architect. I say appear to be, since I cannot find an equivalent in the BPMN 2.0 specification, but I stand to be corrected on this matter.
The usefulness of these elements seems to be a topic of some debate amongst Enterprise Architect users. I offer my own opinion here.
Personally I see no major advantage in using them, since:
-
perfectly stable and accurate BPMN 2.0 models can be constructed without them
-
They add an extra hierarchy layer to the Repository Structure which may make (RTF) documentation generation more complex.
-
However, each of these elements does contain BPMN 2.0 Tagged Values which allow the modeler to set references from a CollaborationModel to a Choreography and similarly set a reference from a BusinessProcess to a Conversation. This may be useful if you use Choreography Diagrams and/or Conversation Diagrams.
-
It is possible (although I have not confirmed this), the use of these elements may be mandatory for BPEL code generation)
-
Finally, in my opinion, the CollaborationModel created in the view BPMN 2.0 Process View should in fact be a BusinessProcess element
I will let you decide whether or not to use these elements, for the purpose of this example, I will not be using them.
I prefer to begin modelling with empty views and packages and so I begin by deleting the sample elements created by the Model Wizard.
To use BPMN 2.0 effectively I propose the use of a Model Library which will contain packages one for each BPMN 2.0 element that is deemed to be reusable. For this example I will need the following
-
Partner Entities (who is involved – that is the name of the Pool)
-
Pools (each Pool refers to a Partner Entity)
-
Messages (these detail the data pertaining to a Message Flow)
-
Data Stores
-
Reusable Processes
Other packages worthy of consideration are
-
Participants (used to allow Pools to refer to Participant elements on a Conversation Diagram)
-
Resource Roles (departments or sections within a Participant)
-
Lanes (each Lane refers to Resource Role)
-
Data Objects (data that is produced or consumed during a Process)
After these changes have been made my Repository Structure now looks as below:
Note that I have set Namespace Root for all library packages, this will enable elements to be located more quickly when references are required to be set.
Step 2 – Populating the Library
Elements can be added to these library packages by either of the following methods:
-
Adding the elements directly into their respective package using Add New Element.
-
Create a diagram in the package and add elements using the diagram toolbox.
After populating the library my repository is as shown below:
For each Pool element in the Library:
-
Set the Pool’s BPMN 2.0 Tagged Value named partnerEntity to the corresponding Partner Entity element in the library
If the name of the Pool needs to be changed, change the name of the referenced Partner Entity element. This has the effect of reflecting this name change to all reuses of the Pool
For each Lane element (no Lanes are used in this example)
-
Set the Lane’s BPMN 2.0 Tagged Value named partitionElementRef to the corresponding Resource Role element in the library
If the name of the Lane needs to be changed, change the name of the referenced Resource Role element. This has the effect of reflecting this name change to all reuses of the Lane
Step 3 – Modelling the Reusable Process
The first step is make the Activity named Customer Login which has just been added to the Element Library, a Sub-Process. This is achieved by:
-
Opening the properties dialog for the Activity element
-
Selecting Sub process from the Type dropdown list on the BPMN 2.0 Tagged Values. (Note how access to BPMN 2.0 Tagged Values has changed in EA version 11 /12)
The next step is to add a BPMN 2.0 Business Process Diagram (since there are no Pools) as a direct child to this Activity. (Simply select the Activity and Add a New Diagram)
Then model the following process flow as usual, noting the changes to the BPMN 2.0 Tagged Values for each element in the process flow.
Finally, make the Activity named Customer Login a Composite Element by:
-
Adding the Activity to the diagram just created as a Link.
-
Right-click and select New Child Diagram | Select Composite Diagram.
-
Navigate to and select the diagram just created.
-
Delete the Activity named Customer Login from this diagram.
Step 4 – Modelling the Main Process Flow
The last step in this example is to create the main process flow.
-
Add a new Package named Request Account Details to the View named BPMN 2.0 Collaboration View.
-
Add a BPMN 2.0 Collaboration Diagram (since there are Pools) to this package.
-
Reuse the Pools, by
-
Copying the Pool element in the Library package to the clipboard and pasting into the package containing the diagram.
-
Deleting the name of the newly pasted Pool element (note that a name does appear on the diagram … this is taken from the BPMN 2.0 Tagged Value named partnerElement
-
-
(Lanes are also reused by using the Copy and Paste method)
-
Right-click the diagram and select Set diagram flow direction | Horizontal) (or Vertical if you prefer).
-
Add the Pools (from the diagram package) as Links on this diagram.
-
Model the process flow as shown below:
Notes
When modelling this process flow take note of the following:
-
As you add elements into their respective Pool, the Pool will re-size automatically to accommodate the new element.
-
Use the messageRef BPMN 2.0 Tagged Value to set the reference for the Message Flow to the appropriate Message Element in the library (it should be obvious in this example which Message elements are referred to)
-
When creating the Called Activity named Customer Login perform the following:
-
Add a new Activity to the Pool named Company
-
Name this Activity Customer Login
-
Select callActivity from the Type dropdown list for the BPMN 2.0 Tagged Values
-
Set calledActivityRef to the Activity named Customer Login located in the element library package named Reusable Processes
-
Make this Activity a Composite Element and set its diagram to the BPMN 2.0 Business Process named Customer Login which is a child of the Activity named Customer Login located in the element library package named Reusable Processes
-
Conclusion
The simple example has demonstrated the changes made to BPMN 2.0 in Enterprise Architect versions 11 and 12. In particular:
-
Changes to how elements such as Pools (and Lanes), and Activities are reused and how they reference Partner Entity and Resource Role elements respectively.
-
Changes to the element property dialog regarding accessing BPMN 2.0 Tagged Values
I hope this example illustrates these changes clearly and assists you in creating well-structured and accurate BPMN 2.0 models in the future.
Phil Chudley
Principal Consultant
Dunstan Thomas Consulting
Changing the Appearance of BPMN 2.0 Elements - A Tagged Value Summary
Changing the Appearance of BPMN 2.0 Elements
Sparx Systems Enterprise Architect provides a very rich modelling toolset for Business Process Model and Notation2.0 (BPMN 2.0), which is increasing in popularity particularly amongst Business Analysts.
The BPMN 2.0 notation uses a common set of symbols, which have an icon to show their meaning, for example, the type of event that triggers the start of a business process.
Each BPMN 2.0 element has a set of tagged values identified by the label BPMN 2.0 in the properties dialog. The value in these tagged values affects the appearance of the associated element.
Enterprise Architect can generate Business Process Execution Language (BPEL) directly from BPMN 2.0 models. This code generation uses tagged values also identified by the label BPMN 2.0.
This use of tagged values results in a large number of them to choose from and for modellers beginning with Enterprise Architect, this prospect can be rather daunting. Sparx Systems have tried to resolve this problem by grouping the tagged values into sections, but it can be challenging to know which tagged values to use.
Business Analysts will not be using the BPEL tagged values and this article presents a tabular summary of just the tagged values, which affect the appearance of BPMN 2.0 elements.
This information is in the on-line help and user guide, it is presented here for convenience.
The Activity element used on Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
Activity |
activityType |
Task Sub-Process |
Task – displays no “plus-in-box” icon Sub-Process – displays “plus-in-box” icon |
|
isACalledActivity |
false true |
false – displays normal Activity border true - displays bold thick border |
|
|
isATransaction |
false true |
false – displays normal Activity border true - displays double border |
|
|
isForCompensation |
false true |
false – displays no “rewind” icon true - displays “rewind” icon |
|
|
Task |
taskType |
BusinessRule Manual Receive Service Send Script User Abstract |
Displays the corresponding BPMN 2.0 Task icon
BusinessRule is equivalent to BPMN 2.0 Conditional |
|
AdHoc |
adHoc |
false true |
false –displays no “tilde” icon true - displays “tilde” icon |
|
Loop |
isSequential |
false true |
Only takes effect if loopCharacteristics is set to MultiInstance
false – displays “three vertical lines” icon true - displays “three horizontal lines” icon |
|
loopCharacteristics |
None Standard MultiInstance |
None – displays no loop icon Standard – displays “counter-clockwise arrow” icon MultInstance – depends upon isSequential |
|
|
Sub-Process |
triggeredByEvent |
false true |
false – displays normal Activity border true - displays dashed border |
The Gateway element used on Choreography, Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
Gateway |
gatewayType |
Exclusive Complex Inclusive Parallel Event |
Displays the corresponding BPMN 2.0 Gateway icon
Exclusive will display icon only if markerVisible is set to true When Event is used eventGatewayType must be set to Exclusive |
|
Event Gateway |
eventGatewayType |
Exclusive Parallel |
Used with instantiate to indicate type of event, displays the BPMN 2.0 event-based (instantiate) gateway icon |
|
Instantiate |
false true |
false – “normal” gateway true – event-based (instantiate) gateway |
|
|
Exclusive Gateway |
markerVisible |
false true |
false – gatewayType set to Exclusive does not display icon true – gatewayType set to Exclusive displays icon (recommended best practice) |
The Start Event element used on Choreography, Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
Start Event |
eventDefintion |
None Compensation Conditional Error Escalation Message Multiple Timer Signal ParallelMultiple |
Displays the corresponding BPMN 2.0 Start Event icon
NOTE Some of these values only make sense when the Start Event is used within an Event Sub-process |
|
isInterrupting |
false true |
Only used when the Start Event is used within an Event Sub-process
false – displays solid border true – displays dashed border |
The End Event element used on Choreography, Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
End Event |
eventDefintion |
None Cancel Compensation Error Escalation Message Multiple Terminate Signal |
Displays the corresponding BPMN 2.0 End Event icon
|
The Intermediate Event element used on Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
Intermediate Event |
cancelActivity |
true false |
Must only be used for Boundary Intermediate Events
true – displays solid double border false – displays dashed double border |
|
catchOrThrow |
Catch Throw |
Displays white icon Displays black icon (only for non-boundary intermediate events) |
|
|
eventDefintion |
None Cancel Compensation Conditional Escalation Error Link Message Multiple Timer Signal ParallelMultiple |
Displays the corresponding BPMN 2.0 Intermediate Event icon
NOTE
These settings depend upon the value of cancelActivity and if the event is a boundary intermediate event or a non-boundary intermediate event |
The Pool element used on Collaboration diagrams uses the following tagged values to change its appearance, for which there are no groups.
|
Tagged Value Name |
Values |
Effect |
|
blackBoxPool |
false true |
false – displays Pool as a “white box” ready to contain Activities and other process flow elements true – displays as a “black box” resembling a UML Class element |
|
participantMultiplicity |
false true |
false – no icon displayed true – displays “three vertical bars” icon |
The Data Object element used on Collaboration and Business Process diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
DataObject |
dataInOut |
None Input Output |
None – displays no icon Input – displays a hollow arrow icon Output displays a black arrow icon |
|
isCollection |
false true |
false – displays no icon true – displays “three vertical bars” icon to show data object represents a collection |
The Sequence Flow connector drawn within Pools and Lanes on a Collaboration diagram uses the following tagged value to change its appearance, for which there are no groups.
|
Tagged Value Name |
Values |
Effect |
|
conditionExpression |
|
Text entered here will display if the conditionType is set to Expression |
|
conditionType |
None Expression Default |
None – usual form of Sequence Flow connector Expression – adds a “hollow diamond” icon on the non-arrow end of the Sequence Flow connector Default – adds a “slash” icon on the non-arrow end of the Sequence Flow connector |
The Message Flow connector drawn between Pools or elements in different Pools to model B2B communication on Collaboration diagrams uses the following tagged values to change its appearance, for which there are no groups.
|
Tagged Value Name |
Values |
Effect |
|
messageVisible |
None Initiating Non-Initiating |
None – usual form of Message Flow Initiating – adds a “hollow envelope” icon on the Message Flow connector Non-Initiating – adds a “grey envelope” icon on the Message Flow connector |
The Participant element drawn on Conversation diagrams uses the following tagged values to change its appearance, for which there are no groups.
|
Tagged Value Name |
Values |
Effect |
|
participantMultiplicity |
false true |
false – displays no icon true – displays “three vertical bars” icon |
The Conversation element drawn on Conversation diagrams uses the following tagged values to change its appearance, for which there are no groups.
|
Tagged Value Name |
Values |
Effect |
|
isACallConversation |
false true |
false – displays standard Conversation element border true – displays thick bold Conversation element border |
|
isComposite |
false true |
false – displays no “plus-in-box” icon true – displays “plus-in-box” icon |
The Choreography element drawn on Choreography diagrams uses the following tagged values to change its appearance.
|
Tagged Value Group |
Tagged Value Name |
Values |
Effect |
|
Choreography |
choreographyType |
Task Sub-Process |
Task – No “plus-in-box” icon Sub-Process – “plus-in-box” icon |
|
isACalledChoreography |
false true |
false – displays standard Choreography element border true – displays thick bold Choreography border |
|
|
loopType |
None Standard MultiInstanceParallel MultiInstanceSequential |
None – displays no icon Standard – displays “counter-clockwise arrow” icon MultiInstanceParallel – displays “three vertical bars” icon MultiInstanceSequential – displays “three horizontal bars” icon |
|
|
Participants |
initiatingParticipant |
participantA participantB participantC participantD |
Clears the grey background colour from the corresponding participant section in the Choreography element |
|
numberOfParticipants |
2, 3 or 4 |
Creates the corresponding number of participant sections in the Choreography element |
|
|
Participant A |
participantA |
Text |
The name of the first participant |
|
participantAMultiplicity |
false true |
false – displays no icon true – displays “three vertical bars” icon in the participantA section of the Choreography element |
|
|
participantARef |
Selected Pool element |
Navigate to a Pool within the Project Browser and the name of the Pool (prefixed by <<Pool>>) is displayed in the participantA section of the Choreography element |
|
|
Participant B |
participantB |
Text |
The name of the second participant |
|
participantBMultiplicity |
false true |
false – displays no icon true – displays “three vertical bars” icon in the participantB section of the Choreography element |
|
|
participantBRef |
Selected Pool element |
Navigate to a Pool within the Project Browser and the name of the Pool (prefixed by <<Pool>>) is displayed in the participantB section of the Choreography element |
|
|
Participant C |
participantC |
Text |
The name of the third participant |
|
participantCMultiplicity |
false true |
false – displays no icon true – displays “three vertical bars” icon in the participantC section of the Choreography element |
|
|
participantCRef |
Selected Pool element |
Navigate to a Pool within the Project Browser and the name of the Pool (prefixed by <<Pool>>) is displayed in the participantC section of the Choreography element |
|
|
Participant D |
participantD |
Text |
The name of the fourth participant |
|
participantDMultiplicity |
false true |
false – displays no icon true – displays “three vertical bars” icon in the participantD section of the Choreography element |
|
|
participantDRef |
Selected Pool element |
Navigate to a Pool within the Project Browser and the name of the Pool (prefixed by <<Pool>>) is displayed in the participantD section of the Choreography element |
This document aims to highlight those BPMN 2.0 Tagged Values used to change the appearance of BPMN 2.0 elements. It presents them grouped into tables according to BPMN 2.0 element type.
I hope you find this to be a useful and valuable resource when using Enterprise Architect for modelling business processes in BPMN2.0

