A DDEThread controls an actor according to DDE semantics. The
primary purpose of a DDEThread is to control the iteration
methods of an executing actor and to maintain the actor's local
notion of time according to DDE semantics. A DDEThread has two
unique functionalities for accomplishing this goal. First a
DDEThread instantiates a TimeKeeper object. A TimeKeeper manages
a given actor's local notion of time according to DDE semantics.
The second task of a DDEThread is to notify directly connected
actors when the actor controlled by the thread is ending execution.
Return the time keeper that keeps time for the actor that
this thread controls.
The TimeKeeper of the actor that this thread
public void noticeOfTermination()
Notify output-connected actors that the actor controlled
by this thread is ending execution. Output-connected
actors are those that are connected to the actor
controlled by this thread via output ports of this thread's
actor. Send events with time stamps of
PrioritizedTimedQueue.INACTIVE to these "downstream" actors.
Start this thread and initialize the time keeper to a future
time if specified in the director's initial time table. Use
this method to facilitate any calls to DDEDirector.fireAt()
that occur prior to the creation of this thread. If fireAt()
was called for time 'T' with respect to the actor that this
thread controls, then set the current time of this threads
TimeKeeper to time 'T.'
NOTE: This method assumes an implementation of fireAt() that
would be more appropriately named continueAt().