Modeling event subprocesses
Event subprocesses are triggered by an event that occurs in the parent process. Event subprocesses are similar to other subprocesses in that they are contained within a parent process, and are not reusable outside of that process. They are unlike other subprocesses in that they are not connected to other activities in the process by incoming or outgoing connections, but are instead triggered by an event or timer.
About this task
The event subprocess is a specialized subprocess that you can use to model event-handling logic for a process or subprocess. It is triggered upon occurrence of a configured start event, and as a result it is not connected to other steps through sequence flow. It has access to the business objects (variables) of its parent process and so can encapsulate steps that use those variables. When triggered, an event subprocess can either interrupt the execution of its parent or it can run in parallel.
You can use event subprocesses to handle exceptional process flows within your process. For example, an event subprocess can be used to handle an out-of-stock situation that arises during an order-fulfilment process. The out-of-stock event in the parent process triggers the start event in the event subprocess, which contains activities to order more stock or to check supplies at other locations.
Start event implementation type | Event subprocess visualization |
---|---|
Error | |
Message | |
Timer |
- Message event subprocesses are triggered by a message event that often originates from outside the business process definition (BPD) in which the event subprocess is contained. A message start event might be used in a situation similar to the situation described previously, where a message, such as an out-of-stock message, is received by the event subprocess and triggers a sequence of activities.
- A timer start event might be used to model the steps to take when an activity within the parent process is not completed after a specified amount of time. For example if a requested item cannot be located within a certain amount of time, the out-of-stock subprocess can be triggered by a timer start event.
- An error start event might be triggered when something goes wrong in the process, for example, the order fulfilment system is non-responsive. Error start events can be triggered only from within the parent BPD or its subprocesses.
A parent process cannot complete until all active event subprocesses are complete, unless the parent is terminated by a terminate end event. A terminate end event in an event subprocess terminates only the activities that are contained within that event subprocess.
Boundary events cannot be attached to event subprocesses. To handle exceptions within an event subprocess, for example, errors that arise during the event subprocess execution, event subprocesses can themselves contain event subprocesses.
To add an event subprocess to your BPD: