hi anup, <br><br>In general the rule engine can work only on what the system knows. So, the rules are written for objects that are going to be inserted into the working memory. So, until an object of type &quot;Foo&quot; is created, no rule that is based on object &quot;Foo&quot; will be executed. 
<br><br>In your example, seems to me that PhD. grad is a derived class of grad student. So, you will create another rule for Ph.D grad GPA &gt; 3.5. If you are trying to represent PhD. grad inside Grad student object without creating an object for 
Ph.D grad, then you will need to further refine your grad student rule to have the check for not Ph.D. and Ph.D. student. <br><br>when &quot;grad is not Phd&quot;<br>&nbsp;&nbsp;&nbsp; Grad ( GPA &gt; 3.0, isPhD == false )<br>then <br>&nbsp;&nbsp;&nbsp; 
System.out.println(&quot;Grad is in good standing&quot;);<br>end<br><br>when &quot;grad is Phd&quot;<br>
&nbsp;&nbsp;&nbsp; Grad ( GPA &gt; 3.5, isPhD == true )<br>
then <br>
&nbsp;&nbsp;&nbsp; System.out.println(&quot;Grad is in good standing&quot;);<br>
end<br>
<br><br>HTH, <br>Krishnan. <br><br><div><span class="gmail_quote">On 6/2/07, <b class="gmail_sendername">Anup Joshi</b> &lt;<a href="mailto:arj.joshi@gmail.com">arj.joshi@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Greetings:</div>
<div>&nbsp;</div>
<div>I am a graduate student working on rules based systems in design. I had a very fundamental (theoretical) question </div>
<div>on rules usage and would appreciate if you could be so kind as to help.</div>
<div>&nbsp;</div>
<div>Consider a hypothetical &nbsp;university application that has the following objects:</div>
<div>&nbsp;</div>
<div>GradStudent</div>
<div>GradStudentRecord (which contains details such as GPA etc.)</div>
<div>&nbsp;</div>
<div>GIven the above(and based&nbsp;on the drools docs I have read so far)</div>
<div>I can write a rule as:</div>
<div>&nbsp;</div>
<div>when GradStudent.Record.GPA &gt;&nbsp;3&nbsp; then student.standing = good</div>
<div>&nbsp;</div>
<div>So far everything is okay.</div>
<div>&nbsp;</div>
<div>Now&nbsp;consider the case where&nbsp;the University decides to have PhD Students.</div>
<div>Note that there are no PhDStudent objects in the&nbsp;application yet but </div>
<div>I wish to have a rule such as:</div>
<div>
<div>when PhDStudentRecord.GPA &gt;&nbsp;3.5&nbsp; then student.standing = good</div>
<div>&nbsp;</div>
<div>Does the above scenario mean that I would have to code the application</div>
<div>and add an extra PhDStudent object before I can write a rule ?</div>
<div>&nbsp;</div>
<div>In other words, is the following proposition true?</div>
<div>&nbsp;</div>
<div>Proposition: if there are&nbsp;N objects in an application, and I wish to use </div>
<div>JBoss rules then the rule can be written only &quot;in terms&quot; of the&nbsp;N objects.</div>
<div>If there is a rule to be written for a new &nbsp;(K+1)th object, I would have to first code</div>
<div>that new object in the application and then write the rule. </div>
<div>&nbsp;</div>
<div>I would appreciate if anyone could validate my thoughts above. </div>
<div>&nbsp;</div>
<div>Sincerely,</div>
<div>Anup</div>
<div>GradStudent</div></div>
<div>Michigan Tech.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Sivaramakrishna Iyer Krishnan (Anand) <br><br>Never assume the obvious is true. <br>- William Safire