<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* 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:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@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=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I am using the latest 5.1.1 (8/2010
release) Drools code to test out rules. What I see is when I try to
retract/insert an object from the working memory, it doesn&#8217;t seem to take
effect.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The example is as follows. I pump metrics
into the rule engine at 4s interval. Drools is configured to run in STREAM mode
to allow facts to expire and to use the sliding window feature of Fusion. There
are 2 rules, the set rule says that if the minimum value is &gt; set threshold
over the sliding window interval, raise an alarm if not raised earlier (it also
inserts an alarm into the working memory). The clear rule says that if the
minimum value is &lt; clear threshold over the sliding window interval and if
alarm exists, then clear the alarm and retract it.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I use the pseudo clock and advance every
time I insert an event. Now, if I use a data set, where all the values are &gt;
set threshold, then I see that an alarm is raised and only once (as expected).
But if I use a data set that should cause a set/clear/set pattern, I see that
after setting, the clear happens twice, followed by set, which happens twice
again. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I used the Drools debugger within Eclipse
and saw that I was hitting the RHS side twice in the clear/set rule. As I
cannot put a break-point on the LHS to see why it decided to do fire in the
first place, I can&#8217;t tell the behavior.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Its as if drools ignores the
insert/retract of the alarm action.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks in advance,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>sb<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Here is the DRL:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>package com.x.y.rules;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import java.util.Date;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.ruleengine.AlarmActionFactory;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.rule.Event.Srd;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.NaEvent;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.Common.SeverityLevels;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.Common.EventsStatus;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>import com.x.y.z.rule.Event.Alarm;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>global
AlarmActionFactory actionFactory;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>declare Srd<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @role(event)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @expires(5s)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>end<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>rule &quot;Clear
Srd threshold of 25.0 for 5s&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>dialect
&quot;java&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>when<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c
: Srd(probeName == 'threstest1')<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SrdMin
: Number(doubleValue &lt;= 25.0) from accumulate(<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Srd(probeName
== $c.probeName,$v : value) over window:time(5s), min($v)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $alarm
: Alarm(type == 'Srd' &amp;&amp; probeName == 'threstest1')<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>then<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($alarm
!=null)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Clearing
alarm, since Srd went below 25.0 threshold for 5s. Srd: &quot;+$SrdMin);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Removing
alarm from system &quot;+$alarm);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retract($alarm);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;
&nbsp; String desc = &quot;Clearing alarm as SessionRequestDelayMilliSecs went
below threshold 25.0 for probe threstest1&quot;;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actionFactory.logEvent(desc);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actionFactory.logEvent(&quot;WARN:
clearing again, alarm doesnt exist for Srd metric with probename
threstest1&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>end<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>rule &quot;Set
Srd threshold of 50.0 for 5s&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>dialect
&quot;java&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>when<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c
: Srd(probeName == 'threstest1')<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $minsrd
: Number(doubleValue &gt;= 50.0) from accumulate(<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Srd(probeName
== $c.probeName,$v : value) over window:time(5s), min($v)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not
Alarm(type == 'Srd' &amp;&amp; probeName == 'threstest1')<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>then<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Srd
above 50.0 for 5s, raising alarm. min Srd: &quot;+$minsrd);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alarm
a = new Alarm(&quot;Srd&quot;,&quot;threstest1&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert(a);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String
desc = &quot;Raised alarm as SessionRequestDelayMilliSecs hit threshold 50.0
for probe threstest1&quot;;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actionFactory.logEvent(desc);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>end &nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Here is the data set that is read by the java
class pumping the events.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># the set/clear threshold in
thres1_Srd.drl is set to 50/25.O<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># the test program reads the values one
line at a time<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># the sliding window time and fact
expiration time it set to 5s.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># the test program advances the pseudo
clock by delta value<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># which is the difference between the
previous and the current token value <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># read from this file.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># the alarm raising pattern for this data
should be <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># set/clear/set<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'># NOTE: first value is time, second value
is the actual event value.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>1358,60<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>5359,66<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>9360,62<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>13361,24<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>17362,23<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>21363,24<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>25364,28<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>29365,21<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>33366,27<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>37367,67<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>41367,89<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>45367,92<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>49367,72<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>53367,65<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>57367,99<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Snippet of main method of the java class<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-indent:.5in'><font size=2 color=navy
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:navy'>KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean
useSrdMetric = true;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kbuilder.add(ResourceFactory.newClassPathResource(&quot;threstest1_Srd.drl&quot;,
REAlarmFiringTest.class),<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourceType.DRL);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
Check the builder for errors<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(kbuilder.hasErrors())<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
System.out.println(kbuilder.getErrors().toString());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
throw new RuntimeException(&quot;Unable to compile &quot;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ (&quot;Srd&quot;.equals(args[0]) ? &quot;thres1_Srd.drl&quot; :
&quot;thres1_Owd.drl&quot;));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
get the compiled packages (which are serializable)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Collection&lt;KnowledgePackage&gt;
pkgs = kbuilder.getKnowledgePackages();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
to use sliding windows, have to run the engine in stream mode<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
default is cloud mode..where there are no concept of time and<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
event ordering<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeBaseConfiguration
kbaseconfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kbaseconfig.setOption(EventProcessingOption.STREAM);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
add the packages to a knowledgebase (deploy the knowledge packages).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeBase
kbase = KnowledgeBaseFactory.newKnowledgeBase(kbaseconfig);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kbase.addKnowledgePackages(pkgs);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeSessionConfiguration
conf = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conf.setOption(ClockTypeOption.get(&quot;pseudo&quot;));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StatefulKnowledgeSession
ksession = kbase.newStatefulKnowledgeSession(conf, null);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
get clock to manually advance and test firing..<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SessionPseudoClock
clock = ksession.getSessionClock();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info(&quot;Pseudo
clock current time initialized to &quot; + clock.getCurrentTime());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
we will have one helper class AlarmActionFactory, that will provide<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
static methods for all the possible actions that can be taken<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
when an alarm fires, including logging events.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksession.setGlobal(&quot;actionFactory&quot;,
AlarmActionFactory.newInstance());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
this will send data to the std err stream<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksession.addEventListener(new
DebugAgendaEventListener());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksession.addEventListener(new
DebugWorkingMemoryEventListener());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
setup the audit logging<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KnowledgeRuntimeLogger
krlogger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, destdir<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +
(&quot;Srd&quot;.equals(args[0]) ? &quot;srdaudit&quot; :
&quot;owdaudit&quot;));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedReader
bf = new BufferedReader(new FileReader(args[1]));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String
s;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int
time = 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int
count = 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int
lastime = 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int
delta = 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
NOTE: the drl are setup with a sliding window of 5s.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
We will insert objects into the RE every 4s, so that the<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
previous objects linger long enough to contribute to the calc<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while
((s = bf.readLine()) != null)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
if (s.startsWith(&quot;#&quot;))<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
String[] vals = s.split(&quot;,&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
Event event = new Srd();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;event.setValue(Integer.parseInt(vals[1]));<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
// set in ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
// for the first time, initialize time and lastime<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
// to the value read in from the first line.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
time = Integer.parseInt(vals[0]);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
if (count == 0)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
{<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lastime
= time;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info(&quot;Initialized
lastime to &quot; + lastime);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
this is basically time t0 when the first event gets inserted<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clock.advanceTime(time,
TimeUnit.MILLISECONDS);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
} else<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
{<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
advance based on the read in time in ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
do it only from the second insert onwards<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
note that the time delta should be around 4s <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delta
= (int) (time - lastime);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clock.advanceTime(delta,
TimeUnit.MILLISECONDS);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.info(&quot;Pseudo
clock advanced &quot; + delta + &quot;ms&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
event.setTimestamp(time);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
// the probename has to be threstest1 as the drls are configured with<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
// that probe name. so do not change this value.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
event.setProbeName(&quot;threstest1&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
logger.info(&quot;Inserted event &quot; + event);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
logger.info(&quot;Count: &quot; + count + &quot; Pseudo clock current time:
&quot; + clock.getCurrentTime());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ksession.insert(event);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
logger.info(&quot;calling drools fire rules&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ksession.fireAllRules();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
count++;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
lastime = time;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Inserted
facts, current time is &quot; + new Date());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; krlogger.close();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksession.dispose();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bf.close();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Closed
audit logger, disposing session, exiting..&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Here is the log output of the run of the
program above: Note the EVENT MESSAGE green/red output, which gets printed as a
consequence of the rule firing. Red indicates it fired again without any other
insertion of event.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,039-INFO -[main]: Pseudo clock current time initialized to 0<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,053-INFO -[main]: Initialized lastime to 1358<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,054-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=1358, value=60.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,054-INFO -[main]: Count: 0 Pseudo clock current time: 1358<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,074-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>2010-09-24
11:53:17,076-INFO -[main]: EVENT MESSAGE: Raised alarm as SessionRequ<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>estDelayMilliSecs
hit threshold 50.0 for probe threstest1<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,077-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,077-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=5359, value=66.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,077-INFO -[main]: Count: 1 Pseudo clock current time: 5359<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,077-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24 11:53:17,077-INFO
-[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,078-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=9360, value=62.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,078-INFO -[main]: Count: 2 Pseudo clock current time: 9360<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,080-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,080-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,080-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=13361, value=24.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,080-INFO -[main]: Count: 3 Pseudo clock current time: 13361<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,081-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>2010-09-24
11:53:17,082-INFO -[main]: EVENT MESSAGE: Clearing alarm as SessionRe<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>questDelayMilliSecs
went below threshold 25.0 for probe threstest1</span></font><font size=2
color=navy face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=red face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:red'>2010-09-24
11:53:17,082-INFO -[main]: EVENT MESSAGE: WARN: clearing again, alarm<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=red face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:red'>&nbsp;doesnt exist
for Srd metric with probename threstest1</span></font><font size=2 color=navy
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,082-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,083-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=17362, value=23.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,083-INFO -[main]: Count: 4 Pseudo clock current time: 17362<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,083-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,083-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,083-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=21363, value=24.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,084-INFO -[main]: Count: 5 Pseudo clock current time: 21363<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,084-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,084-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,084-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=25364, value=28.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,085-INFO -[main]: Count: 6 Pseudo clock current time: 25364<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,085-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,085-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,085-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=29365, value=21.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,086-INFO -[main]: Count: 7 Pseudo clock current time: 29365<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,086-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,086-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,087-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=33366, value=27.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,087-INFO -[main]: Count: 8 Pseudo clock current time: 33366<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,087-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,088-INFO -[main]: Pseudo clock advanced 4001ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,088-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=37367, value=67.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,088-INFO -[main]: Count: 9 Pseudo clock current time: 37367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,088-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,089-INFO -[main]: Pseudo clock advanced 4000ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,089-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=41367, value=89.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,089-INFO -[main]: Count: 10 Pseudo clock current time: 41367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,090-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>2010-09-24
11:53:17,090-INFO -[main]: EVENT MESSAGE: Raised alarm as SessionRequ<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>estDelayMilliSecs
hit threshold 50.0 for probe threstest1<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=red face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:red'>2010-09-24
11:53:17,090-INFO -[main]: EVENT MESSAGE: Raised alarm as SessionRequ<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=red face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:red'>estDelayMilliSecs
hit threshold 50.0 for probe threstest1<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,091-INFO -[main]: Pseudo clock advanced 4000ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,091-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=45367, value=92.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,091-INFO -[main]: Count: 11 Pseudo clock current time: 45367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,092-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,092-INFO -[main]: Pseudo clock advanced 4000ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,092-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=49367, value=72.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,092-INFO -[main]: Count: 12 Pseudo clock current time: 49367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,093-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,093-INFO -[main]: Pseudo clock advanced 4000ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,093-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=53367, value=65.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,093-INFO -[main]: Count: 13 Pseudo clock current time: 53367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,094-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,094-INFO -[main]: Pseudo clock advanced 4000ms<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,094-INFO -[main]: Inserted event Srd [probeName=threstest1, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>destIp=10.155.21.81,
srcIp=10.155.21.82, timestamp=57367, value=99.0]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,094-INFO -[main]: Count: 14 Pseudo clock current time: 57367<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'>2010-09-24
11:53:17,095-INFO -[main]: calling drools fire rules<o:p></o:p></span></font></p>

</div>

</body>

</html>