Does anyone know if there's an efficient way of replicating the Ilog JRules
sequential algorithm in Drools?
From a (over simplified) users perspective, the JRules sequential
algorithm
takes an ordered list of rules and fires the first rule in the sequence
with
a valid IF condition. You can also specify a maximum number of rules in a
sequence that may fire. If you have a large number of simple rules to be
fired in sequence (often precondition validating rules in a complex
ruleflow), then the sequential algorithm gives a significant performance
gain over the RETE algorithm in JRules.
I can see how you might order a set of rules by salience and give then the
same agenda group. Then I assume you will get the equivalent "behaviour" to
the Ilog sequential algorithm described above. However, before I try this
out, I thought I'd ask if anyone has a view on the performance of this
approach; and whether there would be anything to be gained by adding a
similar sequential algorithm to Drools.
I've seen a few Blog posts in the past that suggest that the Ilog sequential
algorithm is similar to LEAPS, but I don't know if that's accurate - also
LEAPS will no longer be supported on Drools 4.0 development path.
Thanks
Shahad