Re: [rules-users] Understanding Rules Firing Sequence

2012-08-29 Thread Vincent LEGENDRE
The learning is : for your case, where all your row in your table have an 
implicit priority and business logic, yes, don't hope that drools engine will 
guess that by itself. 

As far i understand, you expect the rules to trigger from top to bottom (or 
most specific to less), and stop when a rule has fired. 
Your problem is that you have a lot of rules with shared conditions which have 
different (and conflicting) actions. Using specificity strategy is a good 
idea (never tried, but it looks great), but that won't prevent other (less 
specific) rules to fired after the first specific rules has fired. In 
addition to specific strategy, you have to add a condition to test if your 
fees field is set or not. If you add a common column (you can hide it under 
guvnor) that test fees == null, then the first rule exec (so the most 
specific one) will set this field and prevent other rules to fire. 

So, please let drools manage the rules firing, but tune your rules/facts to fit 
your specific business logic, under drools (or any other expert-system) 
constraints. 


- Mail original -

De: tanug tanu.gu...@rupeelog.com 
À: rules-users@lists.jboss.org 
Envoyé: Mardi 28 Août 2012 13:44:25 
Objet: Re: [rules-users] Understanding Rules Firing Sequence 

Thanks everyone for your suggestions. 

so, basically, the learning is : 
I should not leave rule firing to Drools, and have a proper priority and 
exit condition. 
And, I cannot rely on specificity for rule selection (i was so hoping it 
would work) 


Thanks again, 
best regards 
Tanu 




-- 
View this message in context: 
http://drools.46999.n3.nabble.com/Understanding-Rules-Firing-Sequence-tp4019409p4019416.html
 
Sent from the Drools: User forum mailing list archive at Nabble.com. 
___ 
rules-users mailing list 
rules-users@lists.jboss.org 
https://lists.jboss.org/mailman/listinfo/rules-users 

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Understanding Rules Firing Sequence

2012-08-28 Thread tanug
Hello, 

Attached here is the complete screenshot of the decision table.

i am not using salience, so all rules should have same salience of 0

I understand that in such cases, the conflict resolution strategy is
'specificity'.

But for the following case, when i run test scenario with following values:
family == mehta
clientid ==  shailesh
portfolio == exe
txntype == buy
scrip == acc
i get the rule firing sequence as 7-9-8 and 6 and I get 10 in my fees
variable.

but if I remove rule 6, the rules get fired in the following order - 7-9-8
and I get 100 in my fees variable.
This second case shows that it is indeed following the specificity rule.

Is it possible to know what conflict resolution strategy is being used in
guvnor? in eclipse?

http://drools.46999.n3.nabble.com/file/n4019414/Capture4.png 

Many thanks in advance

Tanu





--
View this message in context: 
http://drools.46999.n3.nabble.com/Understanding-Rules-Firing-Sequence-tp4019409p4019414.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Understanding Rules Firing Sequence

2012-08-28 Thread Michael Anstis
Assuming the row number indicates the sequence of your rules add the
salience attribute and have it use reverse row numbers.

Then add an additional constraint that checks that fee has not been set;
e.g. navclass( fees  -1 ) or navclass( hasFeeBeenSet == false )

As you have it now, all rules that match the given data will execute, so in
your example txntype==buy matches rule 6 too. You cannot control the
order rules' RHS execute with the same salience value (default is 0).

If you only add salience but not the additional check that fee has not
been set you will be able to control the order the rules' RHS execute but
not prevent later rules from firing after the earlier ones.

With kind regards,

Mike

On 28 August 2012 10:38, tanug tanu.gu...@rupeelog.com wrote:

 Hello,

 Attached here is the complete screenshot of the decision table.

 i am not using salience, so all rules should have same salience of 0

 I understand that in such cases, the conflict resolution strategy is
 'specificity'.

 But for the following case, when i run test scenario with following values:
 family == mehta
 clientid ==  shailesh
 portfolio == exe
 txntype == buy
 scrip == acc
 i get the rule firing sequence as 7-9-8 and 6 and I get 10 in my fees
 variable.

 but if I remove rule 6, the rules get fired in the following order - 7-9-8
 and I get 100 in my fees variable.
 This second case shows that it is indeed following the specificity rule.

 Is it possible to know what conflict resolution strategy is being used in
 guvnor? in eclipse?

 http://drools.46999.n3.nabble.com/file/n4019414/Capture4.png

 Many thanks in advance

 Tanu





 --
 View this message in context:
 http://drools.46999.n3.nabble.com/Understanding-Rules-Firing-Sequence-tp4019409p4019414.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Understanding Rules Firing Sequence

2012-08-28 Thread tanug
Thanks everyone for your suggestions.

so, basically, the learning is :
I should not leave rule firing to Drools, and have a proper priority and
exit condition.
And, I cannot rely on specificity for rule selection (i was so hoping it
would work)


Thanks again,
best regards
Tanu




--
View this message in context: 
http://drools.46999.n3.nabble.com/Understanding-Rules-Firing-Sequence-tp4019409p4019416.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Understanding Rules Firing Sequence

2012-08-27 Thread tanug
Hello, 

I am trying to understand the logic of firing of rules.

I have the given rules without any salience, so all rules are at the same
priority.
http://drools.46999.n3.nabble.com/file/n4019409/Capture3.png 

When I fire a rule with values of 
shailesh, exe, mehta and buy I get the fees as 10.

I was expecting a value of either 100 or 120, as maximum conditions match
with these two rules.

please explain why would this happen.

Also, is there a way to determine out of 100 or 120, which value should have
come?



--
View this message in context: 
http://drools.46999.n3.nabble.com/Understanding-Rules-Firing-Sequence-tp4019409.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users