MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
Public Member Functions
MCScheduling.MixedCriticality.CMixedCriticalityJob Class Reference

A CJob instance represents a mixed-criticality job. More...

List of all members.

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.

Detailed Description

A CJob instance represents a mixed-criticality job.


Constructor & Destructor Documentation

MCScheduling.MixedCriticality.CMixedCriticalityJob.CMixedCriticalityJob ( string  name,
int  criticality,
double[]  executionTimes 
)

Creates a new mixed-criticality job instance.

Parameters:
nameThe job's name.
criticalityThe job's criticality level.
executionTimesThe 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.

Parameters:
nameThe job's name.
releaseTimeThe job's release time.
deadlineThe job's deadline.
criticalityThe job's criticality level.
executionTimesThe 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.

Parameters:
nameThe job's name.
releaseTimeThe job's release time.
deadlineThe job's deadline.
startTimeThe job's start time.
criticalityThe job's criticality level.
executionTimesThe worst-case exectution time for each level of criticality.

Member Function Documentation

object MCScheduling.MixedCriticality.CMixedCriticalityJob.Clone ( )

Returns a copy of this job.

Returns:
A copy of this job.
override bool MCScheduling.MixedCriticality.CMixedCriticalityJob.Equals ( object  o)

Determines whether the specified object is equal to this job.

Parameters:
oThe object to compare with this job.
Returns:
True, if the specified object is equal to this job, otherwise, false.
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.

Parameters:
criticalityThe level of criticality for which the completion time is requested.
Returns:
The job's completion time for the specified criticality level.
int MCScheduling.MixedCriticality.CMixedCriticalityJob.getCriticality ( )

Returns the criticality of the job.

Returns:
The job's criticality.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getDeadline ( )

Returns the deadline of the job.

Returns:
The job's deadline.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getExecutionTime ( int  criticality)

Returns the worst-case execution time of this job on the specified criticality level.

Parameters:
criticalityThe WCET on this criticality.
Returns:
The worst-case execution time on the given criticality level.
Exceptions:
ArgumentOutOfRangeExceptionIf 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.

Returns:
The job's hash code.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getLargestCompletionTime ( )

Returns the largest completion time of this job.

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()).

Returns:
The job's largest worst-case execution time.
string MCScheduling.MixedCriticality.CMixedCriticalityJob.getName ( )

Returns the job's name.

Returns:
The job's name.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getReleaseTime ( )

Returns the job's release time.

Returns:
The job's release time.
double MCScheduling.MixedCriticality.CMixedCriticalityJob.getStartTime ( )

Returns the job's start time.

Returns:
The job's start time.
double [] MCScheduling.MixedCriticality.CMixedCriticalityJob.getWCETs ( )

Returns the worst-case execution times of this job.

Returns:
The job's WCETs.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setCriticality ( int  criticality)

Sets the criticality for the job.

Parameters:
criticalityThe job's criticality level.
Exceptions:
ArgumentOutOfRangeExceptionIf the criticality is less then 1.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setDeadline ( double  deadline)

Sets the deadline for the job.

Parameters:
deadlineThe job's new deadline.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setExecutionTime ( int  criticality,
double  executionTime 
)

Sets the worst-case execution time for the specified criticality level.

Parameters:
criticalityThe criticality level of a WCET to be set.
executionTimeThe new WCET's value.
Exceptions:
ArgumentOutOfRangeExceptionIf 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.

Parameters:
executionTimesThe 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).

Parameters:
fromCriticalityThe lowest crit. level to be set.
toCriticalityThe highest crit. level to be set.
executionTimesThe new WCETs for the job.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setReleaseTime ( double  releaseTime)

Sets the job's release time.

Parameters:
releaseTimeThe job's release time.
void MCScheduling.MixedCriticality.CMixedCriticalityJob.setStartTime ( double  startTime)

Sets the start time for the job.

Parameters:
startTimeThe job's start time.
override string MCScheduling.MixedCriticality.CMixedCriticalityJob.ToString ( )

Returns a string representation of this job.

For debugging purpose only.

Returns:
A string representation of this job.
 All Classes Namespaces Functions Variables Properties