Class SROptimizedScheduler
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.actor.sched.Scheduler
-
- ptolemy.actor.sched.FixedPointScheduler
-
- ptolemy.domains.sr.kernel.SROptimizedScheduler
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class SROptimizedScheduler extends FixedPointScheduler
A scheduler the Synchronous Reactive (SR) domain. This scheduler returns a static schedule for the graph. The schedule guarantees that the values will converge to a fixed-point.The recursive scheduling algorithm is due to Stephen Edwards, and is described in his Ph.D. thesis. First, a dependency graph is constructed, and the strongly connected components (SCC) are determined. A schedule for each SCC is obtained by separating the sub-graph into a head and a tail, and then recursively applying this algorithm to both the head and the tail. The schedule for the SCC is (TH)
n T where H and T are the schedules of the head and tail, respectively, and n is the number of nodes in the head and represents the number of repetitions of the parenthesized expression. Finally, the schedules of the top-level SCCs are concatenated in topological order to obtain the schedule for the entire graph.FIXME: This is not implemented! This is a placeholder that uses the same naive scheduler as the base class.
- Since:
- Ptolemy II 2.0
- Version:
- $Id$
- Author:
- Paul Whitaker
- See Also:
SRDirector
- Pt.AcceptedRating:
- Red (pwhitake)
- Pt.ProposedRating:
- Red (pwhitake)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
-
Fields inherited from class ptolemy.actor.sched.Scheduler
_DEFAULT_SCHEDULER_NAME
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
-
Constructor Summary
Constructors Constructor Description SROptimizedScheduler(SRDirector container, java.lang.String name)
Construct a scheduler in the given container with the given name.
-
Method Summary
-
Methods inherited from class ptolemy.actor.sched.FixedPointScheduler
_getSchedule
-
Methods inherited from class ptolemy.actor.sched.Scheduler
clone, getSchedule, isValid, setContainer, setValid
-
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_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
-
-
-
-
Constructor Detail
-
SROptimizedScheduler
public SROptimizedScheduler(SRDirector container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct a scheduler in the given container with the given name. The container argument must not be null, or a NullPointerException will be thrown. This attribute 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.name
- The name of this scheduler.- Throws:
IllegalActionException
- If the scheduler 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.
-
-