ptolemy.domains.gr.kernel
Class GRScheduler
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.util.Attribute
ptolemy.actor.sched.Scheduler
ptolemy.domains.gr.kernel.GRScheduler
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class GRScheduler
- extends Scheduler
A scheduler that implements scheduling of the active parts of a GR
scene graph. The scene graph is assumed to be a directed acyclic graph.
Scheduling is done by performing a topological sort on all the actors.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: GRScheduler.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- C. Fong, Steve Neuendorffer
- See Also:
Scheduler
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
GRScheduler()
Construct a scheduler with no container (director)
in the default workspace, the name of the scheduler is
"GRScheduler". |
GRScheduler(Director container,
java.lang.String name)
Construct a scheduler in the given container with the given name. |
GRScheduler(Workspace workspace)
Construct a scheduler in the given workspace with the name
"GRScheduler". |
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, _debug, _debug, _debug, _debug, _debug, _description, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, 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, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
_STATIC_NAME
private static final java.lang.String _STATIC_NAME
- See Also:
- Constant Field Values
GRScheduler
public GRScheduler()
- Construct a scheduler with no container (director)
in the default workspace, the name of the scheduler is
"GRScheduler".
GRScheduler
public GRScheduler(Workspace workspace)
- Construct a scheduler in the given workspace with the name
"GRScheduler". 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.
GRScheduler
public GRScheduler(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.
_getSchedule
protected Schedule _getSchedule()
- Return the scheduling sequence. An exception will be thrown if the
graph is not schedulable. This occurs in the following circumstances:
- The graph is not a connected graph.
- The graph is not acyclic
- Multiple output ports are connected to the same broadcast
relation. (equivalent to a non-deterministic merge)
- Overrides:
_getSchedule
in class Scheduler
- Returns:
- A Schedule type of the deeply contained opaque entities
in the firing order.
- Throws:
NotSchedulableException
- If the CompositeActor is not
schedulable.- See Also:
CompositeEntity.deepEntityList()