Configuring ruleflow properties

To display the properties of ruleflow elements, select each one, and a window with properties opens. When you add a node or a task to your ruleflow, you must set their properties.
Some properties are common to several ruleflow elements, and are described in the section Common properties.. Properties that are specific to other ruleflow elements are detailed in the following sections:

Common properties

Some properties are common to several ruleflow elements.

Table 1. Properties common to several ruleflow elements
Property Pertains to Purpose

Label

Transitions, rule tasks, action tasks, subflow tasks, branch nodes.

You can specify a label for the ruleflow element, that is displayed in the ruleflow editor.

Initial action

Start nodes, rule tasks, action tasks, subflow tasks.

The action that launches before the task starts.

Select BAL or IRL to define the language to use to write the action.

Final action

End nodes, rule tasks, action tasks, subflow tasks.

The action that launches after the task ends.

Select BAL or IRL to define the language to use to write the action.

Documentation

All ruleflow elements.

This property displays optional information about the node, or transition. Use this property to provide notes, comments, and other useful information.

Rule task properties

Table 2. Rule task properties
Property Purpose

Uses

List the rules and rule packages that are considered when the rule task is run. To edit this list and reorder it, use the arrow icons.

Selects rules where

Use this property to specify runtime rule selection by using a statement in BAL, or IRL code. Define a rule filter in IRL with "body = ...."

Table 3. Advanced rule task properties
Property Purpose

Rule selection

After you entered a code fragment for the property Select rules where, you can specify if your runtime rule selection is dynamic, or static:

  • Dynamic: The property runs each time you call the task.
  • Static: The property runs the first time you call the task.

For more information, see Runtime rule selection.

Algorithm

Use this section to specify the processing algorithm for the rule task:

  • RetePlus
  • Sequential
  • Fastpath

Exit Criteria

Use this section to specify if all rules, one rule, or one rule instance run:

  • None: The default setting that all rules are run until conditions terminate execution. The rules are run in a particular order determined by the selected ordering.
  • Rule: Execution terminates after the chosen rule is run, according to the selected algorithm.
  • RuleInstance: A single instance of one rule is run. This rule is determined by the selected ordering.

Ordering

Use this section to specify the order of rule execution in a rule task as follows:

  • Default: The algorithm determines the execution order.
  • Literal: The order of the rules in the rule task determines the order of rule execution
  • Priority: the rules are run following a static priority in decreasing order.
    Deprecated feature:

    Deprecation icon RetePlus literal, sorted, and priority ordering modes are deprecated as of V8.6.0.0. These features will be removed in a future release. See Deprecated and removed features for migration details.

Note: The properties Algorithm, Ordering, and Exit criteria are for advanced users. For more information, see Execution properties for rule tasks. If you do not know about these properties, you can leave the default settings.

Action task properties

Table 4. Action Task properties
Property Purpose

Action code

Set the rule action statements to be run, in BAL or IRL.

Subflow properties

Table 5. Subflow properties
Property Purpose

Subflow

Select a ruleflow to be run at this point in the ruleflow that you are editing.

Transition properties

Table 6. Transition properties
Property Purpose

Conditions

In the Transition Conditions Editor, you must first select the rule language you use to write the transition: BAL or IRL. In the rule language you chose, you write an expression whose return value must be true or false, for example:

  • BAL:
    'the loan' is approved
  • IRL:
    (bicycle.speed > 10) && (bicycle.speed <= 30) 

If you have several transitions originating from a task, there must be one (and only one) transition with no conditions, which is considered as the default transition, also called else transition. By default, if you do not specify a label, it is displayed as "else".

With several transitions, you must make sure that transitions do not overlap, which means that no more than one transition condition must return "true". Typically, you might want to use two transitions, to choose between one ruleflow path with a specific condition and one default else transition for the remaining cases.

If there is only one transition that links two tasks, you must not specify any conditions.