A.7. Start Event

A Start Event is a modeling element that indicates where a particular Process workflow starts. Every Process must have at least one Start Event. Every Start Event has no incoming and exactly one outgoing Flow. When the parent Process is instantiated and started, the Start Event is executed and the node's outgoing Flow is taken.
Multiple Start Event types are supported:
  • None Start Event
  • Signal Start Event
  • Timer Start Event
  • Conditional Start Event
  • Message Start Event
  • Compensation Start Event
All but the None Start Event, must define a certain trigger type: when a Process instance is started, the trigger needs to be fulfilled before the outgoing flow can be taken. If no Start Event can be triggered, the Process is never instantiated.

A.7.1. Start Event types

A.7.1.1. None Start Event

The None Start Event is a Start Event without a trigger condition.
A Process or Sub-Process can contain at most one None Start Event, which is triggered on Process or Sub-Process start by default and the outgoing flow is taken immediately.
When used in a Sub-Process, the execution is transferred from the parent Process into the Sub-Process and the None Start Event is triggered (the token is taken from the parent Sub-Process Activity and the None Start Event of the Sub-Process generates a token).

A.7.1.2. Message Start Event

A Process or an Event Sub-Process can contain multiple Message Start Events, which are triggered when triggered by a particular Message. The Process instance with a Message Start Event only starts its execution from this event after it has received the respective Message: The Process is instantiated and its Message Start Event is executed immediately (its outgoing Flow is taken).
As a Message can be consumed by an arbitrary number of Processes and Process elements, including no Elements, one Message can trigger multiple Message Start Events and therefore instantiate multiple Processes.
Attributes
Message
ID of the expected Message object

A.7.1.3. Timer Start Event

The Timer Start Event is a Start Event with a Timing definition (for details on Timing see Section A.5, “Timing”).
A Process can contain at multiple Timer Start Events, which is triggered on Process start by default and then the Timing is applied.
When used in a Sub-Process, the execution is transferred from the parent Process into the Sub-Process and the Timer Start Event is triggered: the token is taken from the parent Sub-Process Activity and the Timer Start Event of the Sub-Process is triggered and waits for the Timing to be fulfilled. Once the time defined by the Timing definition has been reached, the outgoing Flow is taken.
Attributes
Timer
Timing definition

A.7.1.4. Escalation Start Event

The Escalation Start Event is a Start Event that is triggered by an Escalation with a particular Escalation code (see Section A.3.2, “Escalation”).
Process can contain multiple Escalation Start Events. The Process instance with an Escalation Start Event only starts its execution from this event after it has received the respective Escalation object: The Process is instantiated and its Escalation Start Event is executed immediately (its outgoing Flow is taken).
Attributes
Escalation Code
Expected Escalation Code

A.7.1.5. Conditional Start Event

The Conditional Start Event is a Start Event with a Boolean condition definition. The Process execution with such a Start Event continues only if the condition is evaluated to true after the Start Event has been instantiated.
The execution is triggered always when the condition is evaluated to false and then to true.
A Process can contain at multiple Conditional Start Events.
Attributes
Condition
Boolean condition

A.7.1.6. Error Start Event

An Error Start Event can be used to start a Process or Sub-Process. These can contain multiple Error Start Events, which are triggered when an Error object with a particular ErrorRef is received. The Error object can be produced by an Error End Event and signalizes an incorrect Process ending. The Process instance with the Error Start Event starts execution after it has received the respective Error object so as to handle such incorrect ending: The Error Start Event is executed immediately (its outgoing Flow is taken).
Attributes
ErrorCode
code of the expected Error object

A.7.1.7. Compensation Start Event

A Compensation Start Event is used to start an Compensation Event Sub-Process when using a Sub-Process as the target Activity of a Compensation Intermediate Event.

A.7.1.8. Signal Start Event

The Signal Start Event is a Start Event that is triggered by a Signal with a particular Signal Code (see Section A.3.3, “Signals”).
Process can contain multiple Signal Start Events. The Signal Start Event only starts its execution within the Process instance after the instance has received the respective Signal: on Signal receving, the Signal Start Event is executed immediately (its outgoing Flow is taken).
Attributes
SignalCode
Expected Signal Code