Hi Guys I am investigating using Drools, unfortunately I am running into some
rule execution flow issues, similar to those outlined in Mark Proctor’s blog
entry “Rule execution Flow with a Production Rule System.”

I am wondering if I can use the remove rule functionality or agenda groups
as a work around for this functionality.

The simple problem is one in which the action of a rule is used as a
condition in the next rule and we are attempting to prevent recursions. Some
pseudo code…


The fact object is a credit_report and contains a credit_score, a risk
category, a decision, and a document

RULE 1
IF credit_score <= 500 THEN assign risk_category=High

RULE 2
IF credit_score BETWEEN 501 and 600 THEN assign risk_category=Medium

RULE 3
IF credit_score > 600 THEN assign risk_category=Low

RULE 4 
IF risk_catgeory =  high THEN assign decision=Declined 

RULE 5
IF decision = Declined THEN assign document=FCRA

The first assumption I am using is that each rule is in its own package.
I would then 

addpackage Rule1
Assert my Credit_Report
FireAll Rules
Removepackage Rule1

Then do it all over again for Rule 2 

addpackage Rule2
Assert my Credit_report
FireAll Rules
Removepackage Rule2


And So On

So a couple of questions.

1.      Would it work?
2.      Is there a significant performance penalty for doing it this way (are
these expensive operations)?
3.      I may not fully understand agenda groups, would using these be a better
way of solving this problem? 

Thanks in advance for any assistance.


-punkij

-- 
View this message in context: 
http://www.nabble.com/Rule-Execution-Flow-tf2884245.html#a8058413
Sent from the drools - user mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to