Christian de Sainte Marie wrote: > > Gary Hallmark wrote: >> BTW, Oracle/Jess does not support all-at-once rule firing, other than >> by aggregation. Nor do they support random firing. I think these are >> rare features, and do not merit standardization. > > I thought of "all-at-once" as a possible way to specify a "sequential" > mode: not sure it is very common, indeed. That won't work. You could have a sequence of rules A,B and you first fire A, then depending on A's actions you may or may not fire B. I think I mentioned before that one way to model sequential is with priority and probably also with mutual exclusion. Priority could be an integer or double property attached to a rule. Mutual exclusion could be a boolean property attached to a group. A sequential ruleset would map to a mutex group containing rules whose priority value reflects the sequential ordering. Mutual exclusion is becoming more common in rule engines as a primitive to support conflict resolution. For example, the notion of "overrides" is common in decision tables and can be implemented using mutual exclusion and priority. > > This being said: what does Oracle/Jess do when all the conflict > resolution strategies have been applied? Fire all the rules that > remain fireable or fire only one? The former would be what I had in > mind (but what I may not have described clearly enough) with > "all-at-once" and the latter correspond to the definition of "random". One rule is chosen in a deterministic but unspecified way. It is not random, nor is it all-at-once.Received on Tuesday, 5 August 2008 18:02:50 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:53 GMT