public class HDFFSMDirector extends MultirateFSMDirector
An HDFFSMDirector is often used in heterochronous dataflow (HDF) models. The HDF model of computation is a generalization of synchronous dataflow (SDF). In SDF, the set of port rates of an actor (called the rate signatures) are constant. In HDF, however, rate signatures are allowed to change between iterations of the HDF schedule. The change of rate signatures can be modeled by state transitions of a modal model, in which each state refinement infers a set of rate signatures.
References
MultirateFSMDirector,
HDFDirector| Red (cxh) |
| Red (zhouye) |
NamedObj.ContainedObjectsIterator_currentLocalReceiverMap, _indexOffset, _localReceiverMaps, controllerName_actorsFinishedExecution, _aspectForActor, _aspectsPresent, _defaultMicrostep, _executionAspects, _finishRequested, _initializables, _nextScheduleTime, _stopRequested, _tokenSentToCommunicationAspect, _zeroTime, localClock, startTime, stopTime_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
HDFFSMDirector(CompositeEntity container,
java.lang.String name)
Construct a director in the given container with the given name.
|
| Modifier and Type | Method and Description |
|---|---|
Entity |
getContext()
Return the change context being made explicit.
|
void |
initialize()
Initialize the modal model.
|
boolean |
postfire()
Request a change of state transition to the manager.
|
void |
preinitialize()
Preinitialize the modal model.
|
_declareDependency, _declareReconfigurationDependencyForRefinementRateVariables, _doPostfire, _getEnclosingDomainActor, _getRefinementRateVariables, _setProductionConsumptionRates, _updateInputTokenConsumptionRates, _updateOutputTokenProductionRates, fire, fireAtCurrentTime, newReceiver, supportMultirateFiring, transferInputs, transferOutputs_buildLocalReceiverMaps, _currentLocalReceivers, _getLastChosenTransition, _getStateRefinementsToPostfire, _getTransitionRefinementsToPostfire, _readInputs, _readOutputsFromRefinement, _setCurrentConnectionMap, _setCurrentState, _transferOutputs, attributeChanged, clone, defaultDependency, fireAt, getController, getIndex, getModelNextIterationTime, getModifiedVariables, getParseTreeEvaluator, handleModelError, implementsStrictActorSemantics, invalidateSchedule, isStrict, prefire, resetOutputReceivers, setContainer, setIndex_actorFinished, _consultTimeRegulators, _description, _isEmbedded, _isTopLevel, _schedule, _transferInputs, addInitializable, createSchedule, delayDependency, finish, fireAt, fireAt, fireContainerAt, fireContainerAt, getCausalityInterface, getCurrentTime, getDeadline, getEnvironmentTime, getErrorTolerance, getExecutionAspect, getGlobalTime, getModelStartTime, getModelStopTime, getModelTime, getNextIterationTime, getStartTime, getStopTime, getTimeResolution, initialize, invalidateResolvedTypes, isEmbedded, isFireFunctional, isStopRequested, iterate, mutexLockObject, notifyTokenSentToCommunicationAspect, preinitialize, removeInitializable, requestInitialization, resume, resumeActor, scheduleContainedActors, setCurrentTime, setEmbedded, setModelTime, setTimeResolution, stop, stopFire, suggestedModalModelDirectors, suspend, terminate, transferOutputs, wrapup_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamepublic HDFFSMDirector(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container - Container of the director.name - Name of this director.IllegalActionException - If the name has a period in it, or
the director is not compatible with the specified container.NameDuplicationException - If the container is not a
CompositeActor and the name collides with an entity in the container.public Entity getContext()
getContext in interface ExplicitChangeContextgetContext in class FSMDirectorpublic void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize in class MultirateFSMDirectorIllegalActionException - If the base class throws it.public boolean postfire()
throws IllegalActionException
postfire in interface Executablepostfire in class MultirateFSMDirectorIllegalActionException - If a refinement throws it,
if there is no controller.public void preinitialize()
throws IllegalActionException
preinitialize in interface Initializablepreinitialize in class MultirateFSMDirectorIllegalActionException - If there is no controller, or if the
non-transient initial state has no or more than one refinement, or if
the preinitialize() method of one of the associated actors throws it.