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

SBrdCastSSTF Class Reference

#include <SBrdCastSSTF.h>

Inherits SBrdCastAlgorithm.

Inheritance diagram for SBrdCastSSTF:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~SBrdCastSSTF ()
virtual double innerLoop (const leda_list< STSysSchedEvent > &rEvents)
virtual const leda_string getDescription () const
virtual const leda_string & getName () const
virtual void startup ()
virtual const SClassificationgetClassification () const
virtual SLeaBibEntrygetLeaBibEntry () const
int getNumOfMsgs () const
int getBroadcastedMsg () const
void broadcastMsg (int msg)
void stopBroadcast ()
leda_list< SBroadcastRequ * > getActiveRequ () const
virtual bool isFinished () const
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

Contains some helpful features for broadcasting


Constructor & Destructor Documentation

virtual SBrdCastSSTF::~SBrdCastSSTF   [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 SBrdCastAlgorithm::broadcastMsg int    msg [inherited]
 

If another message is being broadcasted, stop it

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

leda_list< SBroadcastRequ * > SBrdCastAlgorithm::getActiveRequ   [inherited]
 

Get all active requests. A request is active, if it's released and not completely answered yet.

int SBrdCastAlgorithm::getBroadcastedMsg   [inherited]
 

Get the message which is currently being broadcasted.

Returns:
-1 if none

const SClassification & SBrdCastAlgorithm::getClassification   [virtual, inherited]
 

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

Returns:
problem classification

Implements SSchedAlgorithm.

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

Clones a scheduling algorithm.

Returns:
pointer to the cloned algorithm

const leda_string SBrdCastSSTF::getDescription   [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

Reimplemented from SBrdCastAlgorithm.

SLeaBibEntry & SBrdCastAlgorithm::getLeaBibEntry   [virtual, inherited]
 

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

Returns:
dictionary

Implements SSchedAlgorithm.

const leda_string & SBrdCastSSTF::getName   [virtual]
 

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

Returns:
algorithms name

Reimplemented from SBrdCastAlgorithm.

const leda_string& SSchedAlgorithm::getNameFromClass   [static, inherited]
 

int SBrdCastAlgorithm::getNumOfMsgs   [inherited]
 

Get the number of messages.

const STaskSystem& SSchedAlgorithm::getTaskSystem   const [inline, inherited]
 

Get a read-only reference to the tasksystem.

Returns:
tasksystem

STaskSystem& SSchedAlgorithm::getTaskSystem   [inline, inherited]
 

Get a reference to the tasksystem.

Returns:
tasksystem

double SBrdCastSSTF::innerLoop const leda_list< STSysSchedEvent > &    rEvents [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

Reimplemented from SBrdCastAlgorithm.

bool SSchedAlgorithm::isFinished   [virtual, inherited]
 

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, inherited]
 

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

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

void SBrdCastAlgorithm::startup   [virtual, inherited]
 

Called before a simulation run starts.

Reimplemented from SSchedAlgorithm.

Reimplemented in SBrdCastEQUIEDF, and SBrdCastPushGreedy.

void SBrdCastAlgorithm::stopBroadcast   [inherited]
 

Stop broadcasting current message, do nothing, if no message is being broadcasted


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