[rules-dev] Rule Dependency Generator

Mark Proctor mproctor at codehaus.org
Sun Oct 5 19:40:20 EDT 2008


Drools 5.0 has the drools-verifier. This does a variety of verifications 
and analysis, like where class fields are used, gap analysis etc. The 
Guvnor BRMS can produce HTML reports for this information. Subsumption 
isn't done yet, we needed to analys the consequences for update/modify 
to try and detect potential impacted rules - this is also needed to 
detect which rules depend on other rules.
http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-verifier/
http://wiki.jboss.org/wiki/RuleAnalyticsModule

So we would love to have your work as additions to this,  but it will 
need to be integrated with the existing drools-verifier module code and 
the HTML reporting - can you make that happen? It would be ideal, as it 
then means your code is part of the main project and will be maintained 
and improved by the community.

Maybe you could pop onto irc, and chat to us about it more?
http://www.jboss.org/drools/irc.html

Do you have any visualisation plans? If on the web GWT-Diagram is 
turning out to be a great tool
http://code.google.com/p/gwt-diagrams/

Mark


Sangrish wrote:
> Hi
>
>       I have been using Drools Rules Engine in our application for past
> couple of weeks.
> One of the requirements in our project was to let a user (anyone who is
> writing/analysing the rules) find out
> what other rules a given rule depends upon. There were a few kinds of
> dependencies:
> 1) Object Attribute dependency: The attributes of an object being used in
> the conditional part of a rule
>    might be getting modified in the consequence part of another rule. We
> wanted all such rules with each rule having its own dependency list.
> 2) Rule Salience based dependency. A rule having lower salience should be
> executed only after a higher (if any) salience rule has already been
> executed.
> 3) Dependency caused by a specific Rule flow. Rules in a ruleflow group
> should be executed only if (if any) Split condition gets satisfied.
> 4) Agenda flow dependency (i.e., one agenda following another) 
>
>    We could not find much support for this in the Drools API. Hence we
> decided to write our own dependency generator.  The tool we are writing
> caters to first 3 dependencies. We might even handle the 4th one.  
>   Since Drools is open source, we thought of contributing our bit towards
> its development. If the drools team wants I can happily work with them on
> getting this functionality plugged in the Drools system.
>
>
> Thanks
> Siddharth
>   




More information about the rules-dev mailing list