|
Listing 1: Usage Control Rules
|
[..setup and import omitted..]
declare SensorFailureEvent
@idroom: int
@idsensor: int
end
rule “Check data from temperature sensor”
no-loop true
salience 1
dialect “java”
when
$aEvent:GlimpseBaseEventSB(this.isConsumed == false,
this.isException == false,(this.getTemperature == null || < −20 || > 0 ) );
$bEvent:GlimpseBaseEventSB(this.isConsumed == false,
this.isException == false,
(this.getTemperature == null || < −20 || > 0 ),
this after $aEvent,this.getSensorID == $aEvent.getSensorID);
then
SensorFailureEvent failureDetected = new SensorFailureEvent(idRoom,idSensor);
CepBinder.sendEventTo(“CEP - Usage”, failureDetected);
$aEvent.setConsumed(true);$bEvent.setConsumed(true);
retract($aEvent);retract($bEvent);
end
|