[rules-users] looking for more information on drools expert
Wolfgang Laun
wolfgang.laun at gmail.com
Wed Jul 15 10:33:39 EDT 2009
2009/7/15 Edson Tirelli <tirelli at post.com>:
>
> Aldian,
>
> Yes, this is the way to go:
>
> rule "detect and set routers different from root for alarm 45"
> When
> * All routers which index is different from 0 are raising the alarm 45
> * There is an alarm $a of numero 45 raised by an equipement $e
> different from the root
> Then
> * execute some specific code on ($a,$e)
> end
>
> It would be like this:
>
> when
> forall( $e1 : Equipment( index != 0 )
> Alarm( origin == $e1.name, probablecause == 45 ) )
> $e2 : Equipment( index != 0 )
> $a2 : Alarm( origin == $e2.name, probablecause == 45 )
> then
> // do something with $e2 and $a2
> end
>
What happens if the RHS contains a retract( $a2 ), which (I think) is
one of the things Aldian intends to do?
Also, there is the requirement of inserting a summary alarm
replacing all the 45ers on non-root equipments. You may not
want to do this on the RHS, unless you rely on the engine
discarding fact duplicates.
-W
More information about the rules-users
mailing list