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

The basic implementation of the IMixedCriticalitySolver. More...

Inheritance diagram for MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver:
MCScheduling.MixedCriticality.IMixedCriticalitySolver MCScheduling.MixedCriticality.CEDF.CClairvoyantEDFSolver MCScheduling.MixedCriticality.DP.CDPSolver MCScheduling.MixedCriticality.GA.CGeneticAlgorithmSolver MCScheduling.MixedCriticality.MIP.CMixedIntegerProgrammingSolver MCScheduling.MixedCriticality.SA.CSimulatedAnnealingSolver

List of all members.

Classes

class  Status
 A status of a solution that is returned as result of the solving algorithm. More...

Public Member Functions

void setIterationLimit (int iterationLimit)
 Limits the number of iteration an iterative algorithm may perform.
int getIterationLimit ()
 Returns the maximum number of iterations the algorithm performs before stopping.
void setTimeLimit (int timeLimit)
 Limits the maximum time expended by the algorithm.
int getTimeLimit ()
 Returns the maximum time the algorithm may spend solving a problem.
bool hasTimeLimit ()
 Returns true if the algorithm has a time limit set.
bool hasIterationLimit ()
 Returns true if the algorithm has an iteration limit set.
int getStatus ()
 Returns an integer value specifying the result of the last call to solve method.
abstract void solve (CMixedCriticalityInstance instance)
 Solves the specified mixed-criticality instance.
abstract void interrupt ()
 Interrupts the process of solving.

Protected Member Functions

 CBaseMixedCriticalitySolver ()
 Constructs a new base mixed-criticality solver.
void setStatus (int status)
 Sets the status of the result to call of solve method.

Detailed Description

The basic implementation of the IMixedCriticalitySolver.

It should be used as a base class for an algorithn solving mixed-criticality instances.


Member Function Documentation

int MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.getIterationLimit ( )

Returns the maximum number of iterations the algorithm performs before stopping.

Returns:
The maximum number of iteration of the algorithm.
int MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.getStatus ( )

Returns an integer value specifying the result of the last call to solve method.

Returns:
One of the public status codes defined in Status class.
int MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.getTimeLimit ( )

Returns the maximum time the algorithm may spend solving a problem.

Returns:
The time limit (in seconds) for the algorithm.
bool MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.hasIterationLimit ( )

Returns true if the algorithm has an iteration limit set.

Returns:
True if the limit is set, false, otherwise.
bool MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.hasTimeLimit ( )

Returns true if the algorithm has a time limit set.

Returns:
True if the limit is set, false, otherwise.
void MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.setIterationLimit ( int  iterationLimit)

Limits the number of iteration an iterative algorithm may perform.

If the specified value is less then 0, the iteration limit is unset.

Parameters:
iterationLimitThe maximum number of iteration for the algorithm.
void MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.setStatus ( int  status) [protected]

Sets the status of the result to call of solve method.

Parameters:
statusThe status of the last call of solve method.
void MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.setTimeLimit ( int  timeLimit)

Limits the maximum time expended by the algorithm.

If the specified value is less then 0, the time limit is unset.

Parameters:
timeLimitThe time limit (in seconds) for the algorithm.
abstract void MCScheduling.MixedCriticality.CBaseMixedCriticalitySolver.solve ( CMixedCriticalityInstance  instance) [pure virtual]
 All Classes Namespaces Functions Variables Properties