<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Times Roman";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hello list. I needed some expert advice related to
implementing Rule inheritance in Drools. I will still consider myself new to
Drools and trying to go through all the source code currently.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The requirement for rule inheritance that I have is as
follows:</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>A set of rules are defined/implemented on an entity acting
as a template for other entities. Any entity created using template entity will
inherit rules defined in template. There may be hundreds of child entities
created from parent template entity. Inheritance here supports the following:</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>1. All enabled rules from template are also enabled on child
entity.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>2. Child entity can over-ride one or more of the rules defined
in template. Child entity may also change rule settings/disable them.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>3. Child entity can also extend rule-base by adding its own
rules which are not defined in template.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I know there has been mentioned in the list of not having
support for rule inheritance in Drools yet, but no discussion of how to achieve
it. So any insights will be greatly appreciated. </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Also one of the design questions here is should we use
separate rule-base for each child entity as well as template entity (there can
be potentially hundreds of child entities for a given template) or should we
try to use only one rule-base and provide support for inheritance using only
custom agenda filtering. Usage of custom agenda filter may help with
performance as it won’t require hundreds of rule-bases but may not be
even feasible to what we are trying to accomplish here. Also it may result in
other short-comings but I can’t visualize it just yet. </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 color=blue face="Times Roman"><span
style='font-size:10.0pt;font-family:"Times Roman";color:blue'>Kunal Shah </span></font><br>
<font size=2 color=blue face="Times Roman"><span style='font-size:10.0pt;
font-family:"Times Roman";color:blue'>Development </span></font></p>
<p class=MsoNormal><font size=2 color=blue face="Times Roman"><span
style='font-size:10.0pt;font-family:"Times Roman";color:blue'>www.sensorlogic.com
</span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
</div>
</body>
</html>