public class EDFScheduler extends FixedPriorityScheduler
Entity.ContainedObjectsIterator
_currentlyExecuting, LOWEST_PRIORITY, preemptive
_actors, _executionAspectListeners, _lastActorFinished, _lastActorThatFinished, _lastTimeScheduled, _remainingTimes
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
EDFScheduler(CompositeEntity container,
java.lang.String name)
Create a new actor in the specified container with the specified
name.
|
Modifier and Type | Method and Description |
---|---|
protected double |
_getPriority(NamedObj actor)
Get the deadline of the actor and return it as the priority.
|
DecoratorAttributes |
createDecoratorAttributes(NamedObj target)
Return the decorated attributes for the target NamedObj.
|
void |
initialize()
Initialize local variables.
|
Time |
schedule(NamedObj actor,
Time currentPlatformTime,
Time deadline,
Time executionTime)
Schedule a new actor for execution and return the next time
this scheduler has to perform a reschedule.
|
Time |
schedule(Time environmentTime)
Perform rescheduling actions when no new actor requests to be
scheduled.
|
attributeChanged, clone
_getDeadline, addExecutingListener, decoratedObjects, fire, getExecutionTime, getRemainingTime, getTime, initializeDecoratedActors, isGlobalDecorator, isWaitingForResource, lastActorFinished, lastScheduledActorFinished, notifyExecutionListeners, removeExecutionListener, setContainer, wrapup
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, stop, stopFire, terminate
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
description, getContainer, getDisplayName, getFullName, getName, getName, setName
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, preinitialize, removeInitializable
getDerivedLevel, getDerivedList, propagateValue
public EDFScheduler(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor within the container.IllegalActionException
- If this actor cannot be contained
by the proposed container (see the setContainer() method).NameDuplicationException
- If the name coincides with
an entity already in the container.public DecoratorAttributes createDecoratorAttributes(NamedObj target)
createDecoratorAttributes
in interface Decorator
createDecoratorAttributes
in class FixedPriorityScheduler
target
- The NamedObj that will be decorated.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class FixedPriorityScheduler
IllegalActionException
- Thrown in super class.public Time schedule(NamedObj actor, Time currentPlatformTime, Time deadline, Time executionTime) throws IllegalActionException
schedule
in interface ActorExecutionAspect
schedule
in class FixedPriorityScheduler
actor
- The actor to be scheduled.currentPlatformTime
- The current platform time.deadline
- The event deadline.executionTime
- The execution time of the actor.IllegalActionException
- Thrown if actor parameters such
as execution time or priority cannot be read.public Time schedule(Time environmentTime) throws IllegalActionException
schedule
in interface ActorExecutionAspect
schedule
in class FixedPriorityScheduler
environmentTime
- The outside time.IllegalActionException
- Thrown in subclasses.protected double _getPriority(NamedObj actor) throws IllegalActionException
_getPriority
in class FixedPriorityScheduler
actor
- The actor.IllegalActionException
- Thrown if parameter cannot be read.