I think Thomas Gentsch wrote:
> 
> I'd favor this a lot ... maybe a concept might be to map Java beans
> not to facts but rather to some kind of 'objects' (as COOL in Clips,
> which *do* behave as desired, i.e.  here a rule fires only if any of
> the involved object properties has changed, real facts instead
> behave as in Jess).

If you think about it, from an implementation perspective, what COOL
does is to map each property of an object onto a separate fact --
i.e., something like the familiar object/attribute/value triples:

  (instance (object ?o) (property ?p) (value ?v))

so one instance maps onto many facts, which is why they are
independent from the Rete network's point of view. It should be
possible to change the shadow fact implementation to look like this,
while the syntax still looks just like it looks now.

> 
> Of course this would require major user Jess code modifications, unless
> maybe you accept both formats above, and switch the behavior depending
> on the flavor - the first rule fires with the current policy (if *any*
> slot of the fact/bean changes), the latter with the alternate policy.
> This way you could have both and would be even backward compatible.

Well, as I said, this is too radical of a change to be
runtime-configurable. Jess's "small and simple" philosophy would be
sorely challenged by this. We'll have to decide one way or the
other. I think what might happen is that the syntax doesn't change,
but *both* facts and definstances get the new behavior -- i.e., the
new unordered fact implementation. I think most fact-based code would
actually work the same.

The problem is with Java code. I'll have to think about how to keep
Java code that manipulates Fact objects from breaking. The data
structure would have to stay the same, but the Rete network itself
would have to change, I suppose.

---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
Org. 8920, MS 9012                  [EMAIL PROTECTED]
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to