| DecisionTableOptimizedAlgorithm |
The basic algorithm for decision table (DT) evaluation is straightforward (let's consider table with conditions and
actions as columns and rules as rows - you remember that OpenL Tablets allow both this and transposed orientation):
For each rule (row) from the top to the bottom of the table evaluate conditions from the left to the right
If all conditions are true, execute all the actions in the rule from the left to the right, if any condition is
false stop evaluating conditions, go to the next rule
If the action is non-empty return action then return the value of the action (stops the evaluation)
If no rules left then return null
The logic of the algorithm must be kept intact in all optimization implementations, unless some permutations are
explicitly allowed.
|