00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SBrdCastPushGreedy.h,v 1.1 2003/01/24 10:04:45 hall Exp $ 00008 00009 Purpose : 00010 00011 * #end# ************************************************************* */ 00012 00013 #ifndef SBRDCASTPUSHGREEDY_H 00014 #define SBRDCASTPUSHGREEDY_H 00015 00016 // system header files 00017 #include <LEDA/graph.h> 00018 #include <LEDA/array.h> 00019 00020 // project header files 00021 #include "SBrdCastAlgorithm.h" 00022 #include "../tools/SJobIdArray.h" 00023 00026 class SBrdCastPushGreedy : public SBrdCastAlgorithm { 00027 public: 00028 virtual ~SBrdCastPushGreedy() {}; 00029 virtual void startup(); 00030 virtual double innerLoop(const leda_list<STSysSchedEvent>& rEvents); 00031 virtual const leda_string getDescription() const; 00032 virtual const leda_string &getName() const; 00033 private: 00034 int _m; // # msgs 00035 int _n; // # requ 00036 leda_array<double> _msgProcTimes; 00037 leda_array<double> _p; // probabilities p_i 00038 leda_array<double> _tau; // periods tau_i 00039 leda_array<int> _startIDist; 00040 leda_array<leda_array<double> > _iDist; 00041 }; 00042 00043 #endif