Intermediate Events

Intermediate events can used as follows:

  • Intermediate events can be used "in-flow" that is, between two other activities.
  • Most catch type intermediate events can be attached to task boundary to catch a triggered event only whilst that task is in-progress.
  • You can define an event handler by starting a flow with an intermediate event. See Event Handlers (trigger type support is destination specific).
    Note: An exception to this is described in "Message Event Handlers in Business Processes" in TIBCO Business Studio Modeling Guide .

You can use the following types of Intermediate events:

Note: BPMN imposes some restrictions on the placement of intermediate events. For example:
  • Intermediate events of type None and Link cannot be placed on the boundary of a task.
  • Intermediate events of type Cancel and Multiple cannot be placed in sequence flow.

TIBCO Business Studio allows you to place any type of intermediate event on the boundary of a task or in sequence flow; however any invalid constructions are reported in the Problems view.

  • None -  Indicates an unspecified change in the process.
  • Throw/Catch Message -  Either stops the flow of the process pending the receipt of a message (catch), or sends a message and resumes flow (throw). This can be implemented using a web service using the Solution Design capability (see "Message Event Implementation" in TIBCO Business Studio Modeling User's Guide).
  • Timer - The event is triggered at a specific date/time or at a regular interval (time cycle). When placed on the boundary of a task, a timer event defines a deadline for the task. In the Properties view for the event, Use as activity deadline is preselected (this is BPM-destination specific). If more than one timer event is attached to a task, only one of them can be selected as the timer deadline. If there is a cancelling timer then it must be selected as the deadline.

    There are two options you can select from to decide how the task is treated if the event times out (Withdraw Task on Timeout and Continue Task on Timeout).

    Note: The timer deadline uses the appropriate system calendar (specific to a destination environment) to calculate when the deadline will expire. For more information about the system calendar, see the destination-specific implementation guide.

    (BPM-destination specific)

    • At runtime the timeout period is calculated using the calcDeadline API operation described in "BusinessDeadlineService" in the TIBCO ActiveMatrix BPM Developer’s Guide. Note that if you specify a date without a time element (no hours or smaller units) then the period is assumed to be in working days.
    • The calendarLookAhead property in the dac.properties file specifies how far ahead the algorithm should look when calculating the timeout. If there is not enough working time available to complete the task in the period defined by calendarLookAhead, an error is returned. The property defaults to a value of one month, but you should ensure that it is set to a large enough value to give correct results for your calculations.

      See "Configuring TIBCO ActiveMatrix Calendar Properties" in TIBCO ActiveMatrix BPM Administration for more details.

    • You can choose to enter a reference to an alternative calendar to the system calendar from the Resource tab. Under Calendar Reference, enter a Calendar alias in text (content assist will provide previously used aliases in the workspace) or a reference to a process data field that will provide the Calendar alias at runtime.
    • The information you enter is subsequently used by the Calendar gadget in Openspace. See the TIBCO Openspace User Guide and the TIBCO ActiveMatrix BPM - BPM Developer's Guide for more information on using alternative calendars.
    • This information can refer either to a base or to an overlay calendar. However, note that an overlay calendar must be applied to a base calendar, and if it cannot be applied to any other base calendar, the default System calendar will be used. This may not always give the desired results, particularly if the server holding the System calendar is in a different country or timezone. See "Working with Calendars" in the TIBCO Active Matrix BPM - BPM Developer’s Guide for information on how calendars are applied.
  • Conditional -  The event is triggered based on the evaluation of a condition.
  • Throw/Catch Link -  Indicates a connection from one or more throw link intermediate events to a catch link intermediate event in the same parent process. This can be thought of as a "go to" or "off page connector" that you can use to break up a process for better legibility.
  • Throw/Catch Signal - Broadcasts or catches a signal. A throw signal event is assigned a default signal name (signaln).
  • Throw/Catch Multiple -  Indicates that there can be several possible triggers for the event.
  • Catch Error -  Attached to a task boundary to end a sub-process with an error. Either catches the specified error, or catches any error if no specific error is specified.
  • Throw/Catch Compensation - Used to process compensating activities for previously executed tasks:
    • If located in sequence flow of the process, this event throws a call for compensation.
    • If attached to the boundary of an activity, this event catches a named compensation call.
  • Catch Sub-Process Cancel - Used on the task boundary of a transaction sub-process. It is triggered if a cancel end event is reached within the transaction sub-process or if a transaction protocol “cancel” message is received while the transaction is being performed. It can be used as sub-process cancellation event handler.