Well, I don't know what to tell you. The whole problem description
seems to start from a premise that I don't understandq -- that
listFacts() will return more facts than have been asserted. This is
not true -- it will only return exactly the facts in working memory,
not any of the internal "copies".

It looks like you're taking these internal copies, cloning them, and
then collecting these copies. This would indeed give rise to more
facts than are in working memory. But we've already discussed using
getIcon() to get the "real" facts; if you do that, then the cloned set
should be precisely the same size as the original set, which should be
only as large as the number of facts that have been asserted. You're
going to have to work the details out for yourself, but I don't see
anything here that can't be explained by what we've already discussed.

I think Nik Joshi wrote:
> There is only one JESS engine, not two.  When I send the serialized facts
> over to the client side, I'm not asserting them into any engine, I'm simply
> displaying the cluster of related facts as a graph.  In any case, the
> OutOfMemoryError only occurs on the server side.  I would post the actual
> code, but it's fairly complex (not to mention proprietary), and if I had to
> do it, I would have to make up another example.
> 
> - Nik.
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Behalf Of [EMAIL PROTECTED]
> Sent: Wednesday, February 11, 2004 6:04 AM
> To: [EMAIL PROTECTED]
> Subject: Re: JESS: java/jess serialization question
> 
> 
> I think Nik Joshi wrote:
> >
> > Now, when I added in the serialization and the cloning, the number of
> facts
> > in the engine jumped to 8 to 10 times the number of assertions.
> 
> Well, let's see. The first problem was that the ObjectOutputStream
> would not send a modified object fact, so the workaround was to clone
> the fact. Now I'm guessing that the problem is that there are some
> objects involved in your program for which o.clone().equals(o) is
> false, so that facts that are equal in one engine are unequal in the
> other, so multiple assertions of nominally identical facts are not
> being culled in the second engine. Hard to say without seeing the
> precise code that's being executed, but I think that's a good guess.
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Science and Engineering PSEs        Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> PO Box 969, MS 9012                 [EMAIL PROTECTED]
> Livermore, CA 94550         http://herzberg.ca.sandia.gov
> 
> --------------------------------------------------------------------
> 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]
> --------------------------------------------------------------------
> 
> --------------------------------------------------------------------
> 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]
> --------------------------------------------------------------------
> 



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

--------------------------------------------------------------------
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