Modeling Elements

This section describes all the elements that can be used to create a BPNM flow in Primeur DATA ONE:

  • None Events, i.e. Start and End
  • Sequence Flows
  • Inclusive, Exclusive and Parallel Gateways
  • Attributes
  • Boundary events

None Events

IconNameDescription
Event StartUntyped start event is also called the None Start Event. The Start event is the most common type of event. Processes that start with such an event are created without any pre-conditions. It is common to use this event when a user starts a process through a graphical user interface.
Event EndThe untyped end event typically marks the typical end of a process.

Sequence Flows


A Sequence Flow is used to show the order of Flow Elements in a Process or a Choreography. Each Sequence Flow has only one source and only one target. The source and target MUST be from the set of the following Flow Elements: Events (Start, Intermediate, and End), Activities (Task and Sub-Process; for Processes), Choreography Activities (Choreography Task and Sub-Choreography; for Choreographies), and Gateways.
— BPMN 2.0.2 Standard, 8.4.13, Sequence Flow

There are a number of ways to connect elements in BPMN. However, by far the most common one within executable business processes is the Sequence Flow.

A sequence flow is the connector between two elements of a process. After an element is visited during process execution, all outgoing sequence flows are followed. This means that the default nature of BPMN 2.0 is to be parallel: two outgoing sequence flows create two separate, parallel paths of execution.

A sequence flow can have a condition defined. When a BPMN 2.0 activity is left empty, the default behavior is to evaluate the conditions on the outgoing sequence flow. When a condition evaluates to true, that outgoing sequence flow is selected. When multiple sequence flows are selected that way, multiple executions are generated and the process is continued in a parallel way.

The above holds for BPMN 2.0 activities (and events), but not for gateways. Gateways handle a sequence flow with conditions in specific ways, depending on the gateway type.

A condition defined on a gateway must be an expression and must always evaluate either to the boolean value true or false.

All BPMN 2.0 tasks and gateways can have a default sequence flow. This sequence flow is only selected as the outgoing sequence flow for that activity if and only if none of the other s sequence flow could be selected. Conditions on a default sequence flow are always ignored.

Gateways

Gateways are used to control how the Process flows (how Tokens flow) through Sequence Flows as they converge and diverge within a Process. If the flow does not need to be controlled, a Gateway is not needed. The term “gateway” implies that there is a gating mechanism that either allows or disallows passage through the Gateway; that is, as tokens arrive at a Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked.

— BPMN 2.0.2 Standard, 10.6, Gateways



Gateways are used to control the flow of a process. While the standard also allows branching without the use of gateways, using gateways greatly improves the understanding of a process model.

Exclusive Gateway

A diverging Exclusive Gateway (Decision) is used to create alternative paths within a Process flow. This is basically the "diversion point in the road" for a Process. For a given instance of the Process, only one of the paths can be taken.
— BPMN 2.0.2 Standard, 10.6.2, Exclusive Gateway



Exclusive gateways are one of the most common sights within a process model. They are used to model decisions within a process.

To decide which route the process follows, the conditions on the outgoing Sequence Flows are checked. The conditions are modeled as an expression and must always evaluate to a boolean value of true or false. It is important to understand that the conditions of an exclusive gateway are not modeled on the gateway itself but rather on the outgoing sequence flows.

If more than one condition evaluates to true, the path that was defined first is chosen. This should obviously never happen. If no condition evaluates to true, the process is stuck.

There is the possibility to mark a Sequence Flow as Default Flow. If you do so, the flow follows this route if no condition matches.

Inclusive Gateway

A diverging Inclusive Gateway (Inclusive Decision) can be used to create alternative but also parallel paths within a Process flow. Unlike the Exclusive Gateway, all condition Expressions are evaluated. The true evaluation of one condition Expression does not exclude the evaluation of other condition Expressions. All Sequence Flows with a true evaluation will be traversed by a token. Since each path is considered to be independent, all combinations of the paths MAY be taken, from zero to all. However, it should be designed so that at least one path is taken.
— BPMN 2.0.2 Standard, 10.6.3, Inclusive Gateway


Inclusive gateways are used to model decisions where one or more paths can be taken.

To decide which route(s) the process follows, the conditions on the outgoing Sequence Flows are checked. The condition is modeled as an expression and must always evaluate to a boolean value of true or false. It is important to understand that the conditions of an inclusive gateway are not modeled on the gateway itself but rather on the outgoing sequence flows.

Every time a condition evaluates to true or if a Sequence Flow has no condition, the process branches at that position. If no condition evaluates to true or if there is no Sequence Flow without a condition, the process is stuck.

To join inclusive branches, use another inclusive gateway. The execution only continues once all paths have been completed.

Parallel Gateway

A Parallel Gateway is used to synchronize (combine) parallel flows and to create parallel flows. A Parallel Gateway creates parallel paths without checking any conditions; each outgoing Sequence Flow receives a token upon execution of this Gateway. For incoming flows, the Parallel Gateway will wait for all incoming flows before triggering the flow through its outgoing Sequence Flows.
— BPMN 2.0.2 Standard, 10.6.4, Parallel Gateway


Parallel gateways are used to model situations where more than one path is executed in parallel. These gateways do not have any conditions since all paths are always executed. To join parallel branches, use another parallel gateway. The execution only continues once all paths have been completed.

Attributes

GroupsAttributeDescription
Multi instanceMulti instance typeDetermines if multiple instances of this activity are created. There are three choices:

  • None (default, only one instance is created).

  • MI parallel (activities are created in parallel). This must not be used.

  • MI sequential (activities are created sequentially. This is a good practice for Service Tasks).

Once a type other than None is chosen, the following options appear:

  • Collection: The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.

  • Element variable: The variable under which each element is available to the newly created instance.

  • Element index variable: The variable under which the current number of iterations is stored.

  • Completion condition: An expression which, if set to true, stops the creation of new instances.

  • Cardinality: An expression or numeric value (integer) which determines how many instances are created.

Boundary Events

IconNameDescription
Timer Intermediate Boundary EventProcess execution is delayed until a certain point in time is reached or a particular duration is over.
Error Intermediate Boundary EventCatches a named error, which is thrown by an inner scope (for example, a sub-process). This event must be attached to the boundary of an activity.