> your point about load on Ernest is well taken (believe me, I
> know how he
> feels), but on the efficiency front things seem a little less
> clear. If I read
> Ernest's original response correctly he seemed to imply that a "deep"
> implementation of modules - where each namespace maintains its
> own agenda - would
> actually be _more_ efficient for large rulesets which are, in
> effect, partitioned
> into smaller ones by means of this approach.
Taken to an extreme, isn't a "deep" implementation of modules identical to
separate rete instances (each having it's own agenda etc.) Each rete
instance could then be assigned a "partitioned" ruleset.
>
> There has been much mention of what is, in a effect, a group of
> independendent
> agents (Rete processes running on their own rulesets) which
> cooperate via shared
> facts of some kind (Java Spaces, Sockets, .....). This is nice
> but is neither what
> I want nor need:
Multiple rete instances do not necessarily have to run autonomously or
communicate via sockets etc.
For example, each rete instance (corresponding to your proposed module
partitioning) could have available to it a global list of facts/definstances
containing references to each of the other "modules."
To achieve sharing of facts between the rete instances, a special
UserFunction called moduleAssert() could be used to assert the fact locally
as well as broadcast the fact to other modules, or to some subset.
Optionally, when these facts are asserted into the other rete instances,
they could be marked in some special way to indicate their source, if that
is important to you.
All of this could work fairly efficiently, other than the duplicated facts
taking up extra space, but presumably the number of facts that need to be
shared are small (a big assumption on my part...)
I am probably wrong but if Jess implemented modules internally, it might
work in a similar fashion anyway.
Just speculating!
alanm
---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------