ilog.rules.util.engine

Interface IlrSequentialProperties



  • public interface IlrSequentialProperties
    Specifies the properties that parameterize the sequential engine.
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String[] ALL_KEYS
      An array that contains all the property keys that control the sequential compiler.
      static java.lang.String CODE_DENSITY
      Specifies the density of the bytecode generated by the sequential mode compiler.
      static java.lang.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 java.lang.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 java.lang.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 java.lang.String TEST_OPTIMIZATION_LEVEL
      Sets the test optimization level to be used by the sequential mode compiler.
      static java.lang.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 java.lang.String VALUE_OPTIMIZATION_LEVEL
      Sets the value optimization level to be used by the sequential mode compiler.
      static java.lang.String VALUE_OPTIMIZATION_RATIO
      Sets the value optimization ratio to be used by the sequential mode compiler.
    • Field Detail

      • DEBUG

        static final java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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
      • CUSTOM_TEST_COMPARATOR

        static final java.lang.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 java.lang.String[] ALL_KEYS
        An array that contains all the property keys that control the sequential compiler.

© Copyright IBM Corp. 1987, 2015