Activities

Activities represent specific tasks performed in a process by a person or a system. They can occur once, multiple times or when a set of conditions are met. They’re the executable elements of a process.

Activities can be atomic or non-atomic.

An atomic activity represents a unit of work that can’t be broken down into a finer level of detail. Tasks are atomic activities.

A non-atomic activity can be broken down into finer levels — it contains a set of activities and a logic sequence. Processes and Subprocesses are non-atomic activities.

Activities fall into three categories: Tasks, Subprocesses and Call Activities.

Sequence Flow Connections

An Activity can have multiple incoming and outgoing Sequence Flows.

When using Sequence Flows in your diagram, know that:

  • Multiple incoming Sequence Flows are independent one from one another. The process behaves in the same way as a converging Exclusive Gateway does when it merges Sequence Flows before an Activity.

  • Multiple outgoing Sequence Flows are triggered in parallel. The process behaves in the same way as a diverging Parallel Gateway does when it’s placed immediately after the Activity and splits the flow.

Common Activity Attributes

These attributes are common to all activities.

You find attributes in the Attributes panel.

For information on the attributes that are specific to an Activity, see the documentation for that Activity.

Attributes Tab

Fill in these fields in the Attributes tab:

  • Name

    The name of the element. The name appears in the element label.

  • Description

    A description of the element.

    Descriptions are optional but they can be useful if you want a comprehensive report.

  • X and Y

    The position of the element in the diagram.

    Use to manually adjust the element’s position.

  • Width and Height

    The width and height of the element.

    Use to manually adjust the element’s width and height.

  • Loop Characteristics

    You define the looping behavior of an activity by defining a condition and maximum values for the loop behavior.

    The condition is evaluated at the beginning or at the end of every loop iteration.

    A looped activity has a loop marker:

    a Looped Activity with a Loop Marker

    To define loop behavior:

    Turn on the Standard Loop toggle and fill in these fields:

    Field Description
    When test Loop Condition Select the test before check box to check the loop condition at the beginning of the iteration.
    Loop maximum The limit on the number of iterations.
    Loop condition A boolean expression that controls the loop — for example, “X > 4”. The activity will loop if this is set to true. If the loop condition is incorrect or missing, the loop can’t be formally executed.
    Description A description of the loop behavior.

Other Attribute Tabs

Define these attributes in these tabs of the Attributes panel:

  • Conditions

    If there are multiple outgoing Sequence Flows and a condition is defined for each of those Sequence Flows, at least one of the Sequence Flows must have a condition expression that evaluates to true.

    • Click and drag Sequence Flows to define the order of outgoing Sequence Flows when more than one condition can evaluate to true. In this case, the flow continues with the first of these conditions.

    • Turn on the Is default toggle to select a default Sequence Flow in the event none of the other Sequence Flow conditions evaluate to true.

    default Sequence Flow conditions of a BPMN element

     

    To define a Condition on a Sequence Flow:

    1. Select a Sequence Flow from the list.

    2. In the panel that opens, in the Condition section, 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.
  • Input

    The Data Input received by the element.

    • To add a Data Input, click Add.

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

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

      Attribute Description
      Name The name of the input.
      Description A description of the input.
      Item Definition The data type of the input.
      Default value The default value of the input.
  • 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.
  • Property

    A property acts as a container for data associated with flow elements. A property element must be contained within a flow element.

    • To add a property, click Add.

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

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

    Field Description
    Name The name of the property.
    Description A description of the property.
    Item Definition The data type of the property.
    Default value The default value of the property.