ptolemy.domains.ct.kernel
Class CTCompositeActor
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.CompositeActor
ptolemy.actor.TypedCompositeActor
ptolemy.domains.ct.kernel.CTCompositeActor
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, CTDynamicActor, CTEventGenerator, CTStatefulActor, CTStepSizeControlActor, CTWaveformGenerator, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- ModalModel, Refinement
public class CTCompositeActor
- extends TypedCompositeActor
- implements CTEventGenerator, CTStatefulActor, CTStepSizeControlActor, CTDynamicActor, CTWaveformGenerator
A composite actor designed for the CT domain. This class
extends TypedCompositeActor and implements the following interfaces:
CTDynamicActor, CTEventGenerator, CTStatefulActor, CTStepSizeControlActor,
and CTWaveformGenerator.
In the CT domain, normal opaque composite actors are not fired
in every iteration. They are only fired in the discrete phase of execution
and when they have trigger events. On the other hand, CTCompositeActors
are fired in both discrete and continuous phases of execution in each
iteration.
The key task of this actor is to implement step-size control methods.
If the local director of this actor is an instance of CTTransparentDirector,
then any step-size control methods called on this actor will be delegated
to the local director. If the local director is not a CTTransparentDirector,
the implementations of the step-size control methods do not affect
the current step size.
This composite actor should be used when a CT subsystem needs to transfer
its step size control information to the outer domain. Typical usage
includes CT inside CT or CT inside FSM inside CT.
- Since:
- Ptolemy II 0.2
- Version:
- $Id: CTCompositeActor.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Jie Liu, Haiyang Zheng
- See Also:
CTDynamicActor
,
CTEventGenerator
,
CTStatefulActor
,
CTStepSizeControlActor
,
CTWaveformGenerator
,
CTTransparentDirector
,
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 |
CTCompositeActor()
Construct a CTCompositeActor in the default workspace with
no container and an empty string as its name. |
CTCompositeActor(CompositeEntity container,
java.lang.String name)
Create an CTCompositeActor with a name and a container. |
CTCompositeActor(Workspace workspace)
Construct a CTCompositeActor in the specified workspace with no
container and an empty string as a name. |
Method Summary |
boolean |
containsDynamicActors()
Return true if this CTCompositeActor contains dynamic actors. |
boolean |
containsWaveformGenerators()
Return true if this CTCompositeActor contains waveform generators. |
void |
emitCurrentStates()
Call the emitCurrentStates() method of the local director if the
local director is an instance of CTTransparentDirector. |
void |
goToMarkedState()
Call the goToMarkedState() method of the local director if the local
director is an instance of CTTransparentDirector. |
boolean |
hasCurrentEvent()
Call the hasCurrentEvent() method of the local director if the local
director is an instance of CTTransparentDirector. |
boolean |
isOutputAccurate()
Call the isOutputAccurate() method of the local director if the local
director is an instance of CTTransparentDirector. |
boolean |
isStateAccurate()
Call the isStateAccurate() method of the local director if the local
director is an instance of CTTransparentDirector. |
void |
markState()
Call the markState() method of the local director if the local
director is an instance of CTTransparentDirector. |
double |
predictedStepSize()
Call the predictedStepSize() method of the local director if the local
director is an instance of CTTransparentDirector. |
boolean |
prefireDynamicActors()
Call the prefireDynamicActors() method of the local director if the
local director is an instance of CTTransparentDirector. |
double |
refinedStepSize()
Call the refinedStepSize() method of the local director if the local
director is an instance of CTTransparentDirector. |
Methods inherited from class ptolemy.actor.CompositeActor |
_actorFiring, _actorFiring, _finishedAddEntity, _getPublishedPort, _setDirector, addActorFiringListener, addInitializable, addPiggyback, clone, connectionsChanged, createReceivers, createSchedule, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inferringWidths, inferWidths, initialize, inputPortList, isFireFunctional, isOpaque, isStrict, iterate, linkToPublishedPort, linkToPublishedPort, needsWidthInference, newInsideReceiver, newReceiver, notifyConnectivityChange, outputPortList, postfire, prefire, preinitialize, recordFiring, registerPublisherPort, removeActorFiringListener, removeInitializable, removePiggyback, requestChange, setContainer, setDirector, setManager, stop, stopFire, terminate, unlinkToPublishedPort, unlinkToPublishedPort, unregisterPublisherPort, wrapup |
Methods inherited from class ptolemy.kernel.CompositeEntity |
_adjustDeferrals, _deepOpaqueEntityList, _description, _exportMoMLContents, _recordDecoratedAttributes, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allCompositeEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepEntityList, deepGetEntities, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, 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, 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 |
CTCompositeActor
public CTCompositeActor()
- Construct a CTCompositeActor in the default workspace with
no container and an empty string as its name. Add the actor
to the workspace directory.
CTCompositeActor
public CTCompositeActor(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Create an CTCompositeActor with a name and a container.
The container argument must not be null, or a NullPointerException
will be thrown. This actor will use the workspace of the container
for synchronization and version counts. If the name argument is null,
then the name is set to the empty string. Increment the version of the
workspace. This actor will have no local director initially, and its
executive director will be simply the director of the container.
- Parameters:
container
- The container actor.name
- The name of this actor.
- Throws:
IllegalActionException
- If the container is incompatible
with this actor.
NameDuplicationException
- If the name coincides with
an actor already in the container.
CTCompositeActor
public CTCompositeActor(Workspace workspace)
- Construct a CTCompositeActor in the specified workspace with no
container and an empty string as a name. If the workspace argument is
null, then use the default workspace. Increment the version number of
the workspace.
- Parameters:
workspace
- The workspace that will list the actor.
containsDynamicActors
public boolean containsDynamicActors()
- Return true if this CTCompositeActor contains dynamic actors.
- Returns:
- True if this CTCompositeActor contains dynamic actors.
containsWaveformGenerators
public boolean containsWaveformGenerators()
- Return true if this CTCompositeActor contains waveform generators.
- Returns:
- True if this CTCompositeActor contains waveform generators.
emitCurrentStates
public void emitCurrentStates()
throws IllegalActionException
- Call the emitCurrentStates() method of the local director if the
local director is an instance of CTTransparentDirector. Otherwise,
do nothing.
- Specified by:
emitCurrentStates
in interface CTDynamicActor
- Throws:
IllegalActionException
- If tentative states cannot be emitted.
goToMarkedState
public void goToMarkedState()
throws IllegalActionException
- Call the goToMarkedState() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, do nothing.
- Specified by:
goToMarkedState
in interface CTStatefulActor
- Throws:
IllegalActionException
- If there is no marked state.
hasCurrentEvent
public boolean hasCurrentEvent()
- Call the hasCurrentEvent() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise,
return false, indicating that this composite actor does not
have an event at the current time.
- Specified by:
hasCurrentEvent
in interface CTEventGenerator
- Returns:
- True if there is an event at the current time.
isOutputAccurate
public boolean isOutputAccurate()
- Call the isOutputAccurate() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, return
true, which indicates the current step size is accurate w.r.t. outputs.
- Specified by:
isOutputAccurate
in interface CTStepSizeControlActor
- Returns:
- True if the current step size is accurate w.r.t. outputs.
isStateAccurate
public boolean isStateAccurate()
- Call the isStateAccurate() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, return
true, which indicates the current step size is accurate w.r.t. the
current states.
- Specified by:
isStateAccurate
in interface CTStepSizeControlActor
- Returns:
- True if the current step size is accurate w.r.t. the current
states.
markState
public void markState()
- Call the markState() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, do nothing.
- Specified by:
markState
in interface CTStatefulActor
predictedStepSize
public double predictedStepSize()
- Call the predictedStepSize() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, return
java.lang.Double.MAX_VALUE.
- Specified by:
predictedStepSize
in interface CTStepSizeControlActor
- Returns:
- The predicted step size.
prefireDynamicActors
public boolean prefireDynamicActors()
throws IllegalActionException
- Call the prefireDynamicActors() method of the local director if the
local director is an instance of CTTransparentDirector. Return true
if all dynamic actors are prefired, otherwise, return false. If the
local director is not an instance of CTTransparentDirector, return true
always.
- Returns:
- True if all dynamic actors are prefired.
- Throws:
IllegalActionException
- If the local director throws it.
refinedStepSize
public double refinedStepSize()
- Call the refinedStepSize() method of the local director if the local
director is an instance of CTTransparentDirector. Otherwise, return
the current step size of the executive director.
- Specified by:
refinedStepSize
in interface CTStepSizeControlActor
- Returns:
- The refined step size.