Peter,<br><br>Thanks for answering my post but I guess I was not clear ;<br><br>I know how to modify the rule using what you have stated below. However, currently in our system, (using Ilog), the analysts write in English as how I had shown earlier:
<br><br>There are 4000 such rules and they would not like to go and modify them. Secondly, even if they were willing to put the physical effort, this&nbsp; (c != 0) is not a required condition for the rule to fire and this english version (which Ilog calls BAL or Business Action Language) needs to match whats in our requirements tool (Doors). 
<br><br>Also, our rule actions in most cases, contain multiple actions. They would not want to pollute the rule view.<br><br>So, anyways, Ilog lets me extract this out to a rule file called the Irl file. Now, I need to go behind the scenes and try to modify this file to the way I want it before deploying it in production.
<br><br>So, in other words, I am looking for a solution that may do these things in one of the ways below or achieve in some way that I have not thought of:<br><br>1) The drools api might have some flag that can be switched on; this flag will look at the action(s); do an &#39;AND&#39; on the negation of the action(s) and &#39;AND&#39; it to the conditions.
<br>This potentially could be triggered from the UI (where rules are in pseudo-english). Thus in this case, the Drl would look exactly the same as before but the rule itself is not fired if c = 0<br><br>2) There could be an api that modifies the drl file ( either hand-coded or generated from the JBoss Rules UI ) to update the drl to implement the rule as &quot;rule x&quot; as Peter Lin shows. (btw, the action I am looking for is rule x and not rule y)
<br><br>Thanks!!<br><br><br><div><span class="gmail_quote">On 2/27/07, <b class="gmail_sendername">Peter Lin</b> &lt;<a href="mailto:woolfel@gmail.com">woolfel@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;">
<br>
simple<span class="q"><br>
<br>
rule x:<br>
<br>
if <br>
&nbsp; a = 5<br>
&nbsp; b = 3<br></span>
&nbsp; c != 0<br>
then<br>
&nbsp; c = 0<br>
<br>
keep in mind that using negation NOT means that condition does not exist. In other words, if I have this rule<span class="q"><br>
<br>
rule y:<br>
if<br>
&nbsp; a = 5<br>
&nbsp; b = 3<br></span>
&nbsp; not c = 0<br>
then<br>
&nbsp; c = 0<br>
<br>
rule y means a is 5, b is 3 and no c is zero.&nbsp; Say i assert 100
objects to the working memory and 1 of them has c = 0. it means rule y
would never fire, since there is a fact that satisfies &quot;not c =
0&quot;.&nbsp; <br>
<br>
hope that helps<br>
<br>
peter<br><br><div><div><span class="e" id="q_11105a10cd9767d0_5"><span class="gmail_quote">On 2/27/07, <b class="gmail_sendername">Premkumar Stephen</b> &lt;<a href="mailto:prem18@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
prem18@gmail.com</a>&gt; wrote:</span></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span class="e" id="q_11105a10cd9767d0_7">

Hi Dev team,<br><br>Its been fascinating to watch the growth of this tool. Here is my question:<br><br>Rule x:<br>if <br>&nbsp;&nbsp; a = 5<br>&nbsp;&nbsp; b = 3<br>then<br>&nbsp;&nbsp; c = 0<br><br>Now,
I have written this rule to run when a = 5 and b =3. But actually, I
would like it to ideally run when a = 5 and b = 3 and c != 0
<br><br>Now, does the second scenario lead to any savings. In Ilog,
the second scenario will result in the rule NOT being added to the
agenda whereas it would in the first.<br><br>I cannot code the second
scenario into the rule as the rule ( as seen in UI) needs to match the
requirements version ( in Doors) and they do not want to add these to
the requirements. I would just like to make the second version for
performance. We have noticed that less number of rules would fire.
<br><br>Now, if a = 5, b = 3 and c = 0, is there a way Drools can look
at it and say, let me not fire this rule since there is no practical
use anyways. <br>If not, what are the ways to automate not firing rules in scenarios where action does NOT cause updates to data.
<br><br>Thanks!!<br>
<br></span></div>_______________________________________________<br>rules-dev mailing list<br><a href="mailto:rules-dev@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-dev@lists.jboss.org
</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
https://lists.jboss.org/mailman/listinfo/rules-dev</a><br><br></blockquote></div><br>
<br>_______________________________________________<br>rules-dev mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-dev</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Prem