Business Process Model and Notation
Business Process Model and Notation
CREATED WITH
Table of Contents
Business Process Model and Notation (BPMN) is a standard for business process modeling that provides graphical
notation for specifying business processes in a Business Process diagram (BPD), based on traditional flowcharting
techniques. The Object Management Group (OMG) develops and maintains the BPMN specification.
BPMN represents the amalgamation of best practices within the business modeling community to define the notation and
semantics of Collaboration diagrams, Process diagrams, and Choreography diagrams. It is intended to be used directly
by the stakeholders who design, manage and realize business processes, but at the same time be precise enough to allow
BPMN diagrams to be translated into software process components.
Business Process Model and Notation has become the de-facto standard for business process diagrams. It has an
easy-to-use flowchart-like notation that is independent of any particular implementation environment.
You can access the BPMN Toolbox pages through the 'Design > Diagram > Toolbox : 'Hamburger'' ribbon option, then
select BPMN 2.0.
You can also set BPMN as the active default technology to access the Diagram Toolbox pages directly.
Please note: Toolboxes for BPMN 1.0 and 1.1 can be accessed by selecting the perspective 'Business Modeling > All
Business Modeling".
Getting Started
The Business Process Model and Notation is well supported in Enterprise Architect and you can create any of the four
diagrams that describe both the internal workings of an entity or the interaction of one entity with other entities. You can
describe business, technology or engineering work flows and interactions. Business Process diagrams are an important
technique in the Business Analyst's toolbox and are often used as part of a processes re-engineering effort.
You and your team might want to prescribe the interactions between entities using a Collaboration, Choreography or
Conversation diagrams or just define or describe the Business Processes within a single entity such as an organization,
division or department.
Enterprise Architect partitions the tool's extensive features into Perspectives, which ensures that you can focus on a
specific task and work with the tools you need without the distraction of other features. To work with the Business
Process Model and Notation (BPMN) features you first need to select this Perspective:
With the BPMN perspective selected you can add a new diagram by selecting the location in the Browser window and
choosing the Add Diagram option from the Context menu or from the Browser tool bar. You will be prompted to create
the diagram within a Business Process which you should select as this is compliant with the BPMN grammar and ensures
the diagram objects are located in a container.
You can also use some of the built-in patterns available for BPMN from the Model Patterns window to create a diagram
of any type from the wizard. Spend some time reading the description of the pattern to understand the diagram and
objects that will be inserted as part of the pattern.
If you created the diagram from a pattern a number BPMN Flow Objects will be inserted in the diagram including an
Initial Node a number of Activities connected by Sequence Flows and a Final Node. You can add any number of other
Flow objects to the diagram dragging them from the appropriate toolbox or if you have elements for reuse you can drag
them from the Browser window. Notes can be added to each of the diagram elements which can be useful when
documenting the process.
Analysts will have different opinions but it is often easier to create the Pools and Lanes after a Business Process diagram
has been laid out. You might have to move some diagram objects around to ensure they fall into the appropriate lane but
some forward planning can assist with this. You can set the height and width of the Pools and Lanes and then make them
non-selectable by using the option from the Behavior item on the diagram element context menu.
Diagram Object menu showing the choice to make an object selectable or non selectable.
This ensures you are able to move diagram objects around freely without inadvertently selecting and moving the Pools or
their Lanes. You can make them selectable again at any time if required.
Example Diagram
While there are four diagrams that make up the standard, Business Process Diagrams are the most ubiquitous and
resemble traditional flowcharts. You use them to describe or specify business, technology or engineering work flows and
their simple but expressive graphical elements are for the most part universally understood by most stakeholders. You
can keep diagrams simple and when combined with Decision Model and Notation models straight through processes can
be achieved, ensuring the diagrams are free of visual clutter. You use Business Process diagrams to describe sequences
of Activities and Tasks controlled by Gateways that act like traffic cops, controlling the flow. You can add Pools and
Lanes, commonly called swimlanes, to represent the participants who carry out the Activities or Tasks.
Diagram Types
The Business Process Model and Notation standard comprises four types of diagrams that you use to describe the
interactions between two or more business entities or to describe the Activities and Tasks that make up a discrete
processes within an entity such as an organization or one of its divisions or departments. The Business Process diagram
is the most ubiquitous of these and resembles a traditional flowchart but with richer semantics and the ability to generate
Business Process Execution Language directly from a well-formed diagram. You use these other diagrams to describe or
specify the way two or more entities (Participants) interact by exchanging messages. These diagram are instrumental in
visualizing business to business interactions and allow an organization to describe its internal processes ensuring they are
compliant with the message flows required for communication with other entities.
You can create BPMN elements and relationships on diagrams in BPMN 2.0 and BPEL formats using the BPMN 2.0
pages of the Diagram Toolbox.
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0'.
Other Click the icon on the Diagram caption bar to display the Diagram Toolbox
Enterprise Architect provides a set of pages for each of these BPMN 2.0 diagram types:
Diagram Type
Business Process - contains the constructs needed to build Business Process models.
Business Process Diagram with two gateways and a single Pool that contains three Lanes indicating three participants.
To create BPMN elements and relationships on Business Process diagrams in either BPMN 2.0 or BPEL formats, you
can use the 'BPMN 2.0 Business Process' pages of the Diagram Toolbox.
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)
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Business Process'.
Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 Business Process'
Keyboard Shortcuts
Ctrl+Shift+3 : | BPMN 2.0 | BPMN 2.0 Business Process
Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then
Item Use to
Activity Represent work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.
A BPMN Activity is initially created on a diagram with the name centered at the
top. If you drag elements onto the Activity the name can be obscured, so the system
automatically moves the name into the top-left corner out of the way. You can also
control this movement manually, by right-clicking on the element and selecting the
'Is Expanded' option to toggle the setting.
Global Task Define a task or activity performed in the top-level process, at a higher level of
execution.
Data Store Represent a mechanism for an Activity to retrieve or update stored information.
Association Link the information and Artifacts with BPMN graphic elements.
Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.
Data Association Move data between Data Objects, Data Store, Properties and Activities, Processes.
Item Use to
Association Link the information and Artifacts with BPMN graphic elements.
Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.
Data Association Move data between Data Objects, Data Store, Properties and Activities, Processes.
Notes
· The appearance and specification of many elements and connectors are defined by Tagged Values
Choreography Diagrams
You can visualize the way two or more Participants coordinate their interactions using a Choreography diagram. The
focus in this type of diagram is not on orchestrations of the work performed within these Participants, but rather on the
exchange of information (Messages) between these Participants. The standard leverages the familiarity of Business
Process Diagrams that resemble simple flowcharts but where each activity reference two or more participants. Thus
Choreographies, like Business Process Diagrams, also have ordered sequences of “activities” connected by Sequence
Flows but these activities represent one or more interactions between Participants. These interactions are sometimes
called message exchange patterns (MEPs) which are the atomic units (“Activity”) of a Choreography. Message
exchanges between Participants can be more complex than simple request-response interactions into multi-cast,
contingent requests, competing receives, streaming, and other service interaction patterns. As a partner you can visualize
and plan your Business Processes for inter-operation with other business entities without introducing conflicts or having
to wait for definitions of how another participant's would respond to a message.
A Choreography diagram with three Activities (Choreographies) involving the interaction between two participants
To create BPMN elements and relationships on Choreography diagrams in either BPMN 2.0 or BPEL formats, you can
use the BPMN 2.0 Choreography pages of the Diagram Toolbox.
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Choreography'.
Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 Choreography'
Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Choreography' in the 'Find Toolbox Item'
dialog
Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then
> Specify 'BPMN 2.0 Choreography' in the 'Find Toolbox Item' dialog.
Item Use to
Item Use to
Association Link the information and Artifacts with BPMN graphic elements.
Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.
Notes
· The appearance and specification of some elements and connectors are defined by Tagged Values
Collaboration Diagrams
You can describe the messages that flow between two or more participants using Pools, where each pool in a
Collaboration diagram represents a participant . Messages that are exchanged as part of the interaction are visualized as
Message Flows between the pools. In a White Box collaboration the messages flows start with flow objects in one pool
and target flow objects in another pool. In Black Box collaborations the message flows target the edge of the pool and
the flow objects in the second pool are not represented.
Black Box Collaboration diagram, showing Message Flows that originate from flow objects and target the boundary of
the other participant's Pool.
The goal is to describe the interactions between the participants (organizations or people) showing the detailed flow
objects in one participant and the messages that flow between them. In black box collaborations the diagram does not
describe the details of how the other participant processes the messages, whereas in White Box the details of the other
participants' processes are described and the messages cross the pool boundary.
White Box Collaboration diagram, showing Message Flows that originate from flow objects and target objects in the
other participant's Pool.
To create BPMN elements and relationships on Collaboration diagrams in either BPMN 2.0 or BPEL formats, you can
use the 'BPMN 2.0 Collaboration' pages of the Diagram Toolbox.
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Collaboration'.
Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Collaboration' in the
'Find Toolbox Item' dialog
Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Collaboration' in the 'Find Toolbox Item'
dialog
Other Click the icon on the diagram caption bar to display the Diagram Toolbox, then
> Specify 'BPMN 2.0 Collaboration' in the 'Find Toolbox Item' dialog
Item Use to
Conversation Extend a Class element to group a set of Message Flows based on a certain concept.
Activity Represents work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.
Data Store Represent a mechanism for an Activity to retrieve or update stored information.
Item Use to
Message Flow Extend a Control Flow relationship to define the flow of communications in the
process.
Sequence Flow Extend a Control Flow relationship to define the flow of activity.
Association Link the information and artifacts with BPMN graphic elements.
Notes
· The appearance and specification of some elements and connectors are defined by Tagged Values
Conversation Diagrams
You can visualize a high level representation of groups of messages (conversations) transmitted between two or more
participants in a domain using a Conversation diagram. The goal is to present a summary of the messages that flow
between a group of participants in a domain. You group sets of messages into conversations thus hiding the complexity
of the choreography of the underlying messages. The conversations (hexagonal elements) are connected to the
participants that engage in the conversation. This creates an overview of how the participants interact together. Just as in
human speech it is possible simply to say that two (or more) parties engaged in a conversation about a topic without
going into the detail of what was said.
Conversation diagram with four Participants showing an overview of their interactions (conversations).
To create BPMN elements and relationships on Conversation diagrams in either BPMN 2.0 or BPEL formats, you can
use the BPMN 2.0 Conversation pages of the Diagram Toolbox.
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 Business Process'.
Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Conversation' in the
'Find Toolbox Item' dialog
Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Conversation' in the 'Find Toolbox Item'
dialog
Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then
> Specify 'BPMN 2.0 Conversation' in the 'Find Toolbox Item' dialog
Item Use to
Conversation Model Extend a composite Activity that defines the logical relationship of Message
exchanges between two or more business entities.
Conversation Extend a Class element to group a set of Message Flows together based on a certain
concept.
Activity Represents work that is performed within a Business Process. An Activity can be
modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN
2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
As a sub-process, the Activity can be made a composite element that links to a child
diagram containing the flow of other BPMN elements.
Item Use to
Sequence Flow Extend a Control Flow relationship to define the flow of activity.
Association Link the information and artifacts with BPMN graphic elements.
Notes
· The appearance and specification of some elements and connectors are defined by Tagged Values
Common Types
When you are working on a BPMN 2.0 diagram, you can also create a range of elements and connectors that are common
to all of the BPMN 2.0 diagram types, by dragging them from the BPMN 2.0 Types page of the Diagram Toolbox. The
'BPMN 2.0 Types' Toolbox page is common to all of the BPMN 2.0 Toolboxes.
Access
Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox
Item' dialog and specify 'BPMN 2.0 <diagram type>'.
Ribbon
Design > Diagram > Toolbox : to display the 'Find Toolbox Item' dialog and
specify 'BPMN 2.0 <any diagram type>'
Keyboard Shortcuts
Ctrl+Shift+3 : | BPMN 2.0 | BPMN 2.0 <any diagram type>
Other Click the icon on the Diagram caption bar to display the Diagram Toolbox, then
These items define the non-graphic elements or properties (Tagged Values) of the Core BPMN 2.0 graphic elements.
· Assignment
· CorrelationKey
· CorrelationProperty
· CorrelationPropertyBinding
· CorrelationPropertyRetrievalExpression
· CorrelationSubscription
· Category
· CategoryValue
· ComplexBehaviorDefinition
· ItemDefinition
· Error
· Escalation
· Signal
· IOSpecification
· InputSet
· OutputSet
· InputOutputBinding
· Interface
· Endpoint
· Operation
· Participant (use Pool element)
· Resource
· ResourceRole
· ResourceParameter
· Property
· ConversationAssociation
· PartnerEntity
· PartnerRole
4. 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.
5. Click on the browser OK button 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.
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 BPMN 2.0 UML profile.
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
If you drag a BPMN 2.0 Global Task or Business Process element from the Browser window 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.
· If a Pool element has the partnerEntity and partnerRole Tagged Values assigned, and an empty 'Name' field, the
element will display the Tagged Values
· If a Lane element has the partitionElementRef Tagged Value assigned, and an empty 'Name' field, the element will
display the Tagged Value
· When you create Lanes in a Pool, the first Lane will fill half the Pool and subsequent Lanes will fill the remaining
space
· In the Browser window, you can right-click on the diagram, Pool or Collaboration model and select 'Encapsulate
Process', which will move all the object's nested elements to a Business Process; elements placed inside the
encapsulated element (during diagramming) will be moved to the Business Process
· Encapsulating the diagram and the Collaboration/Choreography model give the same result; the action:
- 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
· When you create a BPMN 2.0 diagram, the system prompts you to select whether or not to create an encapsulating
element for the diagram; that is, a:
- 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
· When a Pool is dropped onto a BPMN diagram that is directly under a Package (and only in this circumstance), the
system prompts you to select whether or not to create a Collaboration Model for the Pool (rather than always
creating the Collaboration Model)
· The two prompts each have the checkbox 'Do not show this message again' that, if checked, blocks the prompt from
displaying and retains the current setting as the automatic action; you can reset the checkbox to unselected using the
Reset BPMN Prompts button on the 'Diagram > Behavior' page of the 'Preferences' dialog
· Encapsulating supports the re-use of processes, in that you can create links to Pools in other Collaboration models
for diagramming, and elements moved into them will be placed in the same Business Process (since the Pool
represents a Process)
Process Simulation
Business Process Simulations provide a way of bringing your Business Process diagrams to life. Viewing Business
Process diagrams is a convenient way to visualize how a Business Process works, and by manually following the
Sequence flows between Activities and Tasks and the intervening Gateways, the flow can be understood in the context of
different scenarios. Simulations, however, can bring your diagrams to life and allow detailed analysis and what-if
analysis to determine through-puts, bottle-necks, processing time and much more. You can create walk-throughs with
multi-disciplinary teams and analyze and visualize process outcomes. There are two mechanism for Simulation
available in the tool:
· BPMN Standard Process Simulation
· BPSIM Process Simulation
This type of Simulation requires no set up and can be run for any well-formed Business Process diagram, including when
sub-Activities have been defined. The Simulation will do a depth-first traversal, following the Sequence Flows through
the depth of the process hierarchy. It is useful as a presentation tool in workshops and can be used for process
walk-throughs.
Using this Simulation tool you can create full Simulation of your models and perform sophisticated analysis of how the
processes will perform in practice. The tool does require set-up by a technician before it can be run, but this is a straight
forward task and within a short time you can be performing what-if analysis, measuring through-puts and doing Monte
Carlo analysis.
BPMN Simulation
BPMN simulation is a method for visualizing and validating the behavior of your BPMN Business Process diagrams.
With visual indications of all currently executing activities and the possible activities that can be executed next, you will
easily be able to identify and resolve potential issues with the process you have modeled.
Simulating BPMN models is similar to simulating standard UML Behavioral models, except that BPMN:
· Uses some different element types (such as Gateway instead of Decision) and
· Operates on scripting placed, generally, in the appropriate 'Tagged Value' field associated with the connectors and
elements, instead of in the 'Properties' fields (and, if you prefer, rather than in the 'Execution Analyzer Build Scripts'
dialog); the scripting is written in JavaScript
Activity Detail
Create a BPMN Simulation When you create a BPMN model suitable for simulation, you take into
Model consideration how you represent the start point, the flow and the conditions to be
tested.
Compare UML Activities The simulation of BPMN Business Process models has a number of differences to
to BPMN Processes the simulation of UML Activity diagrams.
Notes
· BPMN simulation is available in the Unified and Ultimate Editions of Enterprise Architect
Step Action
1 Create a Business Process or BPEL diagram from the BPMN 2.0 technology. If you create a BPEL
diagram Enterprise Architect displays specialized dialogs to streamline the creation of compliant models.
2 We recommend that you create a Start Event to clearly show where your simulation starts. You have
several choices for the Event Type; the choice does not influence the simulation of your model. If no Start
Events are defined, the simulation will start from an Activity that has no incoming Sequence Flows.
3 Add all of the Activities that are involved in the Process being modeled. You have several choices for the
Task Type; the choice does not influence the simulation of your model. The behavior of Activities can be
further decomposed by specifying an Activity Type of Sub-Process and selecting Embedded or
CallActivity. Standard Loops are also supported.
4 Add Sequence Flows between your activities. In the 'BPEL properties' dialog you can enter the condition
that must be satisfied (True) before the Sequence Flow will be followed. You can also set the
conditionType to 'Default' to ensure that this flow will be taken if all other branches fail the condition
specified.
If you are not working with a BPEL diagram, you use the conditionExpression and conditionType Tagged
Values.
5 Add End Events for any conditions that will cause the process or active execution path to end. You have
several choices for the Event Type; of these only the Terminate type will influence the execution. In
simulations with multiple active nodes, it causes the entire process to terminate instead of just the thread
that reaches that node.
Notes
· To include Activities that are in Packages external to the Package being simulated, either draw a:
- Package Import connector from the Package containing the diagram
being simulated to each external Package, or
- Dependency connector from the Package containing the diagram
being simulated to each Activity in the external Packages
Access
Display the 'Tags' tab of the Properties window, using one of the methods outlined here.
Ribbon Explore > Portals > Windows > Properties > Properties > Tags
Initialize Variables
sim.loan=true; sim.status="undefined';
Define Conditions
1. On the diagram, click on a Sequence Flow connector that issues from a Gateway element.
2. In the 'Tags' tab of the Properties window, click on the drop-down arrow of the conditionType 'Value' field, and
select 'Expression'.
3. In the conditionExpression 'Value' field (<memo>*) click on the button to display the Tagged Value Note
window. Type in the appropriate JavaScript code, such as:
sim.status=="Hold"
4. Click on the OK button. The statement text displays as a label of the connector.
1. On the diagram, click on the Activity element that represents where the decision is made.
2. In the 'Tags' tab of the Properties window, click on the drop-down arrow of the 'taskType value' field, and select
'Script'.
3. In the 'script value' field, type in the appropriate JavaScript code, such as:
dialog.Screen1.Show=True;
(This statement displays the dialog Screen1. You can temporarily hide the dialog by changing 'Show' to False.)
Install BPSim
Whilst BPSim is integrated with the Unified and Ultimate editions of Enterprise Architect, it is separate from the
Corporate edition and - after purchase - has to be installed on your system.
For all three editions, you must ensure that the right versions of Java Runtime Environment (JRE) and Java Development
Kit (JDK) are also installed on your system.
The Configure BPSim window helps you to define several categories of Simulation parameter, each category focusing on
one aspect of the Simulation Configuration. For example, you would define:
· ScenarioParameters, which define how the Simulation itself should proceed
· Control Parameters, which examine how activity flows through the business process, moderated by the likelihood of
a sequence of events and the priorities of certain events
· Time (Temporal) Parameters, which examine how the duration of one or more phases in the processing of an
Activity influences the business process
· Resource Parameters, which examine the involvement of types and roles of workers and other resources, their
required numbers, their costs and their availability
You can also maintain multiple versions of a configuration (as separate BPSim Artifacts) and easily compare the
differences between versions to see how each configuration will vary the flow of the proposed Simulation or process
execution. You might, for example, establish a baseline configuration and then create multiple 'what-if?' configurations
that vary one or more parameters. Once you have run these configurations through a Simulation Engine, you can
examine each result and decide on the relative merits of each configuration. One useful principle to apply here is the
simple inheritance of common, unchanged data in one configuration by another configuration that contains only the data
being varied - you can therefore run the simulation on a current set of variables, which draws on the standard data
configuration at the same time.
Users can combine the BPSim and Charting facilities to quickly vary, simulate and compare aspects of a Business
Process model, and show the differences between the Simulations in one of the many Chart formats.
If you are working across multiple projects, you can export and import the BPSim configurations between them. The
configuration automatically carries with it the BPMN 2.0 model on which it is based.
The Enterprise Architect Business Process Simulation configuration tool is based on the BPSim Framework developed
by the Workflow Management Coalition (WfMC).
Notes
· If you click on a business process element or connector in a diagram or in the Browser window, it is highlighted and
selected in the Configure BPSim window
· The Business Process that you simulate can contain elements from more than one Package; to include the external
elements in the simulation, you must create a Package diagram containing the 'parent' Package and either the
'external' Packages containing the external elements, or the external elements themselves; create a:
- Package Import connector from the parent Package to each external Package, or
- Dependency connector from the parent Package to each external element
Model Validation
It is possible to validate your BPMN Model directly. To do this, select the root Package containing the BPMN model,
then select the 'Design > Package > Manage > Validate > Validate Current Package' ribbon option. All errors and
warnings will be reported in the System Output window.
You can also validate your BPMN model through a BPSim Configuration Artifact as part of BPMN Simulation, as
documented in the BPSim Business Simulation and The BPSim User Interface Components Help topics.
Access
For Serialization:
Select a Package in the Browser window, then use one of the methods outlined here, to open the 'Publish Model Package'
dialog.
Ribbon Publish > Model Exchange > Export > BPMN 2.0 XML : Export
Serialize a Model
Step Action
3 Click on the Export button to initiate the BPMN 2.0 XML serialization.
Access
For Import:
Select a Package in the Browser window, into which to import the XML file. Then use the method outlined here to open
the 'Import Package from BPMN 2.0' dialog.
Ribbon Publish > Model Exchange > Import > BPMN 2.0
Step Action
1 In the 'Import Package from BPMN 2.0' dialog, specify the file path name, or click on the file browser
icon and choose a file.
2 Click on the Import button to import the file into the Package.
Notes
Enterprise Architect supports generating BPEL from executable processes in the Unified and Ultimate Editions.
Although there is no standard graphical notation for WS-BPEL, Enterprise Architect uses the BPMN profile as a
graphical front-end to capture BPEL Process descriptions. Through the BPMN Profile, Enterprise Architect helps you to
develop BPEL diagrams quickly and simply. While BPMN provides a graphical notation for visualizing business
process, BPEL provides a way for visualizing this graphical business process in XML.
Enterprise Architect supports generating:
· BPEL 2.0 from models created using constructs in BPMN 2.0 Profile
Notes
Map Constructs
Step Action
3 Model the BPEL 2.0 Process using the constructs on the 'BPMN 2.0 - Business Process' Toolbox pages.
BPMN 2.0 - Business Process page:
· BPEL
· Activity
· Data Object
· Start Event
· Intermediate Event
· Event
· Gateway
· Pool
BPMN 2.0 - Business Process Connectors page:
· Sequence Flow
· Association
· Message Flow
BPMN 2.0 Types page:
· Assignment
· Error
· Interface
· Operation
· Property
4 Create Web Service Operations for the BPEL Process and other related Pools, if required.
Notes
· Generating BPEL 2.0 from a BPMN 2.0 model is supported in the Unified and Ultimate Editions of Enterprise
Architect
· Enable the BPMN 2.0 Technology in the 'MDG Technologies' dialog ('Specialize > Technologies > Manage
Technology')
· The Enterprise Architect Example file (EAExample.EAP) has a sample BPMN 2.0 model from which BPEL 2.0 can
be generated
· If you have installed Enterprise Architect at the default location, open this file: C:\Program Files\Sparx
Systems\EA\EAExample.EAP
· The BPMN 2.0 model Package is in: Example Model > Analysis and Business Modeling > BPEL Example > BPEL
2.0 Model
Modeling Restrictions
· Every BPEL Process and Sub-Process should start with a Start Event and end with an End Event
· Boundary Start and End Events are not supported
· Sequence Flow Looping is not supported in both Normal and Exception Paths
· All Sequence Flows should flow downstream and not upstream
· Sub-Process cannot be a Loop node and have boundary Intermediate Events
· Event Sub-Process cannot act as a Loop Node
· Assignments are not supported on:
- Start Events on Event Sub-Processes
- End Events
- Sub-Processes
- Boundary Intermediate Events
- Gateways
- Tasks and Intermediate Events that immediately follow an XOR Event Gateway
· Exception Path has to merge back into the Normal Path
· An exception to this rule is boundary Compensation Intermediate Event, which should have a BPMN 2.0
Association to a Compensation Activity (that has no incoming or outgoing Sequence Flows)
· Multiple Exception Paths from an Activity must join at the same location in the Normal Path
· An Exception Path should not cross another Exception Path
· Activities in an Exception Path cannot have boundary Intermediate Events
· Pools are treated as black boxes (that is, they do not expose any details) and hence they cannot contain any child
elements or have any incoming/outgoing Sequence Flow connectors
Access
Context Menu 'Project' tab of the Browser window | Right-click on Package | Add a Model using
Wizard
Other
Browser window header bar : | New Model from Pattern
Create a BPEL 2.0 Package structure as a starting point for developing a BPEL
Process
Step Action
2 Click on the 'New Model from Pattern' menu option in the Browser window header.
5 Click on the OK button to create the sample BPEL 2.0 Package structure.
The BPEL Process LoanApproval_Process acts as container for the BPEL diagram and elements. The
SupportingElements Package contains supporting components such as Assignments and Web Service Operations.
BPEL Properties
Options
Field/Button Action
Query Language Specify the language used in the BPEL Process for the selection of nodes in
Assignments. Defaults to 'XPath 1.0'.
Start Event
A BPMN 2.0 Start Event indicates where a particular Process begins. Every Process in Enterprise Architect must begin
with a Start Event.
BPEL Properties
Options
Field/Button Action
Details Tab Depending on the selected Event Type, the 'Details' tab changes as shown:
· Message Event Type
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s)
in the selected Pool Package
· Timer Event Type
- Time Cycle - Specify the value for the time duration
- Time Date - Specify the value for the time date
· Error Event Type
- Error - Select an Error element
Notes
· Either set 'Time Cycle' or 'Time Date for Timer Event Type' but not both, as they are mutually exclusive fields
· The 'Assignments' tab is not available on Start Events that are used to start an Event Sub-Process
· Compensation, Error and Timer event types are valid only on an Event Sub-Process
· Conditional, Escalation, Multiple, Parallel Multiple and Signal event types cannot be mapped to BPEL 2.0
Intermediate Event
A BPMN 2.0 Intermediate Event indicates where an event occurs somewhere between the start and end of a Process.
BPEL Properties
Options
Field/Button Action
Event Type Select the type for the Intermediate Event, namely:
· Cancel
· Compensation
· Conditional
· Error
· Escalation
· Link
· Message
· Multiple
· None
· Parallel Multiple
· Signal
· Timer
Details Tab Depending on the selected Event Type, the 'Details' tab changes:
· Message Event Type
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s) in
the selected Pool Package
· Link Event Type
- Link Event - Select a Link Event element (to act as a target for
this Link Event) from the list of Link Event elements under the
current Process or Sub-Process
· Timer Event Type
- Time Cycle - Specify the value for the time duration
- Time (Date)Date - Specify the value for the time date
· Compensation Event Type
- Activity - Select an Activity from the list of Activity elements under
the current Process or Sub-Process
· Error Event Type
Notes
· Cancel, Conditional, Escalation, Multiple, None, Parallel Multiple and Signal event type cannot be mapped to BPEL
2.0
· The 'Assignments' tab is not available on Intermediate Events that are attached to the boundary of an Activity
· Either set 'Time Cycle' or 'Time Date for Timer Trigger Type' but not both as they are mutually exclusive fields
· The Error event type is valid only on an Intermediate Event attached to the boundary of an Activity
· The Compensation event type is valid only on an Event Sub-Process or when attached to the boundary of an Activity
· The Link Intermediate Event can be used either as a GOTO or an off-page connector; therefore, this event can have
either incoming or outgoing Sequence Flows - but not both
Activity
A BPMN 2.0 Activity represents work that is performed within a Process. An Activity can be modeled as a:
· Sub-Process - a compound Activity that is defined as a flow of other BPMN 2.0 elements or
· Task - an atomic Activity that cannot be broken down into a smaller unit
Activities - both Tasks and Sub-Processes - can also, optionally, act as Looping constructs. The OMG BPMN 2.0
Specification defines two types of Looping construct:
· Standard Loop (while or until)
· Multi-Instance Loop (for each)
BPEL Properties
Options
Option Action
Task Type / SubProcess Depending on the value selected in the 'Type' field, the 'Task Type / SubProcess
Type Type' field has these values:
· Task Type:
- Abstract
- Business Rule
- Manual
- Receive
- Script
- Send
- Service
- User
· SubProcess Type:
- Ad-Hoc
- Call Activity
- Compensation
- Embedded
- Event
- Transaction
Details Tab Depending on the selected Task Type, the 'Details' tab changes:
Receive / Send / Service Task Type
· Pool Package - Select the Package that represents one of the involved
Participants
· Operation - Select an Operation from the list of operation(s) in the selected
Pool Package
Loop Details (Optional) Activities can be repeated sequentially, in a looped circuit. Specify the
Activity looping details in this tab.
· Loop Type - Select 'Standard' for creating a 'while' or 'until' loop, or
'MultiInstance' for creating a 'for each' loop
· Evaluate condition at the beginning of loop - Check this option to create a
'while' Standard loop; defaults to unselected for an 'until' loop
· Loop Condition - Enter a Boolean condition for a Standard loop or a numeric
condition for a MultiInstance loop
· Loop Maximum - (Optional) Specify the maximum value for the loop
evaluation for a Standard loop
· Loop Ordering - For a MultiInstanceLoop Type select 'Parallel' for generating
instances in parallel, or 'Sequential for generating instances in sequence
Cancel Click on this button to discard the values entered in the dialog.
Notes
Gateway
A BPMN 2.0 Gateway controls the way in which Sequence Flows converge and diverge within a Process. They provide
a gating mechanism that either allows or blocks a Sequence Flow.
BPEL Properties
Options
Field/Button Action
Details Tab Depending on the selected Gateway, the 'Details' tab changes as shown:
· Event Type - Set to 'Exclusive' to represent an Exclusive Event Based Gateway
Notes
· The target of the outgoing Sequence Flows of this Event Exclusive Gateway must be either a:
- Receive Task or a
- Message or Timer Intermediate Event
· If a Message Task is one of the targets of the outgoing Sequence Flow of an Event Exclusive Gateway, then a
Message Intermediate Event cannot be the target of the other outgoing Sequence Flows of this Event Exclusive
Gateway
End Event
A BPMN 2.0 End Event indicates where a particular Process ends. Every Process in Enterprise Architect must end with
an End Event.
Options
Field/Button Action
Event Type Select the type for the End Event, namely:
· Cancel
· Compensation
· Error
· Escalation
· Message
· Multiple
· None
· Signal
· Terminate
Details Tab Depending on the selected Event Type, the 'Details' tab changes:
· Message Event Type:
- Pool Package - Select the Package that represents one of the
involved Participants
- Operation - Select an Operation from the list of operation(s)
in the selected Pool Package
· Compensation Event Type:
- Activity - Select an Activity from the list of Activity elements
under the current Process or Sub-Process
· Error Event Type
- Error - Select an Error element
Notes
Data Object
A BPMN 2.0 Data Object is mapped to a BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process, as
does a Property. A Data Object cannot have an incoming or outgoing Sequence Flow or Message Flow.
BPEL Properties
Options
Field/Button Action
Type Either:
· Select an XML Schema basic type from the drop-down list, or
Property
A BPMN 2.0 Property is mapped to a BPEL 2.0 Variable and occurs in the context of a Process or Sub-Process, as does a
Data Object.
However, unlike a Data Object, a Property is not displayed on a BPEL diagram. Enterprise Architect supports Properties
on BPMN 2.0 BPEL and BPMN 2.0 Activity elements.
Access
Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Types' in the 'Find
Toolbox Item' dialog
Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Types' in the 'Find Toolbox Item' dialog
Other You can display or hide the Diagram Toolbox by clicking on the or icons at
the left-hand end of the Caption Bar at the top of the Diagram View.
BPEL Properties
Options
Field/Button Action
Type Either:
· Select an XML Schema basic type from the drop-down list or
Sequence Flow
A BPMN 2.0 Sequence Flow connector shows the order in which the activities (Tasks and Events) are performed in a
BPEL Process.
Field/Button Action
Condition Type Click on the drop-down arrow and select the type of the condition on the Sequence
Flow, namely:
· None
· Default
· Expression
Expression This field is enabled when the 'Condition Type' is set to 'Expression'.
Type in a Boolean expression to act as a gating condition.
Ordering This field is enabled when the 'Condition Type' is set to 'Expression'.
Type in a numerical value that determines the order in which the condition set in
the 'Expression' field is to be evaluated.
Cancel Click on this button to discard the values entered in the dialog.
Pool
A BPMN 2.0 Pool represents a Participant in a Process and does not map to any specific BPEL 2.0 element. Enterprise
Architect uses Pools to represent external Participants, with which the BPEL Process communicates. These are 'black
box' pools; that is, they are abstract and do not expose any details (they do not have any BPMN 2.0 elements inside
them).
BPEL Properties
Options
Field/Button Action
Fill Opacity
For a given Pool in a diagram, you can make the element strongly visible or less obvious, depending on how much you
want to emphasize its significance, temporarily or for a longer period. You can apply these nuances in the display of the
element by changing the opacity of the element fill.
Before setting the opacity, check that the element has a fill color.
You set the opacity using an icon from either of these two pop-up element toolbars:
· Right-click on the Pool element and look above the context menu:
Notes
Assignment
A BPMN 2.0 Assignment element enables data to be copied between messages and variables within a BPEL Process. An
Assignment element maps to a BPEL 2.0 assign activity and copies the specified value from the source to the target.
In Enterprise Architect, Assignment elements should be created in the Assignments Package in SupportingElements. If
they are created elsewhere, they cannot be enacted correctly.
Access
Ribbon
Design > Diagram > Toolbox : > Specify 'BPMN 2.0 Types' in the 'Find
Toolbox Item' dialog
Keyboard Shortcuts
Ctrl+Shift+3 : > Specify 'BPMN 2.0 Types' in the 'Find Toolbox Item' dialog
Other You can display or hide the Diagram Toolbox by clicking on the or icons at
the left-hand end of the Caption Bar at the top of the Diagram View.
BPEL Properties
Options
Field/Button Action
Type Depending on the value selected in this field, further details are required.
Message Select a BPMN 2.0 Message in the Package representing the BPEL Process / Pool
under the SupportingElements Package.
Variable Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL
Process.
Message Select a BPMN 2.0 Message in the Package representing the BPEL Process / Pool
under the SupportingElements Package.
Variable Select a BPMN 2.0 Data Object or BPMN 2.0 Property created under the BPEL
Process.
Notes
Access
Options
Field/Button Action
Operation Specify whether to create a new Web Service Operation or create one from an
existing WSDL created / imported into Enterprise Architect (using the 'Import
WSDL' dialog) by selecting either:
· Create New, or
· Create from existing WSDL PortType Operation
Partnership Details The interaction between the Web Service and the BPEL Process is modeled as a
BPEL partnerLink. For this interaction, provide:
· Name - Name of the BPEL partnerLink
· Role - In the BPEL partnerLink, the name of either:
- myRole (if this operation belongs to the BPEL Process Web
Service) or
- partnerRole (if this operation belongs to the Web Service of
a Pool)
selected PortType
· Properties - Click on the button to enter the WSDL 1.1 Message Part
Name and XSD Type
When 'Create from existing WSDL Port Type Operation' is selected in the
'Operation' field:
· The fields in this tab are pre-filled with the details of the input WSDL 1.1
Message (of the WSDL 1.1 PortType Operation selected in the 'Operation' field
in the 'Web Service' tab)
· Properties - Click on the button to enter the WSDL 1.1 Message Part
Name and XSD Type
When 'Create from existing WSDL Port Type Operation' is selected in the
'Operation' field:
· The fields in this tab are pre-filled with the details of the output WSDL 1.1
Message (of the WSDL 1.1 PortType Operation selected in the 'Operation' field
in the 'Web Service' tab)
OK Create a Web Service Operation based on the values entered in the dialog.
The operation is created in a Package that has the same name as the BPEL Process /
Pool from which this dialog is invoked, under the SupportingElements Package.
Cancel Discard the values entered in the dialog and abort creating the Web Service
Operation.
Notes
Access
Options
Field/Button Action
File Name Specify the path where the BPEL 2.0 file is to be generated.
Namespace Details Double-click on an entry (if any) in this field to open the 'Namespace Details'
dialog and add / edit the namespace details.
The entry DefaultPool represents the current BPEL Process.
Notes
· Double-click on a validation error entry in the 'BPEL Progress' tab of the System Output window to go to the source
of the error in the Browser window
Example
This VB script calls the Migrate() function to migrate the Package or element to BPMN 2.0:
Notes
· Please backup your project before you run the BPMN 2.0 Migrator
· Normalization occurs on these tags:
- BPMN1.1::Activity::InMessageRef
- BPMN1.1::Activity::OutMessageRef
- BPMN1.1::Activity::IORules
- BPMN1.1::Activity::InputSets
- BPMN1.1::Activity::OutputSets
- BPMN1.1::Activity::ComplexMI_FlowCondition
- BPMN1.1::Activity::Performers
- BPMN1.1::BusinessProcess::InputSets
- BPMN1.1::BusinessProcess::OutputSets
- BPMN1.1::BusinessProcess::Performers
- BPMN1.1::EndEvent::ErrorCode
- BPMN1.1::IntermediateEvent::ErrorCode
More Information
See these further topics for additional information:
· Composite Elements
· Getting Started
· Diagram Types
· Exchanging BPMN Models
· Migrating from Previous Versions
· Business Process Execution Language (BPEL)
· Add New Diagrams
· Manage MDG Technologies
· Diagram Behavior Options
· Rules Reference
· BPSim Business Simulations