The Modeling perspective supports Intermediate events which follows BPMN 2.0 semantics. Intermediate Events are events that occur after a process has been started. An Intermediate Event affects the flow of the process by showing where messages and delays are expected, distributing the normal flow through exception handling. However, an Intermediate Event does not start or directly terminate a process.
Following sub-types are supported:
You can perform following operations on intermediate events:
Note
Models containing intermediate events may cause inconsistency warnings and errors when opened
in the Eclipse-based modeler which may prevent direct deployment from the Eclipse-based modeler.
In the toolbar, click Create Intermediate Event icon and drop it to swim lanes. By default, non-boundary Timer event gets created.
Figure: Create Intermediate Event
To add the boundary event, click the Create Intermediate Event icon and drop it on activity or on the boundary of an activity.
Figure: Add Boundary Event
By default, Timer boundary event gets added. You can also define Error event as boundary event.
Figure: Boundary Event
Note that Boundary events must have an exception flow.
To add the non-boundary event, click the Create Intermediate Event icon and drop it on the diagram canvas between two activities or activity and gateway.
Figure: Non-boundary Event
Note that only Timer event can be added as a non-boundary event. Non-boundary event is always between two activities, or gateway and activity. Non-Boundary Intermediate Events should have one inbound and one outbound sequence flow, otherwise a warning is issued during model deployment.
For non-boundary timer event, the activity goes into Hibernate state till the time period is defined. Once the time period criteria meets, the next activity gets activated by completing a timer for the underline activity.
The following topology rules should be followed when modeling intermediate events in the Modeling perspective:
Figure: Events - Topology
The intermediate event flyout menu is displayed when you hover the mouse in the proximity of the data.
Figure: Intermediate Event - Flyout Menu
| Menu Icon | Menu Option | Description |
|---|---|---|
![]() |
Connect | Adds a Sequence Flow or Exception Flow with the event as the first endpoint |
![]() |
New Activity | Adds a new manual activity with sequence flow or exception flow connecting the event to the new activity. |
| New Gateway | Adds a new Gateway(XOR) with sequence flow or exception flow connecting the event to the new gateway. | |
![]() |
Delete | Deletes the event. |
Following properties are supported:
The UUID and ID options are displayed only when you switch to Integrator profile.
Figure: Interrupting Boundary Event icon - Solid Circle
Figure: Non-interrupting Boundary Event icon - Broken Circle
To add comments for events, perform the following steps:
Figure: Start Event - Comment Icon
Figure: End Event - Comment
This option is available only when you switch to Integrator profile.
Note that you need to start Event Daemon when working with Timer Event. For more information about event daemon, please refer to the chapter Managing Daemons of the Stardust Portal documentation.
Figure: Timer Event - Implementation
You can specify following implementation properties:
Figure: Event Trigger - Constant
Figure: Event Trigger - Data
java.util.Date, or
org.eclipse.stardust.common.Period. If other than these type of data is used
then the event is not bound and timer event is never fired. In this case,
following warnings are displayed:
Figure: Warning
Figure: Warning
Note that the Automatic Binding option is not supported in the Modeling perspective. However, it is implicitly set to True.
The Consume On Match option is also not supported in the Modeling perspective. However, it is implicitly set to False.
This option is available only when you switch to Integrator profile. Note that you need to start Event Daemon when working with Error Event.
The Error Boundary Events may only be Interrupting, meaning when the event is triggered the Activity that it is bound to is aborted and the exception path follows. The following properties are displayed:
Figure: Error Event - Implementation
Figure: Event Trigger- Other
Note that the Automatic Binding option is not supported in the Modeling perspective. However, it is implicitly set to True.
If there are multiple error boundary events, the exception hierarchies should be disjunct. For example,
for Activity 1 two error boundary events are added in order say java.lang.IllegalAccessException and General(java.lang.Exception).
Figure: Multiple Error Boundary Events
Then, in this case warning is displayed at the time of model deployment. Note that you can either specify super class or sub class of the exception. If you specify both then in that case an error is displayed at the time of deployment.
Figure: Multiple Error Event - Deployment Validation
To bind boundary events to an activity, they can be dropped onto another activity or the drawing canvas. The existing exception flow, e.g. a connection, is maintained in that case.
When binding an unbound event that has incoming and outgoing connections, the incoming is deleted, whereas the outgoing is maintained. An exception is thrown when the event is bound to the activity that is attached to the event's outgoing connection. In this case, both the incoming and outgoing connections are deleted.
Boundary Events can be unbound from activities via drag-and-drop.
Note
To execute following examples, please start Event Daemon.
In the following example, Timer event is specified for the activity named ProcessActivityInTime. If the user does not complete this activity before the specified time interval, the timer is reached and the exception flow is followed.
Figure: Timer Boundary Event - Example
Note that the timer event is Interrupting.
Figure: Interrupting Timer Event
Figure: Activity Overview
In the following example, the user waits for the specified time interval so that the normal flow is followed.
Figure: Timer Boundary Event - Example
Note that the timer event is non-interrupting.
Figure: Non-interrupting Timer Event
Figure: Activity Overview
In the following scenario, the user completes the activity to which the timer event is bound before the timer is over.
Figure: Activity Overview
In the following example, the user completes the SourceActivity and once the timer is reached, the next activity executes.
Figure: Timer Non-boundary Event - Example
Figure: Timer Non-boundary Event - Implementation
Note that the next activity named TargetActivity is initiated only when the timer is reached.
Figure: Worklist - Non-boundary Timer Event Activity
In the following example, the user completes the activity named FirstActivity. Then, the application activity MessageTransformation is executed. If the general exception is thrown then the exception flow is followed.
Figure: Error Boundary Event - Example
Figure: Error Boundary Event - Implementation
Figure: Activity Overview