An Event is something that "happens" during the course of a Process. These Events affect the flow of the Process and usually have a cause or an impact and in general require or allow for a reaction. The term "event" is general enough to cover many things in a Process. The start of an Activity, the end of an Activity, the change of state of a document, a Message that arrives, etc., all could be considered Events.

Events allow for the description of "event-driven" Processes. In these Processes, There are three main types of Events:

  • Start Events, which indicate where a Process will start.
  • End Events, which indicate where a path of a Process will end.
  • Intermediate Events, which indicate where something happens somewhere between the start and end of a Process.

Within these three types, Events come in two flavors:

  • Events that catch a Trigger. All Start Events and some Intermediate Events are catching Events.
  • Events that throw a Result. All End Events and some Intermediate Events are throwing Events that may eventually be caught by another Event. Typically the Trigger carries information out of the scope where the throw Event occurred into the scope of the catching Events. The throwing of a trigger may be either implicit as defined by this standard or an extension to it or explicit by a throw Event.

Ownership Events belong to Flow element containers or subprocesses

: BpmnEvent (architecture_autodiagram)
Figure 33 : BpmnEvent (architecture_autodiagram)
EventDefinitions : BpmnEventDefinition [0..*]