Ernest,

Thanks for your support. Now that you've given me a leg to stand upon,
perhaps I could suggest another change.

I noticed that these node events that now carry tokens are all generated
upon the token's arrival in the class. Ideally, the event would be generated
right before the token is propagated to the next node. Under the current
implementation, there's no way to determine what node delivered the token
that triggered the event broadcast. However, if the event was generated by a
node just before the token is propagated to adjacent nodes, one could
uniquely determine how far the token propagated through the Rete network. If
one was still interested in determining which nodes were getting the token,
that information would still be available via the originating node's
getSuccessor method.

Finally if you're so inclined, perhaps you could introduce a public accessor
method for the Token's m_tag attribute.

Thanks again,
Steve

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of [EMAIL PROTECTED]
> Sent: Thursday, April 25, 2002 10:26 AM
> To: [EMAIL PROTECTED]
> Subject: Re: JESS: Debug Utility
>
>
> Hi Steve,
>
> You're quite right; thanks for the tip. Consider the changes an
> official patch.
>
> I think Steve Webster wrote:
> > I'm trying to go with your latter suggestion, registering
> JessListeners to
> > Nodes, and I noticed that all RETE_LEFT_TOKEN events do not carry Token
> > objects as part of the event. Rather some event generators, Node1 and
> > Node1LTR, carry Facts as the event objects, whereas others, NodeTest and
> > Node2, carry Tokens. This inconsistency in JessEvent object
> references makes
> > instrumenting the network difficult, because I would like to
> make use of the
> > Token tag to trap additions versus removals. Also, it appears that the
> > ViewFunctions.NodeViewer.eventHappened method assumes that all
> event object
> > will be tokens, and therefore it breaks when Nodes broadcasting
> Facts are
> > being displayed.
> >
> > I suggest that Node RETE_LEFT_TOKEN events carry Tokens as
> their objects.
> > Currently, the broadcasted facts are actually derived from the
> associated
> > Token object via the topFact method. Consequently, the change to a Token
> > reference rather than the topFact method invocation is a
> trivial change, and
> > it reduces processing by one method call.
> >
> > I probably don't have a full appreciation for the issues, so I
> look forward
> > to the feedback.
> >
> > Thanks,
> > Steve
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On
> > > Behalf Of [EMAIL PROTECTED]
> > > Sent: Monday, April 22, 2002 4:36 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: JESS: Debug Utility
> > >
> > >
> > > If you double-click a join node in the "view" display, it shows you
> > > the contents of both memories in that node; in theory, this is
> > > equivalent to the information you're looking for, if not so
> > > convenient. The (matches) command give out this same information. Both
> > > (matches) and (view) get their information from Node2.displayMemory(),
> > > so that would be one place to look. But be warned that using
> > > package-protected interfaces to get at the contents of the Rete nodes
> > > is dangerous business, as things do change quite a bit between
> > > releases -- both the interfaces and the data representation may
> > > change.
> > >
> > > The only public interface to what happens inside the Rete network is
> > > an event-based one. Every jess.Node object support JessListeners. You
> > > can add a JessListener to a node and it will send you an event
> > > whenever a token is delivered to it. Unfortunately there's no publi
> > > API for getting the nodes in a rule; but cheating and using
> > > HasLHS.getNodes() should be pretty safe.
> > >
> > >
> > > I think Steve Webster wrote:
> > > [Charset iso-8859-1 unsupported, filtering to ASCII...]
> > > > All,
> > > >
> > > > I'm interested in writing a utility that's similar to the
> > > (view) command,
> > > > with a bit of a twist. I'm interested understanding which
> predicates are
> > > > matched, failing a rule activitation. However, I'm having difficulty
> > > > understanding where to instrument the Rete network in order to
> > > trap these
> > > > partial matches. Any approaches to this problem would be greatly
> > > > appreciated.
> > > >
> > > > Much obliged,
> > > > Steve
> > > >
> > >
> > >
> > > ---------------------------------------------------------
> > > 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]
> > > --------------------------------------------------------------------
> > >
> > >
> >
> >
> > --------------------------------------------------------------------
> > 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
> 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]
> --------------------------------------------------------------------
>
>


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