ptolemy.domains.ct.kernel
Class CTRefinement

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.kernel.CompositeEntity
                      extended by ptolemy.actor.CompositeActor
                          extended by ptolemy.actor.TypedCompositeActor
                              extended by ptolemy.actor.lib.hoc.Refinement
                                  extended by ptolemy.domains.ct.kernel.CTRefinement
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

public class CTRefinement
extends Refinement
implements CTDynamicActor, CTEventGenerator, CTStatefulActor, CTStepSizeControlActor, CTWaveformGenerator

A version of the Case Refinement actor designed for the CT domain.

Since:
Ptolemy II 5.2
Version:
$Id: CTRefinement.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
Serialized Form
Accepted Rating:
Red (hyzheng)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
 
Fields inherited from class ptolemy.actor.lib.hoc.Refinement
_mirrorDisable
 
Fields inherited from class ptolemy.actor.CompositeActor
_actorFiringListeners, _causalityInterface, _initializables, _notifyingActorFiring, _publishedPorts, _publisherRelations, _stopRequested
 
Fields inherited from class ptolemy.kernel.CompositeEntity
_levelCrossingLinks
 
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
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
CTRefinement(CompositeEntity container, java.lang.String name)
          Create an CTRefinement with a name and a container.
 
Method Summary
 void emitCurrentStates()
          Call the emitCurrentStates() method of the this refinement director if it is an instance of CTTransparentDirector.
 void goToMarkedState()
          Call the goToMarkedState() method of the this refinement director if it is an instance of CTTransparentDirector.
 boolean hasCurrentEvent()
          Call the hasCurrentEvent() method of the this refinement director if it is an instance of CTTransparentDirector.
 boolean isOutputAccurate()
          Call the isOutputAccurate() method of the this refinement director if it is an instance of CTTransparentDirector.
 boolean isStateAccurate()
          Call the isStateAccurate() method of the this refinement director if it is an instance of CTTransparentDirector.
 void markState()
          Call the markState() method of the this refinement director if it is an instance of CTTransparentDirector.
 double predictedStepSize()
          Call the predictedStepSize() method of the this refinement director if it is an instance of CTTransparentDirector.
 boolean prefireDynamicActors()
          Call the prefireDynamicActors() method of the this refinement director if it is an instance of CTTransparentDirector.
 double refinedStepSize()
          Call the refinedStepSize() method of the this refinement director if it is an instance of CTTransparentDirector.
 
Methods inherited from class ptolemy.actor.lib.hoc.Refinement
_checkContainer, newPort, setMirrorDisable
 
Methods inherited from class ptolemy.actor.TypedCompositeActor
_addEntity, _addPort, _addRelation, _checkTypesFromTo, _typeConstraintsFromTo, newRelation, resolveTypes, typeConstraintList, typeConstraints
 
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.Entity
_removePort, connectedPortList, connectedPorts, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, 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, _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
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, 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
 

Constructor Detail

CTRefinement

public CTRefinement(CompositeEntity container,
                    java.lang.String name)
             throws IllegalActionException,
                    NameDuplicationException
Create an CTRefinement 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.

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.
Method Detail

emitCurrentStates

public void emitCurrentStates()
                       throws IllegalActionException
Call the emitCurrentStates() method of the this refinement director if it 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 this refinement director if it 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 this refinement director if it 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 this refinement director if it 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 this refinement director if it 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 this refinement director if it is an instance of CTTransparentDirector. Otherwise, do nothing.

Specified by:
markState in interface CTStatefulActor

predictedStepSize

public double predictedStepSize()
Call the predictedStepSize() method of the this refinement director if it 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 this refinement director if it 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 this refinement director if it 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.