Specifying code density in IRL

How to specify code density in IRL.

About this task

You can specify the generated bytecode density in IRL at task level or for a particular task.

Procedure

To specify code density in IRL:

  1. To specify code density at rule task level, write code as follows:
    ruletask T {
           property ilog.rules.engine.sequential.code.density = 0.5;       algorithm = sequential;
           ...
    }
    Another means is to set a property at the ruleset level:
    ruleset R {
           property ilog.rules.engine.sequential.code.density = 0.5;}
    
    ruletask T1 {
           algorithm = sequential;
           ...
    }
    
    ruletask T2 {
           algorithm = sequential;
           ...
    }

    In this case, the code density of the generated bytecode is defined for both rule tasks T1 and T2.

  2. To specify code density at ruleset level, write code as follows:
    ruleset R {
           property ilog.rules.engine.sequential.code.density.
    }
    
    ruletask T1 {
           algorithm = sequential;
           ...
    }
    
    ruletask T2 {
           algorithm = sequential;
           ...
    }

    In this case, a code density is specified for both rule tasks T1 and T2.

  3. To define the code density for a particular task by using a ruleset property, use this special generic notation:
    ruleset R {
     property ilog.rules.engine.sequential.value.code.densityT1 = true;
    }
    
    ruletask T1 {
           algorithm = sequential;
           ...
    }
    
    ruletask T2 {
           algorithm = sequential;
           ...
    }

    In this case, a code density is specified for rule task T1 , not for rule task T2.