BPMN Enhancements in Enterprise Architect

Webinar January 2015
In this webinar you will learn how to:
  • Enhancing the ease-of-modeling and User experience.
  • Increasing compliance with the BPMN specification.
  • Support for the XML serialization of BPMN process models (both export and import).

The Business Process Modeling Notation (BPMN™ 2.0) is the foremost language for documenting process models using a graphical representation that business stakeholders can easily understand and validate. This comprehensive notation allows these models to be captured not only with a high degree of precision, but optionally with sufficient detail to allow their conversion into machine executable processes.Frank Truyen, President of Cephas Consulting Corp, demonstrates the significant changes that have been introduced into Enterprise Architect versions 11.1 and 12.0 with regards to creating BPMN 2.0 business models.

Frank Truyen
Frank Truyen

Explore the Example BPMN 2 Model

Frank has provided his example Enterprise Architect model used in the webinar.
Example model: bpmn2-enhancements-webinar-cephas-example-model.eap Download Enterprise Architect BPMN 2 Example Model by Frank Truyen of Cephas Consulting

Questions from the Audience

Click on a question to see the answer.


 Is last year's BPMN webinar available online?

 Is the model used for the presentation available?

Yes. Frank has kindly made his BPMN model available for download from this page. Cephas Consulting also provides additional free and commercial BPMN resources that may be useful for your project.

 When will Enterprise Architect version 12 be released?

It is scheduled for released during the first quarter of 2015.

 Did this presentation use Enterprise Architect 12 RC or 11.1?

Enterprise Architect 12 RC2. (Most of the BPMN functionality shown is available in 11.1.)

 Do you know if Sparx is planning to create CMMN and DMN profiles as an extension to the BPMN profile?

There are no immediate plans to implement these profiles.

BPMN Modeling

 The new prompt to create a BusinessProcess or Collaboration element automatically when you attempt to create a new BPMN diagram is a great idea... Does it work for UML Activities too?

Sparx: Not currently. However, similar behavior certainly could be added for other specifications including UML in future.

 Why isn't the business process diagram that is created under a process linked to the process as a composite diagram?

Sparx: This limitation has now been addressed in the latest release candidate of Enterprise Architect version 12.

 Regarding partitionElementRef, isn’t it better to use instance classifiers, or is it due to BPMN compliance?

Frank: Yes, it is for compliance reasons, and to preserve the ability to properly export your models using the BPMN 2.0 xml standard. In general it is best not to mix completely different modeling notations such as UML and BPMN.

Sparx: Also, by using a tagged value, the BPMN properties are in the same place, providing a more consistent experience to users. (For example, users don't need to search for an option that isn't visible or named according to what they are looking for). We have received separate feedback about usage of traceability functions in EA when using these tagged values. This is something we are considering improving for future versions.

 Is there any approach to connect Business Process Model with Requirements Management?

Frank: The Relationship Matrix offers the easiest technique for relating process steps back up to requirements.

 How can you number processes and the activities within them?

Frank: You can use Enterprise Architect's level numbering (right-click a package in the Project Browser then choose Advanced | Turn On Level Numbering), but typically users only want the Activities to be numbered. Cephas Consulting makes available to its customers an EA extension that allows BPMN process models, including all sub-process levels, to be numbered automatically using the Alias field.

 Can you give an example of a Pool in the business world?

Frank: A Pool/Participant can represent a Partner Role or a Partner Entity – a party that your business interacts with (using Message Flows in BPMN). For example, “vendor”, “customer”, or “subsidiary” roles. Or named parties such as “Company A”, or “Company B”. In a large company, where different internal units manage their own business process models, a Pool can represent a department as well – so it is not always a party external to your organization.

 How do you reuse pools based on how you are structuring your models? I am uncomfortable with the notion of the pool being contained with the process rather than being independent of the pool. It appears as if this would make the construction of complex process architectures very difficult.

Frank: The Pool, which is a graphical swimlane, is contained within a Collaboration (not the Process), so each Collaboration will have its own set of Pools/Participants. Each Pool will only contain those process steps (from its associated Business Process) that are relevant for a given Collaboration. What is important is to tie each Pool back to Partner Roles and/or Partner Entities – the party (or parties) that are responsible for the execution of the processes, and which can be defined one time only in a “reusable catalog”. It is to reduce (and hide) the complexity that you refer to that we recommend starting your process models from templates.

 Can you create multiple Customer types (e.g. Partner Roles)?

Frank: Yes, as many as are relevant to your business.

Sparx: Also your pools can refer to multiple roles and entities (up to 6).

 Don't you have more than one Participant?

Frank: Yes. For every Collaboration you have at least 2 Participants. That is why, in the concept diagram, the multiplicity between Collaboration and Participant is 2..*.

 User Role in Enterprise Architect 10 was static and is not linked to the defined roles. Has this been improved to link the role to the ones predefined?

Sparx: Yes. The new partnerEntity and partnerRole properties of a Pool are references to 0..* elements of the appropriate type. The matching properties on the deprecated Participant element are also references.

 Could you go over how to use Call activity?

Frank: Please review the previous webinar where an example of modeling a Call Activity is demonstrated.

 In Enterprise Architect 11.1 there was an in-diagram option for lanes / matrix / kanban - do those lanes work the same way?

Frank: No, they do not. These swimlanes are for graphical convenience only and operate solely in the context of the diagram. A BPMN Pool or Lane is an actual element in the repository (you can see it in the Project Browser) which acts as a parent container for the elements that are dropped into it, thus establishing a parent/child relationship between the swimlane and its contents. That relationship can then be used for reporting purposes.

 How do I show or link a data entity that is involved in the process as part of the process diagram?

Frank: In BPMN, data entities are represented as Data Objects, as shown in the webinar. Data Objects can be linked to the Business Process itself, or to any Activity element inside it, using the Association connector. Since we are at the business level, Data Objects are abstract. However if you have a more detailed representation of that data in your repository (with the attributes and data types), perhaps as UML, database schema, or XML schema elements, you can associate these with the Data Objects either via relationships (e.g. using the Relationship Matrix), or for better compliance with the BPMN specification, via the BPMN properties : DataObject:dataObjectRef → ItemDefinition:structureRef → <external representation>

 Similar to the Roles linked to the Lanes in a Process diagram, can I link a System to a Role/Actor in an Activity diagram?

Frank: Yes. In UML you can link the Partition element to a Role/Actor by setting the Classifier of that Partition swimlane to the corresponding Role/Actor (right click the swimlane and select the “Instance Classifier” option).

 Are the BPM elements in the toolbar out-of-the-box in Enterprise Architect or must they be imported?

Frank: They are out-of-the-box and become automatically available when you create or open a BPMN 2.0 Business Process or Collaboration diagram.

 Visio was mentioned, do you prefer Visio or Enterprise Architect and why?

Frank: Microsoft Visio is very good at creating process model/flow diagrams, but it is a visualization tool only, not a repository/database like Enterprise Architect . In EA you can not only create the same diagrams, but also: associate your process steps with other elements in your repository such as requirements, systems, and applications; generate documentation (Word/HTML/PDF); search the database and run reports; reuse entire processes or sub-processes without copying and pasting; compare different versions of the process flows; etc.

BPMN Model Validation

 Does validation allow someone to build their BPMN models that are compliant with a BPMN 2.0 process engine?

Frank: The new feature shown in the webinar provides structural validation. For BPMN syntax validation, which is equally important if you want to bring your process models closer to the level of detail required for execution, Cephas Consulting makes a free syntax checker available.

 Is the validate BPMN2 function available via API?

Sparx: Not currently. We have made a feature request for this however.

BPMN Model Simulation

 Does Enterprise Architect support process simulation?

Sparx: Yes. You can learn more about process simulation for BPMN from the Online Help topic BPMN Simulation.

 Do you build your models to be executable? If so, in what capacity do you use the Enterprise Architect BPMN simulation capability?

Frank: To build executable BPMN models, use the BPEL diagram and toolbox interfaces instead of the generic Business Process and Collaboration diagram. The tool provides dedicated dialogs that allow you to capture the additional execution semantics.

BPEL and the Enterprise Architect simulation capabilities are currently independent features (i.e. a process model does not have to executable in order to use the simulation capability).


 Can I generate a report from Enterprise Architect that lists all the processes a particular role has participated in?

Sparx: Yes. You can define a custom Model Search that returns a list of all process elements that are referred to by a given PartnerRole. The list can then be generated to a document using Enterprise Architect's report generator. For each listed element you can also: Find in Project Browser, Find in Diagrams, or view Properties.

For example, if your modeling convention is to refer to roles from a Pool (using its partnerRole tag), which also refers to the process (using its processRef tag), you could define a simple SQL query to get the list of all processes referring to a given role. The following query will find all elements of stereotype BusinessProcess that are referred to by a Pool that has a partnerRole tag matching your Search Term.

SELECT process.ea_guid AS CLASSGUID, process.Object_Type AS CLASSTYPE, process.Name AS [Process Name]
FROM t_object AS pool, t_object AS process, t_objectproperties AS process_ref, t_objectproperties AS partner_ref
WHERE process.Stereotype = 'BusinessProcess' AND pool.Object_ID = partner_ref.Object_ID AND partner_ref.Property = 'partnerRole' AND partner_ref.[Value] = '<Search Term>'
AND pool.Object_ID = process_ref.Object_ID AND process_ref.Property = 'processRef' AND process_ref.[Value] = process.ea_guid

In the search field you would enter the guid of the Role you are interested in. (You can get that value via the main menu: View | Properties | Project | GUID)


 Regarding XML import/export, is NIEM 3.0 on your product road map? If so, do you have a schedule to share?

Sparx: Yes. NIEM 3.0 import/export was implemented in Enterprise Architect 12.

 I have tried import and export with Bizagi Modeler, but the diagrams were a mess, nothing like as good as your example.

Frank: Which import/export option did you use? Was it BPMN XML 2.0?

Sparx: We've worked hard to ensure both our BPMN XML 2.0 import and export comply with the standard. While we can't comment on the behavior of specific third-party tools, from what we've seen at the BPMN miwg site, a number of tools struggle to produce a good diagram when importing standard BPMN XML.

When working with BPMN XML, make sure you use Enterprise Architect version 11.1.1112 or later, as recent releases of Enterprise Architect include import and export updates for BPMN XML, which could improve interchange with other tools.