public abstract class BaseSDFScheduler extends Scheduler
NamedObj.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected static boolean |
VERBOSE
If true, then print verbose messages.
|
_DEFAULT_SCHEDULER_NAME
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
Constructor and Description |
---|
BaseSDFScheduler()
Construct a scheduler with no container(director)
in the default workspace, the name of the scheduler is
"Scheduler".
|
BaseSDFScheduler(Director container,
java.lang.String name)
Construct a scheduler in the given container with the given name.
|
BaseSDFScheduler(Workspace workspace)
Construct a scheduler in the given workspace with the name
"Scheduler".
|
Modifier and Type | Method and Description |
---|---|
protected void |
_declareDependency(ConstVariableModelAnalysis analysis,
Port port,
java.lang.String name,
java.util.List dependents)
Add a DependencyDeclaration (with the name
"_SDFRateDependencyDeclaration") to the variable with the given
name in the given port that declares the variable is dependent
on the given list of variables.
|
protected void |
_saveBufferSizes(java.util.Map minimumBufferSizes)
Create and set a parameter in each relation according
to the buffer sizes calculated for this system.
|
protected void |
_saveContainerRates(java.util.Map externalRates)
Push the rates calculated for this system up to the contained Actor,
but only if the ports do not have a set rates.
|
protected void |
_saveFiringCounts(java.util.Map entityToFiringsPerIteration)
Create and set a parameter in each actor according
to the number of times it will fire in one execution of the schedule.
|
abstract void |
declareRateDependency()
Declare the rate dependency on any external ports of the model.
|
_getSchedule, clone, getSchedule, isValid, setContainer, setValid
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, 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, handleModelError, 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, workspace
protected static final boolean VERBOSE
public BaseSDFScheduler()
public BaseSDFScheduler(Workspace workspace)
workspace
- Object for synchronization and version tracking.public BaseSDFScheduler(Director container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this attribute.IllegalActionException
- If the attribute is not of an
acceptable class for the container, or if the name contains a period.NameDuplicationException
- If the name coincides with
an attribute already in the container.public abstract void declareRateDependency() throws IllegalActionException
IllegalActionException
- If there is a problem setting
the rate dependency on an external port.protected void _declareDependency(ConstVariableModelAnalysis analysis, Port port, java.lang.String name, java.util.List dependents) throws IllegalActionException
analysis
- The ConstVariableModelAnalysisport
- The port that gets the DependencyDeclaration.name
- The name of the DependencyDeclaration.dependents
- The dependents.IllegalActionException
- If there is a problem setting
the rate dependency on a portprotected void _saveBufferSizes(java.util.Map minimumBufferSizes)
minimumBufferSizes
- A map from relation
to the minimum possible buffer size of that relation.protected void _saveContainerRates(java.util.Map externalRates) throws NotSchedulableException, IllegalActionException
externalRates
- A map from external port to the rate of that
port.IllegalActionException
- If any called method throws it.NotSchedulableException
- If an external port is both
an input and an output, or neither an input or an output, or
connected on the inside to ports that have different
tokenInitProduction.protected void _saveFiringCounts(java.util.Map entityToFiringsPerIteration)
entityToFiringsPerIteration
- A map from actor to firing count.