Start Events for Sub-Processes

There is only one type of Start Event for Sub-Processes in BPMN (see Figure 10.82): None.

Table 10.85 – Sub-Process Start Event Types

Trigger

Description

Marker

 

 

 

None

The None Start Event is used for all Sub-Processes, either embedded

 

 

or called (reusable). Other types of triggers are not used for a

 

 

Sub-Process, since the flow of the Process (a token) from the parent

 

 

Process is the trigger of the Sub-Process. If the Sub-Process is called

 

 

(reusable) and has multiple Start Events, some of the other Start Events

 

 

MAY have triggers, but these Start Events would not be used in the

 

 

context of a Sub-Process. When the other Start Events are triggered,

 

 

they would instantiate top-level Processes.

 

 

 

 

Start Events for Event Sub-Processes

A Start Event can also initiate an inline Event Sub-Process (see page 174). In that case, the same Event types as for boundary Events are allowed (see Table 10.86), namely: Message, Timer, Escalation, Error, Compensation,

Conditional, Signal, Multiple, and Parallel.

An Event Sub-Process MUST have a single Start Event.

Table 10.86 – Event Sub-Process Start Event Types

Trigger

Description

Marker

 

 

 

 

 

Message

If there is only one EventDefinition associated with the Start Event and

Interrupting

 

that EventDefinition is of the subclass MessageEventDefinition,

 

 

 

 

then the Event is a Message Start Event and uses an envelope marker (see

 

 

 

 

 

 

 

 

the

 

 

 

 

 

 

 

 

figures to the right).

Non-

 

For a Message Event Sub-Process that interrupts its containing

 

Process, the boundary of the Event is solid (see the upper figure to the

Interrupting

 

right).

 

 

 

 

For a Message Event Sub-Process that does not interrupt its

 

 

 

 

 

 

 

 

containing

 

 

 

 

 

 

 

 

Process, the boundary of the Event is dashed (see the lower figure on

 

 

 

 

the right).

 

 

 

 

The actual Participant from which the Message is received can be identified

 

 

 

 

by connecting the Event to a Participant using a Message Flow within the

 

 

 

 

definitional Collaboration of the Process – see Table 10.1.

 

 

 

 

 

 

 

 

Business Process Model and Notation (BPMN), v2.0.2

241

Table 10.86 – Event Sub-Process Start Event Types

Timer

If there is only one EventDefinition associated with the Start Event and

Interrupting

 

that EventDefinition is of the subclass TimerEventDefinition, then

 

 

the Event is a Timer Start Event and uses a clock marker (see the figures to

 

 

the right).

 

 

For a Timer Event Sub-Process that interrupts its containing Process,

Non-

 

the boundary of the Event is solid (see the upper figure to the right).

 

For a Timer Event Sub-Process that does not interrupt its containing

Interrupting

 

 

 

Process, the boundary of the Event is dashed (see the lower figure on

 

 

the right).

 

 

 

 

Escalation

Escalation Event Sub-Processes implement measures to expedite the

Interrupting

 

completion of a business Activity, should it not satisfy a constraint specified

 

 

on its execution (such as a time-based deadline).

 

 

The Escalation Start Event is only allowed for triggering an in-line Event

 

 

Sub-Process.

 

 

If there is only one EventDefinition associated with the Start Event and

Non-

 

that EventDefinition is of the subclass EscalationEventDefinition,

Interrupting

 

then the Event is an Escalation Start Event and uses an arrowhead marker

 

 

(see the figures to the right).

 

 

For an Escalation Event Sub-Process that interrupts its containing Process,

 

 

the boundary of the Event is solid (see the upper figure to the right).

 

 

For an Escalation Event Sub-Process that does not interrupt its containing

 

 

Process, the boundary of the Event is dashed (see the lower figure on the

 

 

right).

 

 

 

 

Error

The Error Start Event is only allowed for triggering an in-line Event Sub-

Interrupting

 

Process.

 

 

If there is only one EventDefinition associated with the Start Event and

 

 

that EventDefinition is of the subclass ErrorEventDefinition, then

 

 

the Event is an Error Start Event and uses a lightning marker (see the figures

 

 

to the right).

 

 

Given the nature of Errors, an Event Sub-Process with an Error trigger will

 

 

always interrupt its containing Process.

 

 

 

 

Compensation

The Compensation Start Event is only allowed for triggering an in-line

 

 

Compensation Event Sub-Process (see “Compensation Handler” on page

 

 

302). This type of Event is triggered when compensation occurs.

 

 

If there is only one EventDefinition associated with the Start Event and

 

 

that EventDefinition is of the subclass

 

 

CompensationEventDefinition, then the Event is a Compensation

 

 

Start Event and uses a double triangle marker (see the figure to the right).

 

 

This Event does not interrupt the Process since the Process has to be

 

 

completed before this Event can be triggered.

 

 

 

 

242

Business Process Model and Notation (BPMN), v2.0.2

Table 10.86 – Event Sub-Process Start Event Types

Conditional

If there is only one EventDefinition associated with the Start Event and

Interrupting

 

that EventDefinition is of the subclass ConditionalEventDefini-

 

 

 

 

 

tion, then the Event is a Conditional Start Event and uses an lined page

 

 

 

 

 

marker (see the figures to the right).

 

 

 

 

 

 

 

 

 

 

For a Conditional Event Sub-Process that interrupts its containing Process,

 

 

 

 

 

then the boundary of the Event is solid (see the upper figure to the right).

Non-

 

For a Conditional Event Sub-Process that does not interrupt its containing

Interrupting

 

Process, the boundary of the Event is dashed (see the lower figure on the

 

 

 

 

 

right).

 

 

 

 

Signal

If there is only one EventDefinition associated with the Start Event and

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Interrupting

 

that EventDefinition is of the subclass SignalEventDefinition, then

 

 

 

 

 

 

the Event is a Signal Start Event and uses an triangle marker (see the fig-

 

 

 

 

 

 

ures to the right).

 

 

 

 

 

 

For a Signal Event Sub-Process that interrupts its containing Process, then

 

 

 

 

 

 

the boundary of the Event is solid (see the upper figure to the right).

Non-

 

For a Signal Event Sub-Process that does not interrupt its containing

Interrupting

 

Process, the boundary of the Event is dashed (see the lower figure on the

 

 

 

 

 

 

right).

 

 

 

 

 

Multiple

A Multiple Event indicates that there are multiple ways of triggering the

Interrupting

 

Event Sub-Process. Only one of them is REQUIRED to actually start the

 

 

Event Sub-Process. There is no specific EventDefinition subclass (see

 

 

page 259) for Multiple Start Events. If the Start Event has more than one

 

 

associated EventDefinition, then the Event MUST be displayed with the

Non-

 

Multiple Event marker (a pentagon—see the figures on the right).

 

For a Multiple Event Sub-Process that interrupts its containing Process, the

Interrupting

 

boundary of the Event is solid (see the upper figure to the right).

 

 

For a Multiple Event Sub-Process that does not interrupt its containing

 

 

Process, the boundary of the Event is dashed (see the lower figure on the

 

 

right).

 

Business Process Model and Notation (BPMN), v2.0.2

243

Table 10.86 – Event Sub-Process Start Event Types

Parallel

Multiple

A Parallel Multiple Event indicates that there are multiple ways of triggering the Event Sub-Process. All of them are REQUIRED to actually start the Event Sub-Process. There is no specific EventDefinition subclass (see page 259) for Parallel Multiple Start Events. If the Start Event has more than one associated EventDefinition and the parallelMultiple attribute of the Start Event is true, then the Event MUST be displayed with the Parallel Multiple Event marker (an open plus sign—see the figures to the

right).

For a Parallel Multiple Event Sub-Process that interrupts its containing

Process, the boundary of the Event is solid (see the upper figure to the right). For a Parallel Multiple Event Sub-Process that does not interrupt its containing Process, the boundary of the Event is dashed (see the lower figure on the right).

Interrupting

Non-

Interrupting

Attributes for Start Events

For Start Events, the following additional attribute exists:

The Start Event element inherits the attributes and model associations of CatchEvent (see Table 10.82). Table 10.87 presents the additional attributes of the Start Event element:

Table 10.87 – Start Event attributes

Attribute Name

Description/Usage

isInterrupting: boolean = This attribute only applies to Start Events of Event Sub-Processes; it is ignored for true other Start Events. This attribute denotes whether the Sub-Process encompassing

the Event Sub-Process should be canceled or not, If the encompassing SubProcess is not canceled, multiple instances of the Event Sub-Process can run concurrently. This attribute cannot be applied to Error Events (where it’s always true), or Compensation Events (where it doesn’t apply).

Sequence Flow Connections

See “Sequence Flow Connections Rules” on page 40 for the entire set of objects and how they MAY be a source or target of a Sequence Flow.

A Start Event MUST NOT be a target for Sequence Flows; it MUST NOT have incoming Sequence Flows.

An exception to this is when a Start Event is used in an Expanded Sub-Process and is attached to the boundary of that Sub-Process. In this case, a Sequence Flow from the higher-level Process MAY connect to that Start Event in lieu of connecting to the actual boundary of the Sub-Process.

A Start Event MUST be a source for a Sequence Flow.

Multiple Sequence Flows MAY originate from a Start Event. For each Sequence Flow that has the Start Event as a source, a new parallel path SHALL be generated.

The conditionExpression attribute for all outgoing Sequence Flows MUST be set to None.

244

Business Process Model and Notation (BPMN), v2.0.2