For start events, the Event type attribute type may have only one of the following values: Message, Timer, Rule, Link, or Multiple.
For end events, the Event type attribute type may have only one of the following values: Message, Exception, Cancel, Compensation, Rule, Link, Multiple, or Terminate.
For intermediate events, the Event type attribute type may have only one of the following values: Message, Timer, Exception, Cancel, Compensation, Rule, Link, and Multiple.
Depending on the event type set, additional information must be specified in appropriate attributes.
A start event may have multiple outgoing sequence flow connections. No value must be set for the Condition attribute of these connections.
Intermediate events that indicate an exception or a compensation should be placed at the border of the function.
If an intermediate event is placed at the border of a function, a value other than Link must be specified.
The Multiple, Rule, and Cancel values must not be set for intermediate events that are located within a normal sequence flow of a process.
The value Cancel must not be set if
the intermediate event is placed at the border of a function and the Transaction attribute of the function is not enabled, or
the event is not part of a process that describes a transaction.
If an intermediate event is placed at the border of a function, it must not be the target object of a sequence flow connection.
If an intermediate event is located within the normal sequence flow of a process (that is, it is not placed at the border of a function), it may have exactly one incoming sequence flow connection. For the Event type attribute of the event, it is possible to specify no value or one of the following values: Message, Timer, Exception, Link, Compensation.
The value Link may be set for intermediate events in a normal sequence flow only if the source object is a gateway whose Gateway type attribute has the value XOR (event-based).
Each intermediate event must have exactly one outgoing sequence flow connection.
An intermediate event whose Event type attribute has the value Message may have an incoming message flow (incoming connection of the is received by type).
An intermediate event must not have an outgoing message flow (outgoing connection of the sends type).