|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.realtime.Scheduler
An instance of Scheduler
manages the execution of
schedulable objects and may implement a feasibility algorithm. The
feasibility algorithm may determine if the known set of schedulable
objects, given their particular execution ordering (or priority
assignment), is a feasible schedule. Subclasses of
Scheduler
are used for alternative scheduling policies
and should define an instance()
class method to return
the default instance of the subclass. The name of the subclass
should be descriptive of the policy, allowing applications to
deduce the policy available for the scheduler obtained via
public static Scheduler getDefaultScheduler()
(e.g.,
EDFScheduler
).
Field Summary | |
protected static Scheduler |
defaultScheduler
|
Constructor Summary | |
protected |
Scheduler()
|
Method Summary | |
protected abstract boolean |
addToFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands (as expressed in the associated instances of SchedulingParameters , ReleaseParameters , MemoryParameters ,and ProcessingGroupParameters )of
this instance of Schedulable will be considered in the
feasibility analysis of the associated Scheduler until
further notice. |
abstract int |
computeExecutionEligibility(Schedulable schedulable)
Computes the exectuion eligibility that is currently associated to a schedulable object. |
abstract void |
fireSchedulable(Schedulable schedulable)
Trigger the execution of a schedulable object (like an AsyncEventHandler ). |
static Scheduler |
getDefaultScheduler()
Get the default scheduler for the system. |
abstract String |
getPolicyName()
Get a string representing the scheduling policy implemented by the scheduler. |
abstract boolean |
isFeasible()
Returns true if and only if the system is able to satisfy the constraints expressed in the release parameters of the existing schedulable objects. |
protected abstract boolean |
removeFromFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters , ReleaseParameters , MemoryParameters ,and ProcessingGroupParameters , of
this instance of Schedulable should no longer be
considered in the feasibility analysis of the associated
Scheduler . |
static void |
setDefaultScheduler(Scheduler scheduler)
Set the default scheduler. |
boolean |
setIfFeasible(Schedulable schedulable,
ReleaseParameters releaseParam,
MemoryParameters memoryParam)
Returns true if, after considering the values of the parameters, the task set would still be feasible. |
boolean |
setIfFeasible(Schedulable schedulable,
ReleaseParameters releaseParam,
MemoryParameters memoryParam,
ProcessingGroupParameters groupParam)
Returns true if, after considering the values of the parameters, the task set would still be feasible. |
abstract boolean |
validateSchedulingParameters(Schedulable schedulable)
Makes sure that the thread has the right set of scheduling parameters for this scheduler. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static Scheduler defaultScheduler
Constructor Detail |
protected Scheduler()
Method Detail |
protected abstract boolean addToFeasibility(Schedulable schedulable)
SchedulingParameters
, ReleaseParameters
, MemoryParameters
,and ProcessingGroupParameters
)of
this instance of Schedulable
will be considered in the
feasibility analysis of the associated Scheduler
until
further notice. Whether the resulting system is feasible or
not, the addition is completed.
schedulable
- the Schedulable
entity to be
added to the feasibility set.
public abstract void fireSchedulable(Schedulable schedulable)
AsyncEventHandler
).
schedulable
- the schedulable object to make active.public static Scheduler getDefaultScheduler()
public abstract String getPolicyName()
String
object which is the name of the
scheduling policy used by this.public abstract boolean isFeasible()
protected abstract boolean removeFromFeasibility(Schedulable schedulable)
SchedulingParameters
, ReleaseParameters
, MemoryParameters
,and ProcessingGroupParameters
, of
this instance of Schedulable
should no longer be
considered in the feasibility analysis of the associated
Scheduler
. Whether the resulting system is
feasible or not, the subtraction is completed.
schedulable
- a Schedulable
object that has
to be removed from the task set that is considered for
feasibility analysis.
public static void setDefaultScheduler(Scheduler scheduler)
RealtimeThread
when they are constructed.
The default scheduler is set to the required PriorityScheduler
at startup.
scheduler
- The Scheduler
that becomes the
default scheduler assigned to new threads. If null nothing
happens.public boolean setIfFeasible(Schedulable schedulable, ReleaseParameters releaseParam, MemoryParameters memoryParam)
schedulable
- a Schedulable
valuereleaseParam
- a ReleaseParameters
valuememoryParam
- a MemoryParameters
value
public boolean setIfFeasible(Schedulable schedulable, ReleaseParameters releaseParam, MemoryParameters memoryParam, ProcessingGroupParameters groupParam)
schedulable
- a Schedulable
valuereleaseParam
- a ReleaseParameters
valuememoryParam
- a MemoryParameters
valuegroupParam
- a ProcessingGroupParameters
value
public abstract boolean validateSchedulingParameters(Schedulable schedulable)
schedulable
- a schedulable entity
public abstract int computeExecutionEligibility(Schedulable schedulable)
schedulable
- a Schedulable
for which the
execution eligibility has to be computed.
int
value representing the eligibility.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |