Automatically Adapting Events
Depending on the incoming and outgoing flows, assignments and other factors, it is possible to automatically customize event types. Set the Innovator determines Type property for event nodes for this.
Context Dependency of the Event Type
The event type has a complex context dependency. It is a good idea to set the Innovator determines Type property for event nodes so that the type can be automatically adapted.
The following event types exist:
Start event
Intermediate catch event
Intermediate throw event
Boundary event
End event
The following factors determine whether the event type is permissible:
Number of incoming and outgoing sequence flows
Number of incoming and outgoing message flows
Data input or output assignment
Number and type of event definitions assigned
Assignment of an event to an activity
is interrupting event property
is parallel multiple event property
Is Triggered by Event subprocess property
subprocess type subprocess property with the transaction value
Dependency of Event Type on Incoming and Outgoing Edges
The type ...
Start event is permissible if
The event is completely isolated (newly-created),
The event does not have an activity assignment,
No message flows are going out of the event and
No sequence flows are coming into the event
End event is permissible if
The event is completely isolated (newly-created),
The event does not have an activity assignment,
No message flows are coming into the event and
No sequence flows are going out of the event
Intermediate catch event is permissible if
The event does not have an activity assignment and
No message flows are going out of the event
Note
Sequence flows are not taken into consideration for this type as you can fulfill the condition for intermediate events (at least one incoming and outgoing sequence flow) at a later stage when completing the sequence flow.
Intermediate throw event is permissible if
The event does not have an activity assignment and
No message flows are coming into the event
Note
Sequence flows are not taken into consideration for this type as you can fulfill the condition for intermediate events (at least one incoming and outgoing sequence flow) at a later stage when completing the sequence flow.
Boundary event is permissible if
The event does not have an activity assignment,
No message flows are going out of the event and
No sequence flows are coming into the event
Dependency of Event Type of Assigned Data Inputs or Outputs
Catching and throwing events are differentiated between. Start, intermediate catch and boundary events belong to the first group. Intermediate throw and end events belong to the second group.
Data input or output assignment sets an event for one of the types named.
-
Data outputs are only permissible for catching events.
-
Data inputs are only permissible for throwing events.
Note
A data input is created for the event when a data association which flows into an event is created. Vice versa, a data output is created for an outgoing data association. A data association's direction sets the event to catching or throwing.
Dependency of Event Type of Assigned Event Definitions
The type…
Start event is permissible at the top level if one or more event definitions are assigned with the following types:
None
Message
Timer
Constraint
Signal
Start event for an event in a subprocess without the is triggered by an event property is permissible if no or only one event definition with the following type is assigned:
None
Start event for an interrupting event in a subprocess with the is triggered by an eventproperty is permissible if one or multiple event definitions with the following type are assigned:
Message
Timer
Hazard
Escalation
Compensation
Constraint
Signal
Note
There must be exactly one start event in an embedded subprocess with the Is Triggered by Event property.
Start event for an uninterrupting event in a subprocess with the is triggered by an event property is permissible if one or multiple event definitions with the following type are assigned:
Message
Timer
Escalation
Constraint
Signal
Note
There must be exactly one start event in an embedded subprocess with the Is Triggered by Event property.
Intermediate catch event is permissible if one or multiple event definitions are assigned with the following types:
None
Note
Deviation from BPMN specification! Is only permissible due to usability.
Message
Timer
Constraint
Link
Signal
Boundary event for an interrupting event is permissible if one or multiple event definitions are assigned with the following types:
None
Note
Deviation from BPMN specification! Is only permissible due to usability.
Message
Timer
Hazard
Escalation
Failed completion
Note
Only permissible if it concerns a boundary event on a subprocess which has the subprocess type = transaction property.
Compensation
Constraint
Signal
Boundary event for an uninterrupting event is permissible if one or multiple event definitions are assigned with the following types:
None
Note
Deviation from BPMN specification! Is only permissible due to usability.
Message
Timer
Escalation
Constraint
Signal
Intermediate throw event for an event which is not a parallel multiple is permissible if one or multiple event definitions are assigned with the following types:
None
Message
Escalation
Compensation
Link
Signal
End event for an event which is not a parallel multiple is permissible if one or multiple event definitions are assigned with the following types:
None
Message
Hazard
Escalation
Cancel
Compensation
Signal
Terminate