ptolemy.actor.lib
Class TriggeredClock
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Source
ptolemy.actor.lib.TimedSource
ptolemy.actor.lib.Clock
ptolemy.actor.lib.TriggeredClock
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TimedActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class TriggeredClock
- extends Clock
This actor is an extension of Clock with a start and stop
input. A token at the start input will start the clock. A token
at the stop input will stop the clock, if it is still running.
If both start and stop are received simultaneously, then
the clock will be stopped.
So that this start and stop ports can
be used meaningfully in the CT domain, they are declared DISCRETE, and they
should be connected to an event generator. Other domains ignore this
declaration.
- Since:
- Ptolemy II 0.3
- Version:
- $Id: TriggeredClock.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
TypedIOPort |
start
A port that, if connected, is used to specify when the clock
starts. |
TypedIOPort |
stop
A port that, if connected, is used to specify when the clock
stops. |
Fields inherited from class ptolemy.actor.lib.Clock |
_cycleCount, _cycleStartTime, _enabled, _firstOutputProduced, _nextOutputTime, _offsets, _outputProduced, _phase, _tentativeNextOutputTime, numberOfCycles, offsets, period, values |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
protected void |
_updateTentativeValues()
Copy values committed in initialize() or in the last postfire()
into the corresponding tentative variables. |
void |
initialize()
Override the base class to start not being enabled. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, 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, 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 |
start
public TypedIOPort start
- A port that, if connected, is used to specify when the clock
starts. This port has undeclared type.
stop
public TypedIOPort stop
- A port that, if connected, is used to specify when the clock
stops. This port has undeclared type.
TriggeredClock
public TriggeredClock(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- 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.
initialize
public void initialize()
throws IllegalActionException
- Override the base class to start not being enabled.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class Clock
- Throws:
IllegalActionException
- If the parent class throws it,
or if the values parameter is not a row vector, or if the
fireAt() method of the director throws it, or if the director does not
agree to fire the actor at the specified time.
_updateTentativeValues
protected void _updateTentativeValues()
throws IllegalActionException
- Copy values committed in initialize() or in the last postfire()
into the corresponding tentative variables. In effect, this loads
the last known good value for these variables, which is particularly
important if time has gone backwards. This overrides the base class
to check whether the start or stop inputs have values.
- Overrides:
_updateTentativeValues
in class Clock
- Throws:
IllegalActionException
- If thrown accessing start or stop
input data.