philchudley

philchudley

 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:


  1. Closer compliance with the BPMN 2.0 specification (this affects re-usability of elements and repository structure)

  2. Modelling interface improvements affecting:

    1. Diagrams (option to automatically re-size pools / lanes)

    2. Easier and more intuitive use of BPMN 2.0 tagged values in element dialogs

    3. 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:


  1. Selecting Tools | Options… from the main menu

  2. 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:

 

  1. Adding the elements directly into their respective package using Add New Element.

  2. 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:

 

  1. Opening the properties dialog for the Activity element

  2. 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:

 

  1. Adding the Activity to the diagram just created as a Link.

  2. Right-click and select New Child Diagram | Select Composite Diagram.

  3. Navigate to and select the diagram just created.

  4. 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.

 

  1. Add a new Package named Request Account Details to the View named BPMN 2.0 Collaboration View.

  2. Add a BPMN 2.0 Collaboration Diagram (since there are Pools) to this package.

  3. Reuse the Pools, by

    1. Copying the Pool element in the Library package to the clipboard and pasting into the package containing the diagram.

    2. 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

  4. (Lanes are also reused by using the Copy and Paste method)

  5. Right-click the diagram and select Set diagram flow direction | Horizontal) (or Vertical if you prefer).

  6. Add the Pools (from the diagram package) as Links on this diagram.

  7. Model the process flow as shown below:

Notes

When modelling this process flow take note of the following:

 

  1. As you add elements into their respective Pool, the Pool will re-size automatically to accommodate the new element.

  2. 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)

  3. When creating the Called Activity named Customer Login perform the following:

    1. Add a new Activity to the Pool named Company

    2. Name this Activity Customer Login

    3. Select callActivity from the Type dropdown list for the BPMN 2.0 Tagged Values

    4. Set  calledActivityRef to the Activity named Customer Login located in the element library package named Reusable Processes

    5. 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 

 

1       Introduction

 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.

 

2       BPMN 2.0 Elements

 

2.1      Activity

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

 

2.2      Gateway

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)

 

2.3      Start Event

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

 

2.4      End Event

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

 

 

2.5      Intermediate Event

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

 

2.6      Pools

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

 

2.7      Data Object

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

 

2.8      Sequence Flow

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

 

2.9      Message Flow

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

 

 

2.10    Participant

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

 

2.11    Conversation

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

 

2.12    Choreography

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

 

3       Conclusion

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

 

Page 2 of 2