Package ptolemy.domains.sr.kernel
Class SRRandomizedScheduler
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.actor.sched.Scheduler
-
- ptolemy.domains.sr.kernel.SRRandomizedScheduler
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class SRRandomizedScheduler extends Scheduler
A scheduler the Synchronous Reactive (SR) domain. This schedule is simply a random ordering of all the actors. The director should cycle through this schedule repeatedly, deciding which actors to fire, until it determines that the given iteration has converged. The ordering of the schedule has no effect on the results of an iteration.- Since:
- Ptolemy II 2.0
- Version:
- $Id$
- Author:
- Paul Whitaker
- See Also:
SRDirector
- Pt.AcceptedRating:
- Green (pwhitake)
- Pt.ProposedRating:
- Green (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 SRRandomizedScheduler()
Construct a SR scheduler with no container (director) in the default workspace.SRRandomizedScheduler(Director container, java.lang.String name)
Construct a scheduler in the given container with the given name.SRRandomizedScheduler(Workspace workspace)
Construct a SR scheduler in the given workspace.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Schedule
_getSchedule()
Return the scheduling sequence.-
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
-
SRRandomizedScheduler
public SRRandomizedScheduler()
Construct a SR scheduler with no container (director) in the default workspace.
-
SRRandomizedScheduler
public SRRandomizedScheduler(Workspace workspace)
Construct a SR scheduler in the given workspace. If the workspace argument is null, use the default workspace. The scheduler is added to the list of objects in the workspace. Increment the version number of the workspace.- Parameters:
workspace
- Object for synchronization and version tracking.
-
SRRandomizedScheduler
public SRRandomizedScheduler(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 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.
-
-
Method Detail
-
_getSchedule
protected Schedule _getSchedule() throws NotSchedulableException
Return the scheduling sequence. Overrides _getSchedule() method in the base class. This method should not be called directly, rather the getSchedule() method (which is defined in the superclass) will call it when the schedule is invalid. This method is not synchronized on the workspace.- Overrides:
_getSchedule
in classScheduler
- Returns:
- A schedule representing the scheduling sequence.
- Throws:
NotSchedulableException
- If the CompositeActor is not schedulable.- See Also:
CompositeEntity.deepEntityList()
-
-