Hi,
I am wondering if anyone is experience problems with salience using Jess
7. Since moving to Jess 7, I have noticed recently a strange occurrence
where a rule with a higher salience is activated but is not fired. Then
a rule with a lower salience is fired. Here is a notional example:
There are a several rules with a salience offset by 25. According to my
understanding of salience, modc::x should fire on all matching facts
before modc::y.
(defrule modc::x
(declare (salience 5400))
...)
... other rules with saliences < 5400 and >= 5150 ...
(defrule modc::y
(declare (salience 5125))
...)
Then when running the rules, the output includes:
FIRE 128 modc::y f-178,,
==> f-288 (MAIN::output ...)
<== Activation: modc::x : f-191, f-82,,
To fix the problem I have rewritten the rules using a separate module
for each rule instead of salience. But I am wondering what the cause of
the problem is and if salience should no longer be trusted in Jess 7.
Thanks in advance,
Brian