Cascading ruleset execution

Cascading ruleset execution is an execution of a ruleset from rules of another ruleset in a different instance of an execution unit (XU).

In cascading ruleset execution, the execution of the first ruleset (master ruleset) and the second ruleset (child ruleset) are handled by different XUs.

The caller application executes the master ruleset by using the master XU. The rules of the master ruleset invoke a XOM method that creates the child XU. This child XU then executes the rules of the child rulesets.

Workflow of cascading ruleset execution
Restriction: The testing and simulation feature is not supported in cascading ruleset execution.

Cascading ruleset execution differs from reentrance. Reentrance is an execution of a ruleset (Ruleset 2) from rules of another ruleset (Ruleset 1) when these two rulesets are in the same instance of a XU. In contrast, in cascading ruleset execution the calling ruleset and the called ruleset are in different instances of XUs.

The following figure shows reentrance of ruleset execution:

Reentrance of ruleset execution

Restriction: Reentrance is not supported in Operational Decision Manager or Operational Decision Manager for z/OS®.

Use case example

Cascading ruleset execution can be useful for routing rules. For example, an insurance company might need to execute a different ruleset, depending on the category of the client. In that case, the company can call a first ruleset to determine the client category, and then select a corresponding second ruleset to be executed.

Collecting execution data in z/OS

If you set HBRSMFST100=YES in System Management Facility (SMF), then zRule Execution Server for z/OS writes SMF 120 subtype 100 records for master rulesets that are executed. However, it does not write SMF 120 subtype 100 records for any rulesets that are executed in child XUs.

The CPU time that is recorded in the master ruleset execution includes the CPU time that is spent executing any rulesets in the child XUs.

Supported environments

Cascading ruleset execution is supported in Operational Decision Manager and Operational Decision Manager for z/OS only when the master and the child XUs are in J2SE mode.