Comparing UML Activities to BPMN Processes

The execution and simulation of BPMN models provide a number of similarities to UML Activity diagrams. The following table shows a mapping between similar concepts, and the differences between the two methods of expressing the behavior of a system.

Comparing UML and BPMN Simulation

UML Activity

BPMN Business Process

See also

The starting point is defined by an Initial Node. No method of specifying why the Activity was started is available.

 

The starting point is defined by a Start Event. This implies a specific cause for the Activity to start, although it may be unspecified.

 

Initial Node

Start Event

The basic behavior unit in an Activity is the Action element.  UML provides many different forms of Actions, although the simulation makes use of a small subset of these.

 

The basic behavior unit in an Activity is the Activity element. A number of different Task Types are available. These typically describe different methods of execution (for example Manual) as opposed to what happens.

 

UML Action

BPMN Activity

A Control Flow is used to connect the elements on an Activity diagram. A distinguishing feature is that only a single control flow may be followed from any node except for an explicit Fork Node. To restrict flow on a control flow, add a guard.

 

A Sequence Flow is used to connect the elements on a Business Process diagram. These differ from UML Activity diagrams in that all valid sequence flows are taken by default. To restrict flow on a sequence flow set the Condition Type to expression and and the Condition Expression.

 

Control Flow

Sequence Flow

A Decision node is used to explicitly model a decision being made. A Merge node, which uses the same syntax is used when the potential flows are combined back into one.

 

A Gateway node set to Exclusive is used when a single path must be selected. It is also used to combine the potential flows again. A direction may be specified as Converging or Diverging to explicitly select between the two modes.

 

Decision

Gateway

A Fork node is used to concurrently execute multiple nodes, while a Join node, using the same syntax is used to wait for all incoming flows to become available and leave with a single flow.

 

A Gateway node set to Parallel is used to  explicitly model concurrent execution of multiple nodes. It is also used to wait for all incoming flows to become available and leave with a single flow. A direction may be specified as Converging or Diverging to explicitly select between the two modes.

 

Fork/Join

Gateway

There is no allowance for concurrently executing only some outputs from a node for UML Activities. If you needed this you would need to add later control flows with the appropriate guards.

 

A Gateway node set to Inclusive is used to  explicitly model the situation where all outgoing flows with a true condition are executed concurrently.

 

Gateway

A Call Behavior Action is used when behavior needs to be further decomposed by referring to an external activity.

Activity elements are set as an CallActivity Sub-Process when behavior needs to be further decomposed by referring to an external activity.

 

UML Action

BPMN Activity

Activity elements are used when behavior needs to be further decomposed without referring to an external activity.

Activity elements are set as an Embedded Sub-Process when behavior needs to be further decomposed without referring to an external activity.

 

UML Activity

BPMN Activity