Decision operations

The decision operation defines which rules from a given branch are part of the ruleset. You choose which decision operation to use when creating a test suite, simulation, or deployment configuration.

A ruleset includes rule artifacts and other elements. A decision operation includes all the settings needed to define the contents of a ruleset and its parameters. The ruleset content and parameters allow the client application to exchange information with the ruleset.

Ruleset content

The ruleset content is defined by specifying the following information:
  • The source rule project. All the rules and variables contained in this project and any of its dependent projects become eligible to be included in the ruleset.
  • Any ruleflow to include in the ruleset.
  • A query or validator to filter the rules, so that only a subset of the rules of the source rule project and its dependent projects are included in the ruleset. Typically, this is used to include rules from specific folders of a project or according to a rule property such as status. You write queries in the Enterprise console. A validator can be written in Rule Designer to select the required rules. If you specify both, the query is processed first, then the validation is applied.

Ruleset signature

Client applications interact with a ruleset by using input and output parameters. These parameters are defined in the signature of a decision operation.

The parameters of a ruleset can have three directions:
  • INPUT: The parameter value is provided as input to the ruleset on execution.

  • OUTPUT: The parameter value is set by the execution of the ruleset and provided as output from the ruleset at execution completion.

  • INPUT_OUTPUT: The parameter value is provided as input to the ruleset on execution and its value can be modified by the ruleset and provided as output at execution completion.

You create the parameters from any of the ruleset variables that are available in the projects that are part of the scope of the decision operation. Ruleset variables are internal to a ruleset and provide a way to exchange data between rules, functions, and tasks.