00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SAtomarJob.h,v 1.5 2003/03/21 15:47:05 taeubig Exp $ 00008 00009 Purpose : This class works only on SUnrelated/SUniform/SIdentical/SSingle- 00010 Environment 00011 00012 RCS-Log: 00013 $Log: SAtomarJob.h,v $ 00014 Revision 1.5 2003/03/21 15:47:05 taeubig 00015 merge with source from Bertolt 00016 00017 Revision 1.4 2003/01/08 18:57:13 meierb 00018 added randomized release times 00019 00020 Revision 1.2 2002/12/16 23:32:09 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/09 02:51:24 taeubig 00027 Replaced <iostream.h> header inclusion by <iostream>, cerr by std::cerr... 00028 00029 Revision 1.1 2002/08/29 12:59:59 taeubig 00030 Added the sources 00031 00032 Revision 1.1 2000/05/29 19:51:18 taeubig 00033 Moved job type related files into subdirectory jobs 00034 00035 Revision 1.13 2000/01/13 16:44:16 zoidl 00036 added javadoc comments 00037 00038 Revision 1.12 1999/08/05 13:02:54 schickin 00039 redesign: event list for algorithm is generated by logger now 00040 00041 Revision 1.11 1999/06/17 16:34:28 hall 00042 STopology changed, tuned STSysSchedEvent-stuff and lost more! 00043 00044 Revision 1.10 1999/05/06 14:51:35 schickin 00045 event handling by jobs and machines redesigned 00046 00047 Revision 1.9 1999/04/27 13:39:15 schickin 00048 well folks, that's the first demo version that really runs 8-) 00049 00050 Revision 1.8 1999/03/31 11:13:19 hall 00051 added a few output operators and save routines 00052 00053 Revision 1.7 1999/03/30 12:13:47 schickin 00054 dynamic_cast added, constructors for task system classes added 00055 00056 Revision 1.6 1999/03/29 12:48:48 schickin 00057 design of modifiers changed (SFooMod is now a member of SFoo). the stuff 00058 compiles and a simple test program runs fine. 00059 00060 Revision 1.5 1999/03/29 10:36:29 schickin 00061 moving things from hpmayr to sunhalle 00062 00063 Revision 1.4 1999/03/23 14:26:36 schickin 00064 a lot of new code in /model: things compile but have no functionality 00065 00066 Revision 1.3 1999/02/12 11:55:34 hall 00067 impl. SEnvironment slice 00068 00069 Revision 1.2 1999/01/29 10:03:33 schickin 00070 Project-Headers added. 00071 00072 00073 * #end# ************************************************************* */ 00074 00075 #ifndef SATOMARJOB_H 00076 #define SATOMARJOB_H 00077 00078 // system header files 00079 #include <iostream> 00080 00081 // project header files 00082 #include "SParallelJob.h" 00083 #include "SShopJob.h" 00084 #include "SAtomarJobMod.h" 00085 00086 // ----------------------------------------------------------------------- 00091 class SAtomarJob : public SShopJob, public SParallelJob { 00092 TYPEINFO2(SAtomarJob, "atomar", SShopJob, SParallelJob); 00093 friend class SAtomarJobMod; 00094 public: 00097 SAtomarJob(SProbabilityDist* dist); 00099 SAtomarJob(double proctime); 00102 virtual ~SAtomarJob(); 00103 00109 virtual void process(SMachines& machines, double duration); 00110 00113 virtual SJobMod& getModifier() { return _mod; }; 00114 00115 private: 00116 SAtomarJobMod _mod; 00117 }; 00118 // ----------------------------------------------------------------------- 00119 std::ostream& operator<<(std::ostream& out, SAtomarJob &job); 00120 // ----------------------------------------------------------------------- 00121 00122 #endif //SATOMARJOB_H