Hello!
We found a problem with the interaction of a serialized working memory and
updates to the rules.
Our process involves serializing the working memory to a database. Later,
when we load the serialized version of the working memory back from the
database, if we've updated the rules it will detect that fact and it will
throw away our carefully preserved working memory. We suspect this is
because the working memory maintains a reference to the rules as they were
when the working memory is originally serialized.
I'm wondering if there is some way to accomplish what we're trying to do,
either a way to serialize the working memory with no reference to the
rules or some way to have the working memory update to accomodate any
changes to the rules that may have occurred since it was serialized.
I know that some other rules engines, such as FairIsaac's Blaze engine,
have complex schemes where you can have versioned rules in a repository
and update the rules in that fashion. I'm not sure that we're trying to
do anything quite so complex, just a way to occasionally push out a new
version of our rules without having to lose all of the work we've done to
the working memory in the past.
(There may come a time where we may intend for the working memories to be
cleared out, but I think we can do that in a manual fashion when the time
comes.)
Thanks for your time, hopefully there's an easy answer!