00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SEnvironment.h,v 1.5 2003/01/24 10:04:59 hall Exp $ 00008 00009 Purpose : the environment stores all information how fast a job is 00010 executed if it is allocated to a certain machine 00011 00012 RCS-Log: 00013 $Log: SEnvironment.h,v $ 00014 Revision 1.5 2003/01/24 10:04:59 hall 00015 brdCast stuff 00016 00017 Revision 1.4 2003/01/08 18:57:13 meierb 00018 added randomized release times 00019 00020 Revision 1.2 2002/12/12 19:08:56 meierb 00021 *** empty log message *** 00022 00023 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00024 my_schedule 00025 00026 Revision 1.2 2002/11/10 18:05:42 taeubig 00027 namespace and header include changes 00028 00029 Revision 1.1 2002/08/29 12:59:58 taeubig 00030 Added the sources 00031 00032 Revision 1.1 2000/05/29 19:44:19 taeubig 00033 Moved environment related files into subdirectory env 00034 00035 Revision 1.12 2000/01/13 16:44:14 zoidl 00036 added javadoc comments 00037 00038 Revision 1.11 1999/08/05 08:48:04 schickin 00039 purpose of important classes noted in the header-files 00040 00041 Revision 1.10 1999/06/17 16:34:29 hall 00042 STopology changed, tuned STSysSchedEvent-stuff and lost more! 00043 00044 Revision 1.9 1999/05/06 14:51:36 schickin 00045 event handling by jobs and machines redesigned 00046 00047 Revision 1.8 1999/04/27 13:39:16 schickin 00048 well folks, that's the first demo version that really runs 8-) 00049 00050 Revision 1.7 1999/03/31 11:13:21 hall 00051 added a few output operators and save routines 00052 00053 Revision 1.6 1999/03/29 12:48:50 schickin 00054 design of modifiers changed (SFooMod is now a member of SFoo). the stuff 00055 compiles and a simple test program runs fine. 00056 00057 Revision 1.5 1999/03/23 14:26:39 schickin 00058 a lot of new code in /model: things compile but have no functionality 00059 00060 Revision 1.4 1999/02/12 11:55:34 hall 00061 impl. SEnvironment slice 00062 00063 Revision 1.3 1999/02/09 11:45:15 hall 00064 nc 00065 00066 Revision 1.2 1999/01/29 10:03:34 schickin 00067 Project-Headers added. 00068 00069 00070 * #end# ************************************************************* */ 00071 00072 #ifndef SENVIRONMENT_H 00073 #define SENVIRONMENT_H 00074 00075 // system header files 00076 00077 // project header files 00078 #include "../../general/STypeInfo.h" 00079 #include "SEnvironmentMod.h" 00080 00081 class SJob; 00082 class SMachines; 00083 00089 // ----------------------------------------------------------------------- 00090 class SEnvironment : public STypeInfo { 00091 NOCOPY(SEnvironment); 00092 public: 00093 SEnvironment() {}; 00094 virtual ~SEnvironment() {}; 00095 00098 virtual SEnvironmentMod &getModifier() = 0; 00099 00107 virtual double getRemProcTimeOn(SJob& job, 00108 const SMachines& machines) const = 0; 00109 00113 virtual int getNumOfMachines() const =0; 00114 }; 00115 // ----------------------------------------------------------------------- 00116 00117 #endif //SENVIRONMENT_H 00118 00119