00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SPrecRelation.h,v 1.4 2003/01/08 18:57:12 meierb Exp $ 00008 00009 Purpose : this is the base class for all kinds of precedence 00010 relations and the interfaces (filters) to them 00011 00012 RCS-Log: 00013 $Log: SPrecRelation.h,v $ 00014 Revision 1.4 2003/01/08 18:57:12 meierb 00015 added randomized release times 00016 00017 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00018 my_schedule 00019 00020 Revision 1.2 2002/11/11 16:52:52 taeubig 00021 header include changes 00022 00023 Revision 1.1 2002/08/29 12:59:58 taeubig 00024 Added the sources 00025 00026 Revision 1.10 2000/05/29 19:54:14 taeubig 00027 New subdirectory structure 00028 00029 Revision 1.9 2000/01/17 13:17:30 zoidl 00030 added javadoc comments 00031 00032 Revision 1.8 1999/08/05 08:48:09 schickin 00033 purpose of important classes noted in the header-files 00034 00035 Revision 1.7 1999/06/17 16:34:46 hall 00036 STopology changed, tuned STSysSchedEvent-stuff and lost more! 00037 00038 Revision 1.6 1999/04/27 13:39:34 schickin 00039 well folks, that's the first demo version that really runs 8-) 00040 00041 Revision 1.5 1999/03/25 14:12:56 schickin 00042 several changes in /model (no real executable yet) 00043 00044 Revision 1.4 1999/03/23 14:26:53 schickin 00045 a lot of new code in /model: things compile but have no functionality 00046 00047 Revision 1.3 1999/02/09 11:45:17 hall 00048 nc 00049 00050 Revision 1.2 1999/01/29 10:03:50 schickin 00051 Project-Headers added. 00052 00053 00054 * #end# ************************************************************* */ 00055 00056 #ifndef SPRECRELATION_H 00057 #define SPRECRELATION_H 00058 00059 // system header files 00060 00061 // project header files 00062 #include "jobs/SJob.h" 00063 #include "../general/SObservable.h" 00064 #include "../general/STypeInfo.h" 00065 00066 class STaskSystem; 00067 class SPrecRelationMod; 00068 00074 class SPrecRelation : public STypeInfo, public SObservable { 00075 NOCOPY(SPrecRelation); 00076 public: 00079 SPrecRelation() {}; 00082 virtual ~SPrecRelation() {}; 00083 00086 virtual SPrecRelationMod &getModifier() = 0; 00087 00093 virtual bool isAvailable(const SJob& job) const =0; 00094 private: 00095 // AH: moved the pointer to the TaskSystem to the bottom of the hierarchy 00096 // ... didn't want to hand the TaskSystem up through SPrecDAGInt while 00097 // constructing ... liked the idea that only the bottom-classes have an 00098 // own state .... should it be changed back??????? 00099 }; 00100 00101 #endif //SPRECRELATION_H 00102 00103