<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> </div>
<div>I tried out Drools 6.0.0.CR3 and I have some difficulties in detecting patterns with rules containing temporal parameters. I’m using following rule:</div>
<div> </div>
<div><font face="Consolas, monospace" size="2" color="#960000"><b>rule</b><font color="#000000"> </font><font color="#008000">"detect turn shifts"</font></font></div>
<div> <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">"evaluation"</font></div>
<div> <font face="Consolas, monospace" size="2" color="#960000"><b>salience</b></font><font face="Consolas, monospace" size="2"> 100</font></div>
<div> </div>
<div><font face="Consolas, monospace" size="2"> <font color="#960000"><b>when</b></font></font></div>
<div><font face="Consolas, monospace" size="2"> $aae : AudioActivityEvent(value >= 50) <font color="#960000"><b>from</b></font> entry-point <font color="#008000">"LowLevelES"</font></font></div>
<div><font face="Consolas, monospace" size="2"> <font color="#960000"><b>not</b></font>(AudioActivityEvent(value < 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">"LowLevelES"</font>)</font></div>
<div><font face="Consolas, monospace" size="2"> <font color="#960000"><b>then</b></font></font></div>
<div><font face="Consolas, monospace" size="2"> logger.info(<font color="#008000">"turn shift START, user ID: "</font> + $aae.getUserID() + <font color="#008000">", "</font> + $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> </div>
<div>When inserting events following happens:</div>
<div>12:43:05,914 [main ] DEBUG ReteooRuleBase - Starting Engine in PHREAK mode</div>
<div>12:43:06,225 [main ] INFO SemanticLifter - incoming event: AudioActivityEvent [userID=1, value=100.0]</div>
<div>12:43:06,295 [main ] INFO SemanticLifter - incoming event: AudioActivityEvent [userID=1, value=0.0]</div>
<div>12:43:06,344 [main ] INFO SemanticLifter - incoming event: AudioActivityEvent [userID=1, value=100.0]</div>
<div>12:43:11,096 [main ] INFO SemanticLifter - incoming event: AudioActivityEvent [userID=1, value=0.0]</div>
<div>12:43:11,100 [main ] INFO SemanticLifter - turn shift START, user ID: 1, AudioActivityEvent [userID=1, value=100.0]</div>
<div>...</div>
<div> </div>
<div>The “turn shift start” 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">"LowLevelES"</font><font color="#000000">);</font></font></div>
<div>...</div>
<div> </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">"evaluation"</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> </div>
<div>“AudioActivityEvent” is declared as an event with the @role attribute. I also tried to use the following option: “RuleEngineOption.RETEOO”, but with no difference.</div>
<div> </div>
<div> </div>
<div>Best regards,</div>
<div>Wolfgang</div>
<div> </div>
<div> </div>
</font>
</body>
</html>