00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SPrecRelationMod.h,v 1.4 2003/03/13 19:24:03 taeubig Exp $ 00008 00009 Purpose : 00010 00011 RCS-Log: 00012 $Log: SPrecRelationMod.h,v $ 00013 Revision 1.4 2003/03/13 19:24:03 taeubig 00014 prob.dists in new dir, other changes, removed log messages 00015 00016 Revision 1.3 2003/01/08 18:57:12 meierb 00017 added randomized release times 00018 00019 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00020 my_schedule 00021 00022 Revision 1.1 2002/08/29 12:59:58 taeubig 00023 Added the sources 00024 00025 Revision 1.10 2000/05/24 12:46:19 taeubig 00026 New compiler (gcc-2.95) and new Qt (2.1) 00027 Replaced "list" by "leda_list" etc. 00028 00029 Revision 1.9 2000/01/25 00:15:22 taeubig 00030 Cloning.. 00031 00032 Revision 1.8 2000/01/17 13:17:31 zoidl 00033 added javadoc comments 00034 00035 Revision 1.7 2000/01/17 10:51:12 zoidl 00036 addDependency now returns the inserted edge 00037 00038 Revision 1.6 1999/11/08 00:25:31 zoidl 00039 add/del one job, compressJobArray 00040 00041 Revision 1.5 1999/10/28 10:59:16 zoidl 00042 fixed bug in cycle-checking, changed add/delRelation to add/delDependency 00043 00044 Revision 1.4 1999/10/27 15:07:30 zoidl 00045 add/del edges in DAG 00046 00047 Revision 1.3 1999/10/13 14:43:48 zoidl 00048 added deletion of jobs in tasksystem and prec relation, and ´edges´ in 00049 load() of DAG to enable precedence 00050 00051 Revision 1.2 1999/06/17 16:34:46 hall 00052 STopology changed, tuned STSysSchedEvent-stuff and lost more! 00053 00054 Revision 1.1 1999/03/25 14:12:57 schickin 00055 several changes in /model (no real executable yet) 00056 00057 00058 * #end# ************************************************************* */ 00059 00060 #ifndef SPRECRELATIONMOD_H 00061 #define SPRECRELATIONMOD_H 00062 00063 #include "SModifier.h" 00064 #include "SPrecRelation.h" 00065 00068 class SPrecRelationMod : public SModifier { 00069 public: 00073 virtual void jobsAdded(const leda_list<SJob*>& newJobs) =0; 00074 00078 virtual void jobsDeleted(const leda_list<SJob*>& jobs) =0; 00079 00083 virtual void synchronize() =0; 00084 00085 //virtual SPrecRelation* clone_for(STaskSystem& rTS) { assert(false); }; 00086 00094 virtual leda_edge addDependency(SJob& source, SJob& target, 00095 bool doCycleCheck=false) =0; 00096 00101 virtual bool delDependency(SJob& source, SJob& target) =0; 00102 }; 00103 00104 #endif //SPRECRELATIONMOD_H