MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
Classes | Public Member Functions | Static Public Member Functions | Properties
MCScheduling.MixedCriticality.CMixedCriticalityInstance Class Reference

Representation of a mixed-criticality instance. More...

List of all members.

Classes

class  StartTimeComparer

Public Member Functions

 CMixedCriticalityInstance ()
 Creates untitled and empty mixed-criticality instance.
 CMixedCriticalityInstance (string name)
 Creates an empty mixed-criticality instance with the specified name.
void addJob (CMixedCriticalityJob job)
 Adds the specified job to this mixed-criticality instance.
void removeJob (CMixedCriticalityJob job)
 Removes the specified job from this mixed-criticality instance.
int getMaximumCriticality ()
 Returns the maximum criticality level of this instance.
void setMakeSpan (double makespan)
 Sets the makespan for this instance.
double getMakeSpan ()
 Returns the makespan of this instance.
void setLateness (double lateness)
 Sets the lateness for this instance.
double getLateness ()
 Returns the lateness of this instance.
double[] getStartTimes ()
 Returns the start times of the jobs in this mixed-criticality instance.
void setName (string name)
 Sets the name of this mixed-criticality instance.
string getName ()
 Returns the name of this mixed-criticality instance.
CMixedCriticalityJob[] getJobs ()
 Returns an array of jobs in this mixed-criticality instance.
int getJobCount ()
 Returns the number of jobs in this mixed-criticality instance.
void setCPUTime (int miliseconds)
 Sets the time spent on solving this instance.
int getCPUTime ()
 Returns the time in miliseconds that has been spent on solving the instance.
override string ToString ()
 Returns a string representation of this mixed-criticality instance.
string ToFileOutput ()
 Returns this mixed-criticality instance in output file format.
string ToSolutionFileOutput ()
 Returns this mixed-criticality instance in solution output file format.
IEnumerator GetEnumerator ()
 Returns the enumerator for this mixed-criticality instance jobs.
object Clone ()
 Returns the copy of this mixed-criticality instance.

Static Public Member Functions

static bool validateInstance (CMixedCriticalityInstance instance)
 Validates the correctness of the specified instance.

Properties

CMixedCriticalityJob this[int index] [get]
 Access the index-job of this mixed-criticality instance.
string NameDataView [get, set]
 The Name Data View property.
string MakespanDataView [get, set]
 The Makespan property.
string LatenessDataView [get, set]
 The Lateness property.
int MaximumCriticalityDataView [get]
 The MaximumCriticality property.
int JobCountDataView [get]
 The JobCount property.
double CPUTimeDataView [get]
 The CPU time property.
string SolutionStatusDataView [get, set]
 The SolutionStatus property.

Detailed Description

Representation of a mixed-criticality instance.


Constructor & Destructor Documentation

MCScheduling.MixedCriticality.CMixedCriticalityInstance.CMixedCriticalityInstance ( string  name)

Creates an empty mixed-criticality instance with the specified name.

Parameters:
nameThe name of this instance.

Member Function Documentation

void MCScheduling.MixedCriticality.CMixedCriticalityInstance.addJob ( CMixedCriticalityJob  job)

Adds the specified job to this mixed-criticality instance.

Parameters:
jobThe job to be added.
object MCScheduling.MixedCriticality.CMixedCriticalityInstance.Clone ( )

Returns the copy of this mixed-criticality instance.

Returns:
The copy of this mixed-criticality instance.
int MCScheduling.MixedCriticality.CMixedCriticalityInstance.getCPUTime ( )

Returns the time in miliseconds that has been spent on solving the instance.

Returns:
The time in miliseconds that has been spent on solving the instance.
IEnumerator MCScheduling.MixedCriticality.CMixedCriticalityInstance.GetEnumerator ( )

Returns the enumerator for this mixed-criticality instance jobs.

Returns:
The job enumberator.
int MCScheduling.MixedCriticality.CMixedCriticalityInstance.getJobCount ( )

Returns the number of jobs in this mixed-criticality instance.

Returns:
The number of jobs in this mixed-criticality instance.
CMixedCriticalityJob [] MCScheduling.MixedCriticality.CMixedCriticalityInstance.getJobs ( )

Returns an array of jobs in this mixed-criticality instance.

Returns:
The jobs' start times.
double MCScheduling.MixedCriticality.CMixedCriticalityInstance.getLateness ( )

Returns the lateness of this instance.

Returns:
The lateness of this instance.
double MCScheduling.MixedCriticality.CMixedCriticalityInstance.getMakeSpan ( )

Returns the makespan of this instance.

Returns:
The makespan of this instance.
int MCScheduling.MixedCriticality.CMixedCriticalityInstance.getMaximumCriticality ( )

Returns the maximum criticality level of this instance.

Returns:
The maximum criticality level of this instance.
string MCScheduling.MixedCriticality.CMixedCriticalityInstance.getName ( )

Returns the name of this mixed-criticality instance.

Returns:
The name of this instance.
double [] MCScheduling.MixedCriticality.CMixedCriticalityInstance.getStartTimes ( )

Returns the start times of the jobs in this mixed-criticality instance.

Returns:
The start times of the jobs in this instance.
void MCScheduling.MixedCriticality.CMixedCriticalityInstance.removeJob ( CMixedCriticalityJob  job)

Removes the specified job from this mixed-criticality instance.

Parameters:
jobThe job to be removed.
Returns:
True, if item was successfully removed, otherwise, false. This method also returns false if item was not found in this mixed-criticality instance.
void MCScheduling.MixedCriticality.CMixedCriticalityInstance.setCPUTime ( int  miliseconds)

Sets the time spent on solving this instance.

Parameters:
milisecondsThe time in miliseconds spent on solving this instance.
void MCScheduling.MixedCriticality.CMixedCriticalityInstance.setLateness ( double  lateness)

Sets the lateness for this instance.

Parameters:
latenessThe lateness to be set.
void MCScheduling.MixedCriticality.CMixedCriticalityInstance.setMakeSpan ( double  makespan)

Sets the makespan for this instance.

Parameters:
makespanThe makespan to be set.
void MCScheduling.MixedCriticality.CMixedCriticalityInstance.setName ( string  name)

Sets the name of this mixed-criticality instance.

Parameters:
nameThe name of this instance.
override string MCScheduling.MixedCriticality.CMixedCriticalityInstance.ToString ( )

Returns a string representation of this mixed-criticality instance.

For debugging purpose only.

Returns:
A string representing this mixed-criticality instance.
static bool MCScheduling.MixedCriticality.CMixedCriticalityInstance.validateInstance ( CMixedCriticalityInstance  instance) [static]

Validates the correctness of the specified instance.

Parameters:
instanceThe instance to be validated.
Returns:
True if the specified instance is correct, that is the start time of each job respects the release time and no two jobs overlap (i.e. are not being executed at the same time on the same critical level).

Property Documentation

double MCScheduling.MixedCriticality.CMixedCriticalityInstance.CPUTimeDataView [get]

The CPU time property.

int MCScheduling.MixedCriticality.CMixedCriticalityInstance.JobCountDataView [get]

The JobCount property.

string MCScheduling.MixedCriticality.CMixedCriticalityInstance.LatenessDataView [get, set]

The Lateness property.

string MCScheduling.MixedCriticality.CMixedCriticalityInstance.MakespanDataView [get, set]

The Makespan property.

int MCScheduling.MixedCriticality.CMixedCriticalityInstance.MaximumCriticalityDataView [get]

The MaximumCriticality property.

string MCScheduling.MixedCriticality.CMixedCriticalityInstance.NameDataView [get, set]

The Name Data View property.

string MCScheduling.MixedCriticality.CMixedCriticalityInstance.SolutionStatusDataView [get, set]

The SolutionStatus property.

CMixedCriticalityJob MCScheduling.MixedCriticality.CMixedCriticalityInstance.this[int index] [get]

Access the index-job of this mixed-criticality instance.

Parameters:
indexThe index of the job to be returned.
 All Classes Namespaces Functions Variables Properties