ptolemy.domains.ptides.lib
Class AbsoluteDelay

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.actor.lib.Transformer
                              extended by ptolemy.actor.lib.TimeDelay
                                  extended by ptolemy.domains.ptides.lib.AbsoluteDelay
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class AbsoluteDelay
extends TimeDelay

This actor produces an output at model time equal to the value of outputTime. the other port. This actor keeps track of all timestamps that are produced previously, and would produce an output at timestamp of value max{t, outputTime}, where t is the current model time.

Since:
Ptolemy II 1.0
Version:
$Id: AbsoluteDelay.java 55372 2009-08-05 20:56:01Z jiazou $
Author:
Jia Zou, Slobodan Matic
See Also:
Serialized Form
Accepted Rating:
Red (jiazou)
Proposed Rating:
Yellow (jiazou)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
protected  Time _outputTime
          The amount of delay.
protected  Time _zero
          Zero time.
 TypedIOPort outputTime
          The amount specifying delay.
 
Fields inherited from class ptolemy.actor.lib.TimeDelay
_causalityMarker, _currentOutput, _delay, _delayedOutputTokens, delay
 
Fields inherited from class ptolemy.actor.lib.Transformer
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
AbsoluteDelay(CompositeEntity container, java.lang.String name)
          Construct an actor with the specified container and name.
 
Method Summary
protected  void _init()
          Override the method of the super class to initialize the parameter values.
 void fire()
          Update the delay parameter from the delay port and ensure the delay is not negative.
 boolean postfire()
          Process the current input if it has not been processed.
 void preinitialize()
          Override the base class to declare that the output does not depend on the delay port in a firing.
 
Methods inherited from class ptolemy.actor.lib.TimeDelay
attributeChanged, clone, initialize, isStrict
 
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, 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, 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, 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

outputTime

public TypedIOPort outputTime
The amount specifying delay. Its default value is 0.0.


_outputTime

protected Time _outputTime
The amount of delay.


_zero

protected Time _zero
Zero time.

Constructor Detail

AbsoluteDelay

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

Parameters:
container - The composite entity to contain this one.
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
Update the delay parameter from the delay port and ensure the delay is not negative. Call the fire method of super class to consume inputs and generate outputs.

Specified by:
fire in interface Executable
Overrides:
fire in class TimeDelay
Throws:
IllegalActionException - If the super class throws it, or a negative delay is received.

postfire

public boolean postfire()
                 throws IllegalActionException
Process the current input if it has not been processed. Schedule a firing to produce the earliest output token.

Specified by:
postfire in interface Executable
Overrides:
postfire in class TimeDelay
Returns:
True if execution can continue into the next iteration.
Throws:
IllegalActionException - If scheduling to refire cannot be performed or the superclass throws it.

preinitialize

public void preinitialize()
                   throws IllegalActionException
Override the base class to declare that the output does not depend on the delay port in a firing.

Specified by:
preinitialize in interface Initializable
Overrides:
preinitialize in class TimeDelay
Throws:
IllegalActionException - If the superclass throws it.

_init

protected void _init()
              throws NameDuplicationException,
                     IllegalActionException
Override the method of the super class to initialize the parameter values.

Throws:
NameDuplicationException
IllegalActionException