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