[rules-users] Rules and Ruleflow GroupS

Welsh, Armand AWelsh at StateStreet.com
Mon Apr 23 16:09:12 EDT 2012


You understand the problem well enough.

I have never used agenda-group option, and am very fuzzy on how to implement it.  I know I should look into it, and I should understand it better, to have a better grasp of all the options available to me.  The drools expert documentation just isn't too clear on this feature, and I haven't had the time to explore it in code yet.

Thanks for your input, it's always good to hear other's opinions.

Armand

-----Original Message-----
From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Vincent LEGENDRE
Sent: Monday, April 23, 2012 10:52 AM
To: Rules Users List
Subject: Re: [rules-users] Rules and Ruleflow GroupS

Tell me if I understand well :
  - you have a set of "lookup" rules that are independent of initial data in the WM
  - you have another set of "lookup" rules that depends of data currently in the WM, that should trigger in the middle of data processing. In this second group, some business rules can update a fact that should immediately lead to insertion of other object via the lookup rules ?

Clearly, the second is the problematic one if it must be immediate ... If you can delay the insertion, I can't see why you can't place them in a separate ruleflow group (and the ruleflow-group identifier is reused in multiple main ruleflows ...)

May be you can use agenda groups here. All the 'same function' lookup rules could be placed in the same agenda-group, with auto-focus to true. And you then have to add some control rules that give focus to you data-lookup group when you need. This is one way I know that allow to trigger a group of rules in the middle of other rules execution. The other way is control facts ... In summary, you have the choice between adding control fact in each condition, or set an agenda-group and auto-focus on each rule + a main control rule. I prefer the agenda-group option because once the control rule done, you can add rules to the group by declaring its group whether that adding a condition (which should be reserved to business logic in a ideal system).


----- Mail original -----
De: "Armand Welsh" <AWelsh at statestreet.com>
À: "Rules Users List" <rules-users at lists.jboss.org>
Envoyé: Lundi 23 Avril 2012 19:03:17
Objet: Re: [rules-users] Rules and Ruleflow GroupS

Thanks for the feedback

Yeah.. my rules deal with data transformation.  We convert vendor feed data to internal data for making trade decisions.  So we have large data sets that need to be evaluated.   So instead of inserting all data into working memory from our lookup tables in our DB, I have lookup rules that get just the data needed for the datasets.  These rules insert just those lookup facts that are needed for the rules.  Since many rules can share a common lookup criteria, I don't lookup use the from condition on each rule, instead I use the from condition on the lookup rule, that extracts the facts I need and inserts just those facts into working memory.  The reason for this, is that inserting into working memory is a costly process. So inserting 100 facts is less intensive than inserting 10,000 facts, when I only need 100 for that specific set of data.

Most lookups can happen before any processing, because the bound conditions are set before execution, and they don't change.  However, I have a small set of lookups that occur more than once, because they are based on fields that are generated by other rules, and each time the value changes, I need to the lookup to be reactivated, but I could benefit from having my lookup rules in their own rule flow group, and a small subset of those also in the data manipulation rule flow group, so that they get preloaded before any data processing decisions are made, and then they re-fire during data processing the dependent facts change.


I guess I will just have to use a processing control fact to prevent firing my lookup rules until I know the lookup has either completed, or failed to find lookup values.

Regards,
Armand

-----Original Message-----
From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Vincent LEGENDRE
Sent: Monday, April 23, 2012 9:26 AM
To: Rules Users List
Subject: Re: [rules-users] Rules and Ruleflow GroupS

No you can't ... or I really don't know how ..

You can duplicate a ruleflow group in a ruleflow (if your rule is only dependant of others rules in the same "group"), but if a rule is a subpart of multiple groups ... well ... I think you can't avoid to write your own agenda filter, or try to use agenda groups.


----- Mail original -----
De: "Armand Welsh" <AWelsh at statestreet.com>
À: "Rules Users List" <rules-users at lists.jboss.org>
Envoyé: Lundi 23 Avril 2012 17:59:24
Objet: [rules-users] Rules and Ruleflow GroupS

A while back, I was looking to use Ruleflow-Groups and a process flow. Due to some issues in the code that affected the use of the process flow, I was unable to use them.  I believe those issues have been worked out, and now I am looking into using them again.

One thing I am not clear on, is if I can have a single rule participate in more than one ruleflow group?

Regards,
Armand

_______________________________________________
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

_______________________________________________
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



More information about the rules-users mailing list