public class DistributedSDFScheduler extends SDFScheduler
A | ||||
B | C | |||
D | E F | G |
SDFScheduler
NamedObj.ContainedObjectsIterator
_externalRates, _firingVector, _rateVariables, constrainBufferSizes
VERBOSE
_DEFAULT_SCHEDULER_NAME
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
Constructor and Description |
---|
DistributedSDFScheduler()
Construct a scheduler with no container(director)
in the default workspace.
|
DistributedSDFScheduler(Director container,
java.lang.String name)
Construct a scheduler in the given container with the given name.
|
DistributedSDFScheduler(Workspace workspace)
Construct a scheduler in the given workspace.
|
Modifier and Type | Method and Description |
---|---|
protected Schedule |
_getParallelSchedule()
Return a parallelSchedule result of performing a topological
sort of the graph that can be constructed from the model's data
dependencies.
|
protected Schedule |
_getSchedule()
Return the scheduling sequence.
|
protected Schedule |
_scheduleInParallelConnectedActors(java.util.Map minimumBufferSize,
java.util.Map externalRates,
java.util.LinkedList actorList,
CompositeActor container,
java.util.LinkedList allActorList)
Duplicate with modifications of the _scheduleConnectedActors
method.
|
protected void |
_simulateTokensCreatedLast(IOPort outputPort,
int createdTokens,
java.util.LinkedList actorList,
java.util.LinkedList readyToScheduleActorList)
Duplicate and modification of the _simulateTokensCreated
method.
|
_checkDynamicRateVariables, _computeMaximumFirings, _countUnfulfilledInputs, _getFiringCount, _simulateExternalInputs, _simulateInputConsumption, _solveBalanceEquations, _vectorizeFirings, clone, declareRateDependency, getExternalRates, getFiringCount, valueChanged
_declareDependency, _saveBufferSizes, _saveContainerRates, _saveFiringCounts
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
public DistributedSDFScheduler()
public DistributedSDFScheduler(Workspace workspace)
workspace
- Object for synchronization and version tracking.public DistributedSDFScheduler(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.protected Schedule _getParallelSchedule() throws NotSchedulableException, IllegalActionException
NotSchedulableException
- If the rates specified for
the model imply that the model is not statically schedulable.IllegalActionException
- If the rate parameters
of the model are not correct, or the computed rates for
external ports are not correct.protected Schedule _getSchedule() throws NotSchedulableException, IllegalActionException
_getSchedule
in class SDFScheduler
NotSchedulableException
- If the rates specified for
the model imply that the model is not statically schedulable.IllegalActionException
- If the rate parameters
of the model are not correct, or the computed rates for
external ports are not correct.CompositeEntity.deepEntityList()
protected Schedule _scheduleInParallelConnectedActors(java.util.Map minimumBufferSize, java.util.Map externalRates, java.util.LinkedList actorList, CompositeActor container, java.util.LinkedList allActorList) throws NotSchedulableException
minimumBufferSize
- A map from relation to an Integer
representing the minimum size buffer necessary for the computed
schedule. The map will be populated during the execution of this
method.externalRates
- Map from external port to an Integer
representing the number of tokens produced or consumed from
that port during the course of an iteration.actorList
- The actors that need to be scheduled.container
- The container.allActorList
- All the actors, including those that do
not need to be scheduled. These actors will still be
initialized, which means we must take their initial tokens
into account when calculating buffer sizes.NotSchedulableException
- If the algorithm encounters an SDF
graph that is not consistent with the firing vector, or detects an
inconsistent internal state, or detects a graph that cannot be
scheduled.protected void _simulateTokensCreatedLast(IOPort outputPort, int createdTokens, java.util.LinkedList actorList, java.util.LinkedList readyToScheduleActorList) throws IllegalActionException
outputPort
- The port that is creating the tokens.createdTokens
- The number of tokens to create.actorList
- The list of actors that are being scheduled.readyToScheduleActorList
- The list of actors that are ready
to be scheduled. This will be updated if any actors that receive
tokens from outputPort are now ready to fire.IllegalActionException
- If the rate parameters are invalid.