Package ptolemy.domains.sequence.kernel
Class PartialSequenceScheduler
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.actor.sched.Scheduler
-
- ptolemy.domains.sequence.kernel.SequenceScheduler
-
- ptolemy.domains.sequence.kernel.PartialSequenceScheduler
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class PartialSequenceScheduler extends SequenceScheduler
A sequential scheduler that enables guessing the schedule.- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Bastian Ristau
- See Also:
for scheduling behavior.
- Pt.AcceptedRating:
- Red (ristau)
- Pt.ProposedRating:
- Red (ristau)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
-
Fields inherited from class ptolemy.domains.sequence.kernel.SequenceScheduler
_actorGraph, _DEFAULT_SCHEDULER_NAME, _scheduleUnexecutedActors
-
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 PartialSequenceScheduler(Director container, java.lang.String name)
Construct a scheduler in the given container with the given name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Vector<Actor>
estimateSequencedSchedule(java.util.List<SequenceAttribute> independentList)
Estimate a sequenced schedule.-
Methods inherited from class ptolemy.domains.sequence.kernel.SequenceScheduler
_getInitialValueParameterName, _getSchedule, clone, getSchedule, getSchedule, printSubGraph, setContainer, unreachableActorExists, unreachableActorList
-
Methods inherited from class ptolemy.actor.sched.Scheduler
_getSchedule, getSchedule, isValid, 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
-
PartialSequenceScheduler
public PartialSequenceScheduler(Director 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 attribute.- Throws:
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.
-
-
Method Detail
-
estimateSequencedSchedule
public java.util.Vector<Actor> estimateSequencedSchedule(java.util.List<SequenceAttribute> independentList) throws NotSchedulableException
Estimate a sequenced schedule. Currently only supports basic Dijkstra algorithm for getting the maximal distances. Thus, it cannot deal with cyclic graphs.- Parameters:
independentList
- The already present SequenceAttributes for the Actors controlled by this scheduler.- Returns:
- A vector with the ordered actors. Note that the sequence numbers are not changed. This has to be done somewhere else.
- Throws:
NotSchedulableException
- If the schedule is acyclic.
-
-