ptolemy.domains.de.lib
Class NonInterruptibleTimer

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.domains.de.kernel.DEActor
                              extended by ptolemy.domains.de.lib.DETransformer
                                  extended by ptolemy.domains.de.lib.Timer
                                      extended by ptolemy.domains.de.lib.NonInterruptibleTimer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, SequenceActor, TimedActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

Deprecated. Use ptolemy.actor.lib.ResettableTimer.

public class NonInterruptibleTimer
extends Timer

A NonInterruptibleTimer actor works similar to the Timer actor, except that if a NonInterruptibleTimer actor has not finished processing the previous input, a new input has to be delayed for processing. In other words, it can not be interrupted to respond new inputs. Instead, the new inputs will be queued and processed in a first come first serve (FCFS) fashion. This actor extends the Timer actor.

The key difference between the NonInterruptibleTimer actor and the Server actor is how the service time is specified. In the NonInterruptibleTimer actor, whenever an input arrives, the value of the input token specifies the service time. This actor will guarantee that much service time to be given to that input. In the Server actor, service times for inputs ar decided by the ServiceTime parameter, which may change any time during an execution. In particular, how much service time an input actually gets is decided the value of the ServiceTime parameter at the time the server is ready to serve that input.

Since:
Ptolemy II 4.1
Version:
$Id: NonInterruptibleTimer.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Haiyang Zheng
See Also:
Timer, Serialized Form
Accepted Rating:
Red (hyzheng)
Proposed Rating:
Yellow (hyzheng)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  java.util.LinkedList _delayedInputTokensList
          Deprecated.  
private  Time _nextTimeFree
          Deprecated.  
 
Fields inherited from class ptolemy.domains.de.lib.Timer
_causalityInterface, _currentInput, _currentOutput, _delay, _delayedOutputTokens, value
 
Fields inherited from class ptolemy.domains.de.lib.DETransformer
input, output
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
NonInterruptibleTimer(CompositeEntity container, java.lang.String name)
          Deprecated. Construct an actor with the specified container and name.
 
Method Summary
 void fire()
          Deprecated. Read one token from the input.
 void initialize()
          Deprecated. Reset the states of the server to indicate that the timer is not processing any inputs.
 boolean postfire()
          Deprecated. If there are delayed inputs that are not processed and the timer is not busy, begin processing the earliest input and schedule a future firing to produce it.
 
Methods inherited from class ptolemy.domains.de.lib.Timer
clone, preinitialize
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

_nextTimeFree

private Time _nextTimeFree
Deprecated. 

_delayedInputTokensList

private java.util.LinkedList _delayedInputTokensList
Deprecated. 
Constructor Detail

NonInterruptibleTimer

public NonInterruptibleTimer(CompositeEntity container,
                             java.lang.String name)
                      throws NameDuplicationException,
                             IllegalActionException
Deprecated. 
Construct an actor with the specified container and name.

Parameters:
container - The container.
name - The name of this actor.
Throws:
IllegalActionException - If the entity cannot be contained by the proposed container.
NameDuplicationException - If the container already has an actor with this name.
Method Detail

fire

public void fire()
          throws IllegalActionException
Deprecated. 
Read one token from the input. Send out a token that is scheduled to produce at the current time to the output.

Specified by:
fire in interface Executable
Overrides:
fire in class Timer
Throws:
IllegalActionException - If the delay value is negative, or this actor can not send tokens to ports, or this actor can not get tokens from ports.

initialize

public void initialize()
                throws IllegalActionException
Deprecated. 
Reset the states of the server to indicate that the timer is not processing any inputs.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class Timer
Throws:
IllegalActionException - If the base class throws it.

postfire

public boolean postfire()
                 throws IllegalActionException
Deprecated. 
If there are delayed inputs that are not processed and the timer is not busy, begin processing the earliest input and schedule a future firing to produce it.

Specified by:
postfire in interface Executable
Overrides:
postfire in class Timer
Returns:
True if execution can continue into the next iteration.
Throws:
IllegalActionException - If there is no director or can not schedule future firings to handle delayed input events.