[rules-users] Grouping rules

Jai Vasanth jaivasanth at gmail.com
Fri Feb 1 11:35:37 EST 2008


Thanks.  That helped.

On Feb 1, 2008 7:31 AM, Anstis, Michael (M.) <manstis1 at ford.com> wrote:

>  Excuse me if you already understand but there is a difference between
> rule patterns being evaluated and their consequence running.
>
> Rules LHS are evaluated when objects are inserted into working memory
> whereas the consequence fires when you call fireAllRules();
>
> The rules whose activations are executed are those in the given Agenda
> Group; thereafter those not in any agenda group execute. So if all rules are
> in an Agenda Group you should be OK.
>
> Of course they don't prevent all rule patterns from being checked as
> objects are inserted into WM (which has a performance impact) but this is
> what the RETE network was designed to optimise.
>
> You could try another configuration (but I think Agenda Groups are
> probably the preference by design). This gives complete isolation - but I
> haven't tried it so it might not even be possible ;-)
>
> global WorkingMemory wm;
> global RuleBase rbX;
>  global RuleBase rbY;
>
> rule "Group X"
>     when
>         Fact( attribute == "condition1" )
>     then
>         wm = rbX.newStatefulSession();
>         wm.fireAllRules();
> end
>
>  rule "Group Y"
>     when
>         Fact( attribute == "condition2" )
>     then
>         wm = rbY.newStatefulSession();
>         wm.fireAllRules();
> end
>
> Good luck.
>
> Mike
>
>  ------------------------------
> *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *Jai Vasanth
> *Sent:* 01 February 2008 15:07
> *To:* Rules Users List
> *Subject:* Re: [rules-users] Grouping rules
>
>
> Thanks for responding
> Yes,  I did consider agenda groups, but I thought agenda groups only
> ordered execution in a particular fashion, so if Rule "pick group X" fires
> then it would make sure that rules in Agenda Group X fire first before the
> remaining but the remaining would fire eventually. Is my  understanding
> correct ?
> I am looking for a solution for completely isolating a rule set
> conditioned on an object attribute.
>
> On Feb 1, 2008 12:46 AM, Anstis, Michael (M.) <manstis1 at ford.com> wrote:
>
> >  What about Agenda Groups?
> >
> > Rule "pick group X"
> > when
> >     Fact( attribute = "condition1" )
> > then
> >     drools.setFocus("Group X")
> > end
> >
> > Rule "pick group Y"
> > when
> >     Fact( attribute = "condition2" )
> > then
> >     drools.setFocus("Group Y")
> > end
> >
> > Rule "Group X1"
> > Agenda Group "Group X"
> > when
> >     Smurf( )
> > then
> >     // Do something
> > end
> >
> > Rule "Group X2"
> > Agenda Group "Group X"
> > when
> >     Smurfette( )
> > then
> >     // Something else
> > end
> >
> > etc
> >
> >  ------------------------------
> > *From:* rules-users-bounces at lists.jboss.org [mailto:
> > rules-users-bounces at lists.jboss.org] *On Behalf Of *Jai Vasanth
> > *Sent:* 31 January 2008 19:45
> > *To:* rules-users at lists.jboss.org
> > *Subject:* [rules-users] Grouping rules
> >
> >   Hi,
> >
> >
> >  I am building a system where I would need to fire different sets of
> > rules based on some attribute in the fact object.
> >
> > Here are someways which I thought of, I was wondering if there was
> > something better than that.
> >
> > 1) I could do this by creating different sessions based on the data
> > attrbute (different sessions would have different rule packages based on the
> > attribute)
> >
> > or
> >
> > 2) Have all the rules fire (all the different sets of rules)
> > irrespective of the attribute and have them insert fact new objects into the
> > working memory. In the second round of rules, collect the (newly made) fact
> > objects  based on the attribute and take that action.
> >
> >
> >
> > Thanks
> >
> > Jai
> >
> >
> >
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080201/e00cd311/attachment.html 


More information about the rules-users mailing list