ptolemy.domains.de.lib
Class WaitingTime
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.WaitingTime
- 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 WaitingTime
- extends DEActor
This actor measures the time that events at one input have to wait for
events at another. Specifically, there will be one output event for
each waiter input event. But the output event is delayed until the
next arrival of an event at waitee. When one or more events arrive
at waitee, then all events that have arrived at waiter since
the last waitee (or since the start of the execution) trigger an
output. The value of each output is the time that the waiter event
waited for waitee. The inputs have undeclared type, so anything
is acceptable. The output is always a DoubleToken.
- Since:
- Ptolemy II 0.3
- Version:
- $Id: WaitingTime.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Lukito Muliadi, Edward A Lee
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
private java.util.Vector |
_waiting
|
TypedIOPort |
output
The output, which is always a DoubleToken representing the
that a waiter waited for an input at the waitee input. |
TypedIOPort |
waitee
An input event here triggers an output event for each waiter
input that arrived since the last input here. |
TypedIOPort |
waiter
An input event here waits for the next event at the waitee
input. |
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 |
WaitingTime(CompositeEntity container,
java.lang.String name)
Construct an actor with the specified container and name. |
Method Summary |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
fire()
If this firing is triggered by an event at waitee, then output
the waiting time for each prior event arrival at waiter
since the last arrival of waitee. |
void |
initialize()
Clear the list of waiters. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, 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.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 |
output
public TypedIOPort output
- The output, which is always a DoubleToken representing the
that a waiter waited for an input at the waitee input.
waiter
public TypedIOPort waiter
- An input event here waits for the next event at the waitee
input. The type of this port is undeclared, so any input is acceptable.
waitee
public TypedIOPort waitee
- An input event here triggers an output event for each waiter
input that arrived since the last input here. The type of this
port is undeclared, so any input is acceptable.
_waiting
private java.util.Vector _waiting
WaitingTime
public WaitingTime(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.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
clone
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
- Clone the actor into the specified workspace. This calls the
base class and then sets the ports.
- Overrides:
clone
in class AtomicActor
- Parameters:
workspace
- The workspace for the new object.
- Returns:
- A new actor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class has
has an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
fire
public void fire()
throws IllegalActionException
- If this firing is triggered by an event at waitee, then output
the waiting time for each prior event arrival at waiter
since the last arrival of waitee. If there is no event at
waitee, then record the time of arrival of the events
at waiter, and produce no output.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If get() or send() throws it.
initialize
public void initialize()
throws IllegalActionException
- Clear the list of waiters.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
- Throws:
IllegalActionException
- If the parent class throws it.