Rule Execution Server API

ilog.rules.util.engine
Interface IlrSequentialProperties


public interface IlrSequentialProperties

Specifies the properties that parameterize the sequential engine.


Field Summary
static String[] ALL_KEYS
          An array that contains all the property keys that control the sequential compiler.
static String CODE_DENSITY
          Specifies the density of the bytecode generated by the sequential mode compiler.
static String CUSTOM_TEST_COMPARATOR
          Specifies that a custom test expression comparator has been written as a Java class, compiled with Javac and should be dynamically loaded by the test optimizer of the Fastpath sequential mode compiler.
static String DEBUG
          Specifies that debugging information should be added to the bytecode generated by the sequential compiler in order to enable debugging of rules that have been sequentially compiled.
static double DEFAULT_CODE_DENSITY
          The default value of the density of the bytecode generated by the sequential mode compiler.
static double DEFAULT_OPTIMIZATION_RATIO
          The default value of a value or test optimization ratio for the sequential mode compiler.
static String FASTPATH
          Specifies that Fastpath bytecode generation should be performed.
static double MAX_CODE_DENSITY
          The maximum value of the density of the bytecode generated by the sequential mode compiler.
static double MAX_OPTIMIZATION_RATIO
          The maximum value of a value or test optimization ratio for the sequential mode compiler.
static double MIN_CODE_DENSITY
          The minimum value of the density of the bytecode generated by the sequential mode compiler.
static double MIN_OPTIMIZATION_RATIO
          The minimum value of a value or test optimization ratio for the sequential mode compiler.
static String TEST_OPTIMIZATION_LEVEL
          Sets the test optimization level to be used by the sequential mode compiler.
static String TEST_OPTIMIZATION_RATIO
          Sets the test optimization ratio to be used by the sequential mode compiler.
static double UNKNOWN_CODE_DENSITY
          The unknown value of the density of the bytecode generated by the sequential mode compiler.
static double UNKNOWN_OPTIMIZATION_RATIO
          The unknown value of a value or test optimization ratio for the sequential mode compiler.
static String VALUE_OPTIMIZATION_LEVEL
          Sets the value optimization level to be used by the sequential mode compiler.
static String VALUE_OPTIMIZATION_RATIO
          Sets the value optimization ratio to be used by the sequential mode compiler.
 

Field Detail

DEBUG

static final String DEBUG
Specifies that debugging information should be added to the bytecode generated by the sequential compiler in order to enable debugging of rules that have been sequentially compiled.

The key is "ilog.rules.engine.sequential.debug".

See Also:
Constant Field Values

VALUE_OPTIMIZATION_LEVEL

static final String VALUE_OPTIMIZATION_LEVEL
Sets the value optimization level to be used by the sequential mode compiler.

Only the values of the rule conditions that are sequentially compiled will be impacted by the optimization.

The value of the property should be an int in the [0..2] range.

For value optimization to be taken into account, this property should be set prior to ruleset parsing.

This property is ignored in Fastpath sequential mode.

The key is "ilog.rules.engine.sequential.value.optimization.level".

See Also:
Constant Field Values

TEST_OPTIMIZATION_LEVEL

static final String TEST_OPTIMIZATION_LEVEL
Sets the test optimization level to be used by the sequential mode compiler.

Only the tests of the rule conditions that are sequentially compiled will be impacted by the optimization.

The value of the property should be an int in the [0..2] range.

For test optimization to be taken into account, this property should be set prior to ruleset parsing.

This property is always set to 2 in Fastpath sequential mode.

The key is "ilog.rules.engine.sequential.test.optimization.level".

See Also:
Constant Field Values

VALUE_OPTIMIZATION_RATIO

static final String VALUE_OPTIMIZATION_RATIO
Sets the value optimization ratio to be used by the sequential mode compiler.

The value of this property should be a double between 0 and 1. The default value is 1. 0 means that 0% of the values will be used by the optimizer, 1 means that 100% of the values will be used by the optimizer.

This property is ignored in Fastpath sequential mode.

The key is "ilog.rules.engine.sequential.value.optimization.ratio".

See Also:
UNKNOWN_OPTIMIZATION_RATIO, MIN_OPTIMIZATION_RATIO, MAX_OPTIMIZATION_RATIO, DEFAULT_OPTIMIZATION_RATIO, Constant Field Values

TEST_OPTIMIZATION_RATIO

static final String TEST_OPTIMIZATION_RATIO
Sets the test optimization ratio to be used by the sequential mode compiler.

The value of this property should be a double between 0 and 1. The default value is 1.

Use this property when there are a lot of tests and/or they are complicated to analyze and should be compared in small groups. When a ratio smaller than 1.0 is specified, the optimizer will perform a local optimization instead of a global one.

In sequential with test cache mode, 0 means that 0% of the tests will be used by the optimizer, 1 means that 100% of the tests will be used by the optimizer.

In Fastpath sequential mode, the value is used to build small test buckets instead of a potentially very large one. The test comparison operations will be performed on each of the test buckets taken individually instead of on the whole test, thus reducing the analysis time for all the tests. Of course, tests that are in different buckets will no longer be related, but this might be an acceptable limitation for an acceptable compilation time in the case of very large rulesets.

The key is "ilog.rules.engine.sequential.test.optimization.ratio".

See Also:
UNKNOWN_OPTIMIZATION_RATIO, MIN_OPTIMIZATION_RATIO, MAX_OPTIMIZATION_RATIO, DEFAULT_OPTIMIZATION_RATIO, Constant Field Values

UNKNOWN_OPTIMIZATION_RATIO

static final double UNKNOWN_OPTIMIZATION_RATIO
The unknown value of a value or test optimization ratio for the sequential mode compiler.

See Also:
Constant Field Values

MIN_OPTIMIZATION_RATIO

static final double MIN_OPTIMIZATION_RATIO
The minimum value of a value or test optimization ratio for the sequential mode compiler.

See Also:
Constant Field Values

MAX_OPTIMIZATION_RATIO

static final double MAX_OPTIMIZATION_RATIO
The maximum value of a value or test optimization ratio for the sequential mode compiler.

See Also:
Constant Field Values

DEFAULT_OPTIMIZATION_RATIO

static final double DEFAULT_OPTIMIZATION_RATIO
The default value of a value or test optimization ratio for the sequential mode compiler.

See Also:
Constant Field Values

CODE_DENSITY

static final String CODE_DENSITY
Specifies the density of the bytecode generated by the sequential mode compiler.

This property is provided only for troubleshooting purposes and should only be used when a verifier error occurs with the generated bytecode due to the rules being far more complicated than normal. It is not usually necessary to adjust the value of this property since most rules should execute smoothly.

The value of this property should be a double between 0.1 and 2. 0.1 means that the generated bytecode will be 10 times less dense than the average and will handle rules that are 10 times more complex than the average. 2 means that the generated bytecode will be 2 times more dense than the average. A high density should only be specified when the rules are simple.

The key is "ilog.rules.engine.sequential.code.density".

See Also:
UNKNOWN_CODE_DENSITY, MIN_CODE_DENSITY, DEFAULT_CODE_DENSITY, MAX_CODE_DENSITY, Constant Field Values

UNKNOWN_CODE_DENSITY

static final double UNKNOWN_CODE_DENSITY
The unknown value of the density of the bytecode generated by the sequential mode compiler.

See Also:
Constant Field Values

MIN_CODE_DENSITY

static final double MIN_CODE_DENSITY
The minimum value of the density of the bytecode generated by the sequential mode compiler.

See Also:
Constant Field Values

DEFAULT_CODE_DENSITY

static final double DEFAULT_CODE_DENSITY
The default value of the density of the bytecode generated by the sequential mode compiler.

See Also:
Constant Field Values

MAX_CODE_DENSITY

static final double MAX_CODE_DENSITY
The maximum value of the density of the bytecode generated by the sequential mode compiler.

See Also:
Constant Field Values

FASTPATH

static final String FASTPATH
Specifies that Fastpath bytecode generation should be performed.

The key is "ilog.rules.engine.sequential.fastpath".

The value should be a boolean constant.

See Also:
TEST_OPTIMIZATION_RATIO, CUSTOM_TEST_COMPARATOR, Constant Field Values

CUSTOM_TEST_COMPARATOR

static final String CUSTOM_TEST_COMPARATOR
Specifies that a custom test expression comparator has been written as a Java class, compiled with Javac and should be dynamically loaded by the test optimizer of the Fastpath sequential mode compiler.

The key is "ilog.rules.engine.sequential.test.comparator".

The value should be the fully-qualified class name of a class that implements the ilog.rules.engine.sequential.IlrTestingExpressionComparator interface.

You must specify a test optimization level of 2 for the custom test comparator to be taken into account.

Note that in Fastpath sequential mode, the test optimization level is implicitly set to 2.

Writing a custom test analyzer is a tricky task that should be performed by an IBM Decision Server expert because it has a direct impact on how the rules are compiled. Writing and loading an incorrect custom test analyzer will almost certainly cause the rules to execute incorrectly at runtime, even if the initial ruleset is correct.

See Also:
Constant Field Values

ALL_KEYS

static final String[] ALL_KEYS
An array that contains all the property keys that control the sequential compiler.


Rule Execution Server API

© Copyright IBM Corp. 1987, 2012