Boundary Events

Boundary Events are catching events you attach to an activity (Task, Subprocess or Call Activity). They’re a type of intermediate event and they’re used for error and exception handling or compensation.

Boundary Events can be triggered by a message, timer, error, condition, signal or escalation while a task is running.

a Triggered Boundary Event

You configure Boundary Events as interrupting or non-interrupting. An interrupting boundary event cancels the bound Activity and the process takes the alternative path. A non-interrupting event continues the Activity and the process takes the alternative path in parallel.

Boundary Events appear the same as Intermediate Events — circles with a double edge.The edges of an interrupting boundary event are continuous, those of a non-interrupting boundary are dashed.

The marker changes according to the type of intermediate event. They differ in one respect from Intermediate Events — in a diagram, a Boundary Event must be positioned on the edge of an Activity.

a Boundary Event positioned on the edge of an Activity

Message Boundary

A Message Boundary is triggered when a message is received. It changes the normal flow into an exception flow when it’s triggered.

It can be interrupting or non-interrupting.

interrupting and non-interrupting Message Boundary Events

Message Boundary attributes

Fill in these fields in the Attributes tab:

  • Message Reference

    The ID of the Message that is sent or received by the Task.

    Click to view the list of message IDs and select an ID.

  • Boundary

    Define whether the Boundary Event is an interrupting or non-interrupting event.

    • Select the Cancel activity check box to cancel the Activity the Boundary Event is attached to after the Activity has been completed.

 

Define this attribute in the Output tab of the Attributes panel:

  • Output

    The Data Output sent by the element.

    • To add a Data Output, click Add.

    • To remove a Data Output, select the Data Output from the list then click Remove.

    • To complete or edit a Data Output, select the Data Output from the list and fill in these fields:

      Attribute Description
      Name The name of the Data Output.
      Description A description of the Data Output.
      Item Definition The data type of the Data Output.

 

If you haven’t already defined the Message Definition at a global process level, you can define it in the Message tab:

  • Message

    The message that’s sent or received by a participant at the start, end or during or a process.

    • To add a message, click Add.

    • To remove a message, select the message from the list then click Remove.

    • To complete or edit a message, select the message from the list and fill in these fields:

      Field Description
      Name The name of the message.
      Description A description of the message.
      Item Definition The data type of the message.

Conditional Boundary

A Conditional Boundary is triggered when a condition evaluates to true.

It can be interrupting or non-interrupting.

interrupting and non-interrupting Conditional Boundary Events

Conditional Boundary attributes

Fill in these fields in the Attributes tab:

  • Boundary

    Define whether the Boundary Event is an interrupting or non-interrupting event.

    • Select the Cancel activity check box to cancel the Activity the Boundary Event is attached to after the Activity has been completed.
  • Add condition

    Select the type of condition:

    • None: No condition defined.

    • Binary: Define a condition expression by comparing two Data Elements or values.

      Operands are the two Data Elements/values you want to compare. Operator is the comparison operator you use.

      Fill in these fields:

      Field Description
      First operand Click to select a Data Element.
      Operator Click to select an operator.
      Second operand Select a Data Element or insert a value.

      defining a condition on a Sequence Flow

    • Free: Define a condition according to your requirements. There are no limitations on the language or expression. This condition is not executable.

      Fill in these fields:

      Field Description
      Language There is no default language. Use the language you prefer.
      Expression Boolean type expression. The condition must evaluate to true.

 

Define this attribute in the Output tab of the Attributes panel:

  • Output

    The Data Output sent by the element.

    • To add a Data Output, click Add.

    • To remove a Data Output, select the Data Output from the list then click Remove.

    • To complete or edit a Data Output, select the Data Output from the list and fill in these fields:

      Attribute Description
      Name The name of the Data Output.
      Description A description of the Data Output.
      Item Definition The data type of the Data Output.

Timer Boundary

A Timer Boundary is triggered on a specific date and time or recurring interval. It changes the normal flow into an exception flow when triggered.

It can be interrupting or non-interrupting.

interrupting and non-interrupting Timer Boundary Events

Timer Boundary attributes

Fill in this field in the Attributes tab:

  • Boundary

    Define whether the Boundary Event is an interrupting or non-interrupting event.

    • Select the Cancel activity check box to cancel the Activity the Boundary Event is attached to after the Activity has been completed.

 

Define this attribute in the Timer tab of the Attributes panel:

  • Timer Event Definition

    Define the timer conditions for timer events.

    Refer to the ISO 8601 standard for date, time and duration format.

    To set the Timer Type:

    • Click and select the timer type:
      Type Description
      None No timer type specified.
      Recurring date Repeated on a specific day and time in a cycle — for example, “every Monday at 9am”.
      Fixed date A specific date and time — for example, “31 December 2021”.
      After duration The time from the moment the process reaches the event to the moment the trigger is fired — for example, “5 minutes”.

Error Boundary

An Error Boundary is triggered when an error occurs. It cancels the Activity it is attached to and the normal flow is interrupted.

An Error Boundary is an interrupting event.

an Error Boundary Event

Error Boundary attributes

Fill in this field in the Attributes tab:

  • Error Reference

    The ID of the Error.

    Click to view the list of Error IDs and select an ID.

 

Define this attribute in the Output tab of the Attributes panel:

  • Output

    The Data Output sent by the element.

    • To add a Data Output, click Add.

    • To remove a Data Output, select the Data Output from the list then click Remove.

    • To complete or edit a Data Output, select the Data Output from the list and fill in these fields:

      Attribute Description
      Name The name of the Data Output.
      Description A description of the Data Output.
      Item Definition The data type of the Data Output.

 

If you haven’t already defined the Error Definition at a global process level, you can define it in the Error tab:

  • Error

    Define the possible Errors that can occur in the process.

    • To add an Error, click Add.

    • To remove an Error, select the Error from the list then click Remove.

    • To complete or edit an Error, select the Error from the list and fill in these fields:

      Fill in these fields:

      Field Description
      Name The name of the Error.
      Description A description of the Error.
      Item Definition The data type of the Error.
      Error code Identifies the Error. A string value.

Escalation Boundary

An Escalation Boundary is triggered when a signal is received.

It can be interrupting or non-interrupting.

interrupting and non-interrupting Escalation Boundary Events

Escalation Boundary attributes

Fill in these fields in the Attributes tab:

  • Escalation Reference

    The ID of the Escalation the event is referencing.

  • Boundary

    Define whether the Boundary Event is an interrupting or non-interrupting event.

    • Select the Cancel activity check box to cancel the Activity the Boundary Event is attached to after the Activity has been completed.

 

Define this attribute in the Output tab of the Attributes panel:

  • Output

    The Data Output sent by the element.

    • To add a Data Output, click Add.

    • To remove a Data Output, select the Data Output from the list then click Remove.

    • To complete or edit a Data Output, select the Data Output from the list and fill in these fields:

      Attribute Description
      Name The name of the Data Output.
      Description A description of the Data Output.
      Item Definition The data type of the Data Output.

 

If you haven’t already defined the Escalation Definition at a global process level, you can define it in the Escalation tab:

  • Escalation

    • To add an Escalation, click Add.

    • To remove an Escalation, select the Escalation from the list then click Remove.

    • To complete or edit an Escalation, select the Escalation from the list and fill in these fields:

      Fill in these fields:

      Field Description
      Name The name of the Escalation.
      Description A description of the Escalation.
      Item Definition The data type of the Escalation.
      Escalation code Identifies the Escalation. A string value.

Signal Boundary

A Signal Boundary is triggered when a signal is received. It changes the normal flow into an exception flow when triggered.

It can be interrupting or non-interrupting.

interrupting and non-interrupting Signal Boundary Events

Signal Boundary attributes

Fill in these fields in the Attributes tab:

  • Signal Reference

    The ID of the Signal that’s broadcast.

    Click to select a Signal ID.

  • Boundary

    Define whether the Boundary Event is an interrupting or non-interrupting event.

    • Select the Cancel activity check box to cancel the Activity the Boundary Event is attached to after the Activity has been completed.

 

Define this attribute in the Output tab of the Attributes panel:

  • Output

    The Data Output sent by the element.

    • To add a Data Output, click Add.

    • To remove a Data Output, select the Data Output from the list then click Remove.

    • To complete or edit a Data Output, select the Data Output from the list and fill in these fields:

      Attribute Description
      Name The name of the Data Output.
      Description A description of the Data Output.
      Item Definition The data type of the Data Output.

 

If you haven’t already defined the Signal Definition at a global process level, you can define it in the Signal tab:

  • Signal

    • To add a Signal, click Add.

    • To remove a Signal, select the Signal from the list then click Remove.

    • To complete or edit a Signal, select the Signal from the list and fill in these fields:

      Attribute Description
      Name The name of the Signal.
      Description A description of the Signal.
      Item Definition The data type of the Signal.