Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

SSchedAlgorithm Class Reference

#include <SSchedAlgorithm.h>

Inherits SObservable.

Inherited by SAlg_6_2_1, SBrdCastAlgorithm, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelAlg, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

Inheritance diagram for SSchedAlgorithm:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~SSchedAlgorithm ()
virtual void startup ()
virtual double innerLoop (const leda_list< STSysSchedEvent > &rEvents)=0
virtual bool isFinished () const
virtual const leda_string & getName () const=0
virtual const SClassificationgetClassification () const=0
virtual SLeaBibEntrygetLeaBibEntry () const=0
virtual const leda_string getDescription () const=0
STaskSystemgetTaskSystem ()
const STaskSystemgetTaskSystem () const
virtual void setTaskSystem (STaskSystem &rTS)
virtual leda_string getCurrentActionDescription (const int level) const
void addObserver (SObserver &obs)
void deleteObserver (SObserver &obs)
void notifyObservers (const SEvent &event)

Static Public Methods

const leda_string & getNameFromClass ()

Protected Methods

virtual void setCurrentActionDescription (const int level, leda_string descr)

Detailed Description

The base class for all scheduling algorithms. Implements the part of the interface which is visible to the tasksystem.


Constructor & Destructor Documentation

virtual SSchedAlgorithm::~SSchedAlgorithm   [inline, virtual]
 


Member Function Documentation

void SObservable::addObserver SObserver   obs [inline, inherited]
 

Here another component can register himself as observer of this component

Parameters:
obs  observer that wants to be notified of events created by this class

void SObservable::deleteObserver SObserver   obs [inline, inherited]
 

Here another component can delete himself from the list of observers of this component

Parameters:
obs  observer that doesn't want to be notified anymore

virtual const SClassification& SSchedAlgorithm::getClassification   [pure virtual]
 

Returns the classification scheme of the problem, which the algorithm is able to solve. NOTE: will be abstract!

Returns:
problem classification

Implemented in SAlg_6_2_1, SBrdCastAlgorithm, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelFF, SLevelHc, SLevelNF, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

virtual leda_string SSchedAlgorithm::getCurrentActionDescription const int    level const [inline, virtual]
 

Clones a scheduling algorithm.

Returns:
pointer to the cloned algorithm

const leda_string SSchedAlgorithm::getDescription   [pure virtual]
 

Returns a textual description about this algorithm. This should contain at least the solved problem classification, complexity and a short description how the algorithm works

Returns:
description

Implemented in SAlg_6_2_1, SBrdCastAlgorithm, SBrdCastEQUIEDF, SBrdCastLTSF, SBrdCastLWF, SBrdCastPushGreedy, SBrdCastSSTF, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelAlg, SLevelFF, SLevelHc, SLevelNF, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

virtual SLeaBibEntry& SSchedAlgorithm::getLeaBibEntry   [pure virtual]
 

Returns a dictionary providing detailed information about the algorithm NOTE: will be abstract!

Returns:
dictionary

Implemented in SAlg_6_2_1, SBrdCastAlgorithm, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelFF, SLevelHc, SLevelNF, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

virtual const leda_string& SSchedAlgorithm::getName   [pure virtual]
 

Returns the name of the scheduling algorithm, e.g. "Coffman-Graham" NOTE: will be abstract!

Returns:
algorithms name

Implemented in SAlg_6_2_1, SBrdCastAlgorithm, SBrdCastEQUIEDF, SBrdCastLTSF, SBrdCastLWF, SBrdCastPushGreedy, SBrdCastSSTF, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelFF, SLevelHc, SLevelNF, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

const leda_string& SSchedAlgorithm::getNameFromClass   [static]
 

const STaskSystem& SSchedAlgorithm::getTaskSystem   const [inline]
 

Get a read-only reference to the tasksystem.

Returns:
tasksystem

STaskSystem& SSchedAlgorithm::getTaskSystem   [inline]
 

Get a reference to the tasksystem.

Returns:
tasksystem

virtual double SSchedAlgorithm::innerLoop const leda_list< STSysSchedEvent > &    rEvents [pure virtual]
 

Allocating and deallocating of jobs on machines. The algorithm gets the events of the current simulation step, in order to react on these events ("online algorithm"). The algorithm can define a relative alarm time (relative to the current simumlation step); then the tasksystem will advance until the alarm time and call innerLoop() again. This is used for preemtion for instance. If this time is <= 0 the alarm function is deactivated.

Parameters:
rEvents  list of scheduling events
Returns:
relative alarm time

Implemented in SAlg_6_2_1, SBrdCastAlgorithm, SBrdCastEQUIEDF, SBrdCastLTSF, SBrdCastLWF, SBrdCastPushGreedy, SBrdCastSSTF, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelAlg, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.

bool SSchedAlgorithm::isFinished   [virtual]
 

Returns whether the algorithm is finished. The default implementation checks if all jobs are finished.

Returns:
true, if the algorithm is finished and therefore the simulation shall terminate.

Reimplemented in SPlayer, SSmithsRatioRule, and SSmithWSEPT.

void SObservable::notifyObservers const SEvent   event [inline, inherited]
 

Inform all observers of this component about an event. The Observers will receive this event by their SObserver::update()-method.

Parameters:
event  an event that is sent to all observers of this component
See also:
SObserver::update()

void SSchedAlgorithm::setCurrentActionDescription const int    level,
leda_string    descr
[protected, virtual]
 

virtual void SSchedAlgorithm::setTaskSystem STaskSystem   rTS [inline, virtual]
 

This should contain initialization code which shall be run only the first time the algorithm works on a specific task system.

Parameters:
rTS  reference to the tasksystem

virtual void SSchedAlgorithm::startup   [inline, virtual]
 

Called before a simulation run starts.

Reimplemented in SAlg_6_2_1, SBrdCastAlgorithm, SBrdCastEQUIEDF, SBrdCastPushGreedy, SCoffmanGraham, SJackson, SJoeSmallsFirstTry, SJohnson, SLDM, SLEPT, SLevelAlg, SLineClustersAlg, SLudwigTiwari, SMcNaughton, SMesh2BalancedParallel, SOSHybridGA, SOSLEPT, SOSPermutationGA, SParallelFirstTry, SPDM, SPinedo, SPlayer, SpreemptLEPT, SRandOSAlg, SRRR, SRRRAdapt, SRTP, SSEPT, SSmithsRatioRule, SSmithWSEPT, SSmplShopAlg, and SWeiss.


The documentation for this class was generated from the following files:
Generated on Thu May 22 16:50:54 2003 for Sketch-it! by doxygen1.2.18