Home > BPMN Concepts > BPMN Events

BPMN Events

Event flow objects indicate that something happens; such as a start or end of the flow, or some intermediate event occurs such as a delay. Events have a dimension, may have interrupting or non-interrupting behavior, and have a trigger or result type.

Event shapes are always represented by circles. The type of border line on the circle reflects the dimension or location of the event in the sequence flow: start, intermediate, or end. Start events and most intermediate events have triggers that define the cause for the event, with multiple ways to trigger the events. The start or intermediate event can throw or catch a trigger. End events and some intermediate events define a result or consequence of a sequence flow, and ‘throw’ the event for a corresponding intermediate or start event to catch.

BPMNstartruleevent.bmp 

Start Conditional event shape. For example, start when
inventory level drops below
1000.

BPMNintermtimerevent.bmp 

Intermediate Timer event
shape. For example, delay
one day before order ships.

BPMNendmessageevent.bmp 

End Message event shape.
For example, tell someone
that the order has shipped.

An event can be of a certain Trigger or Result type, such as timer or fault (error), which indicates its behavior in the process flow. You can quickly set the type of event on the Properties dialog box - BPMN Guide page. Properties define the type and behavior of the event, and an indicator displays in the center of the event.

BPMN calls events that are attached to activity boundaries intermediate or boundary events, but the modeling rules that apply to them generally are different from the rules applied to flow object events. iGrafx uses the term border events or exception flow. If the boundary event (exception) causes normal activity execution to stop prematurely, or in the case of a non-interrupting event parallel activity is started, the transaction flow out of the activity takes the exception path connected to the event.

A BPMN event can have the following Trigger and Result types (see BPMN Event Types Reference for a table showing what each Event indicator looks like, and its possible dimensions):

Event

Description

startnone.bmp 

None (No special trigger or result): Usually a Start or End of the process

intermediatetimer.bmp 

Timer: Holds a token (transaction) until the time has occurred.

  • intermediatetimer00001.bmp Event: Release transaction by specific times, or periodically.

  • intermediatetimer00002.bmp Delay: Release transaction after a postponement delay (Intermediate Event).

endmessage.bmp 

Message: Used to communicate between Pools. May be non-interrupting, and may carry data.

  • endmessage00003.bmp Send: Send (throw) a message after the task is complete.

  • startmessage.bmp Receive: Receive (catch) the message on Inputs; e.g. hold the transaction(s) until a message is received or create a transaction at the event.

endsignal.bmp 

Signal: Like a message, but is broadcast everywhere (including the originating pool). More than one Signal event can respond to (catch) the signal. May be non-interrupting.

  • endsignal00004.bmp Broadcast: Send (throw) the signal after the task is complete.

  • startsignal.bmp Receive: Receive (catch) the signal on Inputs; e.g. hold the transaction(s) until a signal is received

intermediaterule.bmp 

Conditional: Hold the transaction until the next time the expression becomes true. The expression must go from false to true to trigger the Conditional event. May be non-interrupting.

endfault.bmp 

Error: A critical error has occurred, and normal flow will be interrupted.

  • endfault00005.bmp Throw a ‘Fault’ or Error on completion of the task.

  • startfault.bmp Catch the error on a boundary or in an Event Subprocess.

endescalation.bmp 

Escalation: Similar to a ‘Fault’ (Error), except that it can be non-interrupting.

  • endescalation00006.bmp Throw the Escalation on completion of the task.

  • startescalation.bmp Catch the Escalation; in an Event Subprocess or with a boundary event.

endcancel.bmp 

Cancel: Like a ‘Fault’, cancels the operation. May only be used within a ‘Business Transaction’ Activity. Can be thrown and caught.

endcompensate.bmp 

Compensate: Compensate for (or attempt to ‘undo’) some completed action by performing additional compensation activities. Can be thrown and caught.

intermediatemultiple.bmp 

Multiple: Many events may occur, and only one of the many triggers or results is required. For example, hold by a Conditional, then send a Message. May be non-interrupting.

intermediateparallelmultiple.bmp 

Parallel Multiple: Many events must occur before the Event occurs; all of the many triggers or results must occur. May be non-interrupting.

endterminate.bmp 

Terminate: Discard the transaction and its family members in this process (and any subprocesses) after the task is complete.

intermediatelinkthrow.bmp 

Link: The Link event is an on-page or off-page connector that allows not drawing the entire sequence flow line, and cannot be chosen from the BPMN Guide. Please see Format Diagram dialog box - Off-Page Connectors tab.

 

Related Topics

Exception Flows

BPMN Flows, Processes, and Behaviors

 

See Also

BPMN Event Types Reference