ptolemy.domains.de.lib
Class Previous
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.de.kernel.DEActor
ptolemy.domains.de.lib.DETransformer
ptolemy.domains.de.lib.Previous
- 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
public class Previous
- extends DETransformer
On each iteration, this actor produces the token received on the previous
iteration. On the first iteration, it produces the token given by the
initialValue parameter, if such a value has been set.
Although it might be tempting to try, this actor is not very useful
for breaking precedences in a feedback loop in DE, the way the
TimedDelay actor in DE or the SampleDelay actor in SDF do.
Since it does not trigger until there is an input, it will not
actually break the precedences in a feedback loop.
The output data type is constrained to be at least as general
as both the input and the initialValue parameter.
- Since:
- Ptolemy II 2.0
- Version:
- $Id: Previous.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee
- See Also:
TimedDelay
,
SampleDelay
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
Previous(CompositeEntity container,
java.lang.String name)
Construct an actor with the specified container and name. |
Method Summary |
void |
fire()
If there is a previous token, then produce it on the output,
and then read the input and record it for the next firing. |
void |
initialize()
Initialize so that the initial token will be produced. |
boolean |
postfire()
Update the state of the actor. |
java.util.Set<Inequality> |
typeConstraints()
Override the method in the base class so that the type
constraint for the initialValue parameter will be set
if it contains a value. |
void |
wrapup()
Reset the state variables. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate |
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.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 |
initialValue
public Parameter initialValue
- The initial output value. If this is set, it specifies the
first output value produced when the first input arrives.
If it is not set, then no output is produced on the first
firing.
_previous
private Token _previous
_tempPrevious
private Token _tempPrevious
Previous
public Previous(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the specified container and name.
- Parameters:
container
- The composite actor 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.
fire
public void fire()
throws IllegalActionException
- If there is a previous token, then produce it on the output,
and then read the input and record it for the next firing.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If getting token from input or
sending token to output throws it.
initialize
public void initialize()
throws IllegalActionException
- Initialize so that the initial token will be produced.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
- Throws:
IllegalActionException
- If the super class throws it
or can not get a valid token from the initializeValue parameter.
postfire
public boolean postfire()
throws IllegalActionException
- Update the state of the actor.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class AtomicActor
- Returns:
- True if execution can continue into the next iteration.
- Throws:
IllegalActionException
- If the base class throws it.
typeConstraints
public java.util.Set<Inequality> typeConstraints()
- Override the method in the base class so that the type
constraint for the initialValue parameter will be set
if it contains a value.
- Specified by:
typeConstraints
in interface TypedActor
- Overrides:
typeConstraints
in class TypedAtomicActor
- Returns:
- a list of Inequality objects.
- See Also:
Inequality
wrapup
public void wrapup()
throws IllegalActionException
- Reset the state variables.
- Specified by:
wrapup
in interface Initializable
- Overrides:
wrapup
in class AtomicActor
- Throws:
IllegalActionException
- If the base class throws it.