BPMN event
A BPMN event in a business process diagram refers to something that happens and affects the flow of process. There are three types of events to use in business process modeling: Start, intermediate and end.
Start, intermediate and end events with different kinds of triggers and results |
Start event
A start event indicates the place where and possibly why a process start. Since start event is used for initiating a process, it does not have any incoming sequence flow.
You can define a trigger for start event, to show the condition(s) that will cause a process to initiate.
|
||||||||||||||||||||||||||||||||||||
Different types of start event trigger |
Defining a trigger
To define a trigger on an event, right click on the event and select Trigger, then click on the type of trigger from the popup menu.
To define a start event trigger |
If you want to edit the properties of the trigger, such as the condition of a conditional trigger, right click on the event and select Open Specification... from the popup menu. Then, click on the ... button next to the drop down menu of Trigger to edit its properties in the popup dialog box.
Interrupting or Non-interrupting event sub-process
Start event can be attached to the border of an event sub-process to initiate the sub-process inline. You can define this kind of trigger as either interrupting or non-interrupting, which means to interrupt its containing process or not to interrupt its containing process respectively. To set a trigger to be Interrupting or Non-Interrupting, right click on the event and select/de-select Triggers > Interrupting from the popup menu.
Interrupting (left) and Non-Interrupting (right) events |
NOTE: | Only triggers that can be attached to event sub-process can set as interrupting/non-interrupting. The supported trigger types include: Message, Timer, Escalation, Error, Cancel, Compensation, Conditional, Signal, Multiple, and Parallel Multiple. |
Intermediate event
An intermediate event indicates where something happens in between the start and end event of a process. You can use an intermediate event to show where messages are received or sent, show the necessary delay, perform exception handling and show the need of compensation. You can place an intermediate even in two places: Attaching the boundary of task/sub-process, Normal flow (i.e. connected from a flow without attaching to an activity).
|
|||||||||||||||||||||||||||||||||||||||
Different types of start event trigger |
Defining a trigger
To define a trigger on an event, right click on the event and select Trigger, then the type of trigger from the popup menu.
To define an intermediate event trigger |
If you want to edit the properties of the trigger, such as the condition of a conditional trigger, right click on the event and select Open Specification... from the popup menu. Then, click on the ... button next to the drop down menu of Trigger to edit its properties in the popup dialog box.
Throw and catch
You can set an event to be catch or throw. Catch means to react to a trigger, while throw means to create a trigger. To set, right click on an event and select Trigger, then either Catching or Throwing from the popup menu.
A catch event (left) and a throw event (right) |
NOTE: | The trigger types that can set as throw/catch include: Message, Escalation, Compensation, Link, Signal, and Multiple. |
Interrupting or Non-interrupting event
Intermediate event can be attached to the border of an activity. You can set an event to interrupt or not to interrupt the activity to which it is attached. To set a trigger to be Interrupting or Non-Interrupting, right click on the event and select/de-select Triggers > Interrupting from the popup menu.
Interrupting (left) and Non-Interrupting (right) events |
NOTE: | Only triggers that can be attached to event sub-process can set as interrupting/non-interrupting. The supported trigger types include: Message, Timer, Escalation, Conditional, Signal, Multiple, and Parallel Multiple. |
End event
As an opposite of start event, end event indicates where a process will end. Since end event is used for terminating a process, it does not have any outgoing sequence flow.
You can define a result for end event, to show what will happen when reaching the end.
|
|||||||||||||||||||||||||||||||||
Different types of end event result |
Defining a result
To define a result on an event, right click on the event and select Result, then the type of result from the popup menu.
To define an end event result |
If you want to edit the properties of the result, such as the message produced by a message result, right click on the event and select Open Specification... from the popup menu. Then, click on the ... button next to the drop down menu of Result to edit its properties in the popup dialog box.
Related Resources
The following resources may help you to learn more about the topic discussed in this page.
3. Task and sub-process | Table of Contents | 5. Gateway |