MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
|
A CJob instance represents a mixed-criticality job. More...
Public Member Functions | |
CMixedCriticalityJob (string name, int criticality, double[] executionTimes) | |
Creates a new mixed-criticality job instance. | |
CMixedCriticalityJob (string name, double releaseTime, double deadline, int criticality, double[] executionTimes) | |
Creates a new mixed-criticality job instance. | |
CMixedCriticalityJob (string name, double releaseTime, double deadline, double startTime, int criticality, double[] executionTimes) | |
Creates a new mixed-criticality job instance. | |
string | getName () |
Returns the job's name. | |
double | getStartTime () |
Returns the job's start time. | |
void | setStartTime (double startTime) |
Sets the start time for the job. | |
double | getCompletionTime (int criticality) |
Returns the job's completion time for the specified criticality level. | |
double | getLargestCompletionTime () |
Returns the largest completion time of this job. | |
double | getReleaseTime () |
Returns the job's release time. | |
void | setReleaseTime (double releaseTime) |
Sets the job's release time. | |
double | getDeadline () |
Returns the deadline of the job. | |
void | setDeadline (double deadline) |
Sets the deadline for the job. | |
int | getCriticality () |
Returns the criticality of the job. | |
void | setCriticality (int criticality) |
Sets the criticality for the job. | |
double[] | getWCETs () |
Returns the worst-case execution times of this job. | |
void | setExecutionTimes (double[] executionTimes) |
Sets the worst-case execution times for this job. | |
void | setExecutionTimes (int fromCriticality, int toCriticality, double[] executionTimes) |
Sets the worst-case execution times for this job. | |
double | getLargestExecutionTime () |
Returns the largest WCET of this job. | |
double | getExecutionTime (int criticality) |
Returns the worst-case execution time of this job on the specified criticality level. | |
void | setExecutionTime (int criticality, double executionTime) |
Sets the worst-case execution time for the specified criticality level. | |
override bool | Equals (object o) |
Determines whether the specified object is equal to this job. | |
override int | GetHashCode () |
Returns a hash code of this job. | |
object | Clone () |
Returns a copy of this job. | |
override string | ToString () |
Returns a string representation of this job. |
A CJob instance represents a mixed-criticality job.
MCScheduling.MixedCriticality.CMixedCriticalityJob.CMixedCriticalityJob | ( | string | name, |
int | criticality, | ||
double[] | executionTimes | ||
) |
Creates a new mixed-criticality job instance.
name | The job's name. |
criticality | The job's criticality level. |
executionTimes | The worst-case exectution time for each level of criticality. |
MCScheduling.MixedCriticality.CMixedCriticalityJob.CMixedCriticalityJob | ( | string | name, |
double | releaseTime, | ||
double | deadline, | ||
int | criticality, | ||
double[] | executionTimes | ||
) |
Creates a new mixed-criticality job instance.
name | The job's name. |
releaseTime | The job's release time. |
deadline | The job's deadline. |
criticality | The job's criticality level. |
executionTimes | The worst-case exectution time for each level of criticality. |
MCScheduling.MixedCriticality.CMixedCriticalityJob.CMixedCriticalityJob | ( | string | name, |
double | releaseTime, | ||
double | deadline, | ||
double | startTime, | ||
int | criticality, | ||
double[] | executionTimes | ||
) |
Creates a new mixed-criticality job instance.
name | The job's name. |
releaseTime | The job's release time. |
deadline | The job's deadline. |
startTime | The job's start time. |
criticality | The job's criticality level. |
executionTimes | The worst-case exectution time for each level of criticality. |
object MCScheduling.MixedCriticality.CMixedCriticalityJob.Clone | ( | ) |
Returns a copy of this job.
override bool MCScheduling.MixedCriticality.CMixedCriticalityJob.Equals | ( | object | o | ) |
Determines whether the specified object is equal to this job.
o | The object to compare with this job. |
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getCompletionTime | ( | int | criticality | ) |
Returns the job's completion time for the specified criticality level.
If the job has not been assigned any start time, the returned value is NaN.
criticality | The level of criticality for which the completion time is requested. |
int MCScheduling.MixedCriticality.CMixedCriticalityJob.getCriticality | ( | ) |
Returns the criticality of the job.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getDeadline | ( | ) |
Returns the deadline of the job.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getExecutionTime | ( | int | criticality | ) |
Returns the worst-case execution time of this job on the specified criticality level.
criticality | The WCET on this criticality. |
ArgumentOutOfRangeException | If the specified criticality is less then 1 or greater then the job's criticality. |
override int MCScheduling.MixedCriticality.CMixedCriticalityJob.GetHashCode | ( | ) |
Returns a hash code of this job.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getLargestCompletionTime | ( | ) |
Returns the largest completion time of this job.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getLargestExecutionTime | ( | ) |
Returns the largest WCET of this job.
Since the WCETs are expected to be non-decreasing, this is equivalent to this.getExecutionTime(this.getCriticality()).
string MCScheduling.MixedCriticality.CMixedCriticalityJob.getName | ( | ) |
Returns the job's name.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getReleaseTime | ( | ) |
Returns the job's release time.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getStartTime | ( | ) |
Returns the job's start time.
double [] MCScheduling.MixedCriticality.CMixedCriticalityJob.getWCETs | ( | ) |
Returns the worst-case execution times of this job.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setCriticality | ( | int | criticality | ) |
Sets the criticality for the job.
criticality | The job's criticality level. |
ArgumentOutOfRangeException | If the criticality is less then 1. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setDeadline | ( | double | deadline | ) |
Sets the deadline for the job.
deadline | The job's new deadline. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setExecutionTime | ( | int | criticality, |
double | executionTime | ||
) |
Sets the worst-case execution time for the specified criticality level.
criticality | The criticality level of a WCET to be set. |
executionTime | The new WCET's value. |
ArgumentOutOfRangeException | If the specified criticality is less then 1 or greater then the job's criticality. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setExecutionTimes | ( | double[] | executionTimes | ) |
Sets the worst-case execution times for this job.
It is expected that the job has assigned valid criticality (using this.setCriticality method) prior to calling this method, and the length of the specified array has to be at least as big as the criticality of the job.
executionTimes | The execution times to be set for the job. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setExecutionTimes | ( | int | fromCriticality, |
int | toCriticality, | ||
double[] | executionTimes | ||
) |
Sets the worst-case execution times for this job.
It sets the WCETs from the criticality fromCriticality to the criticality toCriticality inclusive. The executionTimes should contain new WCETs, and be at least as long as (toCriticality - fromCriticality + 1).
fromCriticality | The lowest crit. level to be set. |
toCriticality | The highest crit. level to be set. |
executionTimes | The new WCETs for the job. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setReleaseTime | ( | double | releaseTime | ) |
Sets the job's release time.
releaseTime | The job's release time. |
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setStartTime | ( | double | startTime | ) |
Sets the start time for the job.
startTime | The job's start time. |
override string MCScheduling.MixedCriticality.CMixedCriticalityJob.ToString | ( | ) |
Returns a string representation of this job.
For debugging purpose only.