Modeling with BPMN 2.0
Within Enterprise Architect, modeling with BPMN 2.0 is well supported, quick and simple. Use these notes to guide you as you create your business models.
A Business Process can be re-used by encapsulating the Pool (see Notes at the end of this topic). Once the Pool is encapsulated, a Business Process is created that is referenced by the Pool's Tagged Value processRef. At this point, elements that appeared in the Pool on the diagram will be nested in the referenced Business Process.
In Enterprise Architect, a BPMN Participant is represented by the Pool element. When you export your BPMN model to another tool, in order to comply with the BPMN 2.0 specification the Pool is interpreted as a Participant in the XML. On import to Enterprise Architect, a Participant is interpreted as a Pool.
You can also use a Call Activity to reference another Business Process. As an illustration:
- Drop an Activity element onto a diagram.
- Open the element's 'Properties' dialog.
- On the 'BPMN2.0' tab, click on the drop-down arrow in the Type field and select 'callProcessActivity'.
- In the Activity Tagged Value list, click on the button at the right of the calledActivityRef Tagged Value, and browse for the appropriate Business Process.
- Click on the browser and on the 'Properties' dialog OK button.
Now, whenever you move an element onto this Call Activity, it will be nested in the referencing Business Process.
BPMN 2.0 Diagram Orientation
On a BPMN 2.0 diagram, you can set the flow orientation to horizontal or vertical, or none (the default).
To set or clear the orientation, right-click on the diagram background and click on 'Set Diagram Flow Direction'. Then click on either:
- None (the default, no specific orientation set)
- Horizontal (diagram flows across the page, Pool and Lane elements occupy the full width of the diagram), or
- Vertical (diagram flows down the page, Pool and Lane elements occupy the full height of the diagram)
BPMN 2.0 Sequence Flow and Message Flow Rules
Rules concerning the use of Sequence Flows and Message Flows, as defined in the BPMN 2.0 Specification and described here, are implemented by the MDG Technology for BPMN 2.0.
These rules apply to Sequence Flows in relation to Events (Start, Intermediate and End), Activities (Task and Sub-Process, for Processes), Choreography Activities (Choreography Task and Sub-Choreography, for Choreographies) and Gateways:
- A Sequence Flow cannot cross a Pool boundary
- An End Event cannot be the source element for a Sequence Flow
- A Start Event cannot be the target element for a Sequence Flow
- An Intermediate Event, if edge mounted on an Activity element, cannot be the source element for a Sequence Flow; it cannot have incoming Sequence Flows
- An Intermediate Event - if edge mounted on an Activity element and having the Tagged Value eventDefinition=Compensation, cannot be either the source or target element for a Sequence Flow
- Objects within a Sub-Process cannot have a Sequence Flow relationship with objects outside the Sub-Process
- A Sequence Flow cannot connect directly to a Pool
These rules apply to Message Flows in relation to Events (Start, Intermediate and End), Activities (Task and Sub-Process, for Processes), Choreography Activities (Choreography Task and Sub-Choreography, for Choreographies) and Pools:
- Message Flows can be created from objects in one Pool to objects in another Pool; Message Flows can connect directly to another Pool
- A Message Flow can connect to Events (Start, Intermediate and End) only if they have the Tagged Value eventDefinition=Message or eventDefinition=Multiple
- A Start Event cannot be the source element for a Message Flow
- An End Event cannot be the target element for a Message Flow
Generate Call Activities
If you drag a BPMN 2.0 Global Task or Business Process element from the Project Browser onto a diagram, the system creates a Call Activity element containing Tagged Values appropriate to the type of element from which the Call Activity was generated.
It is possible to validate your BPMN Model, either directly or as part of a simulation using a BPSim Configuration. All errors and warnings will be reported in the System Output window. Either:
- Select a root Package containing a BPMN model, then select the 'Package | Model Validation | Validate BPMN Model in Current Package' option, or
- Within the BPSim Configuration, click on the to validate the model and configuration
- Creates a 'main Pool' that the Collaboration Model will reference via the mainPool Tagged Value
- Creates a Business Process that the 'main Pool' will reference via the processRef Tagged Value
- Moves everything nested in or added to the Collaboration (minus pools and diagrams) to the new Business Process
- Business Process for a Business Process diagram
- Choreography Model for a Choreography diagram
- Collaboration Model for a Collaboration or BPEL diagram
- Conversation Model for a Conversation diagram