<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri, sans-serif" size="2">
<div>Hi all!</div>
<div>&nbsp;</div>
<div>I tried out Drools 6.0.0.CR3 and I have some difficulties in detecting patterns with rules containing temporal parameters. I&#8217;m using following rule:</div>
<div>&nbsp;</div>
<div><font face="Consolas, monospace" size="2" color="#960000"><b>rule</b><font color="#000000"> </font><font color="#008000">&quot;detect turn shifts&quot;</font></font></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font face="Consolas, monospace" size="2" color="#960000"><b>agenda-group</b></font><font face="Consolas, monospace" size="2"> </font><font face="Consolas, monospace" size="2" color="#008000">&quot;evaluation&quot;</font></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font face="Consolas, monospace" size="2" color="#960000"><b>salience</b></font><font face="Consolas, monospace" size="2"> 100</font></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; <font color="#960000"><b>when</b></font></font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $aae : AudioActivityEvent(value &gt;= 50) <font color="#960000"><b>from</b></font> entry-point <font color="#008000">&quot;LowLevelES&quot;</font></font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#960000"><b>not</b></font>(AudioActivityEvent(value &lt; 50, userID == $aae.userID, <font color="#960000"><b>this</b></font> after[0, 300ms] $aae) <font color="#960000"><b>from</b></font> entry-point
<font color="#008000">&quot;LowLevelES&quot;</font>)</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; <font color="#960000"><b>then</b></font></font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info(<font color="#008000">&quot;turn shift START, user ID: &quot;</font> &#43; $aae.getUserID() &#43; <font color="#008000">&quot;, &quot;</font> &#43; $aae.toString());</font></div>
<div style="text-indent: 35pt; "><font face="Consolas, monospace" size="2" color="#808000"> // do something else ...</font></div>
<div><font face="Consolas, monospace" size="2" color="#960000"><b>end</b></font></div>
<div>&nbsp;</div>
<div>When inserting events following happens:</div>
<div>12:43:05,914 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] DEBUG ReteooRuleBase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Starting Engine in PHREAK mode</div>
<div>12:43:06,225 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] INFO&nbsp; SemanticLifter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - incoming event: AudioActivityEvent [userID=1, value=100.0]</div>
<div>12:43:06,295 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] INFO&nbsp; SemanticLifter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - incoming event: AudioActivityEvent [userID=1, value=0.0]</div>
<div>12:43:06,344 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] INFO&nbsp; SemanticLifter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - incoming event: AudioActivityEvent [userID=1, value=100.0]</div>
<div>12:43:11,096 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] INFO&nbsp; SemanticLifter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - incoming event: AudioActivityEvent [userID=1, value=0.0]</div>
<div>12:43:11,100 [main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] INFO&nbsp; SemanticLifter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - turn shift START, user ID: 1, AudioActivityEvent [userID=1, value=100.0]</div>
<div>...</div>
<div>&nbsp;</div>
<div>The &#8220;turn shift start&#8221; should be detected 300ms after the third incoming event (12:43:06,344) which is not the case here. This rule worked for me when using Drools 5.5.0 and 6.0.0.Beta2 but not with 6.0.0.CR3 - I did not try any other version.</div>
<div>This is my code to insert events:</div>
<div><font face="Consolas, monospace" size="2" color="#0000C0">streamEntryPoint<font color="#000000"> = </font>ksession<font color="#000000">.getEntryPoint(</font><font color="#2A00FF">&quot;LowLevelES&quot;</font><font color="#000000">);</font></font></div>
<div>...</div>
<div>&nbsp;</div>
<div><font face="Consolas, monospace" size="2" color="#0000C0">streamEntryPoint<font color="#000000">.insert(lowLevelEvent);</font></font></div>
<div><font face="Consolas, monospace" size="2" color="#0000C0">ksession<font color="#000000">.getAgenda().getAgendaGroup(</font><font color="#2A00FF">&quot;evaluation&quot;</font><font color="#000000">).setFocus();</font></font></div>
<div><font face="Consolas, monospace" size="2" color="#0000C0">ksession<font color="#000000">.fireAllRules();</font></font></div>
<div>&nbsp;</div>
<div>&#8220;AudioActivityEvent&#8221; is declared as an event with the @role attribute. I also tried to use the following option: &#8220;RuleEngineOption.RETEOO&#8221;, but with no difference.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Best regards,</div>
<div>Wolfgang</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
</font>
</body>
</html>