Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

model/STSysSchedEvent.h

Go to the documentation of this file.
00001 /* #start# ***********************************************************
00002 
00003            Scheduling Simulator
00004         Lehrstuhl f"ur Effiziente Algorithmen
00005            Technische Universit"at M"unchen
00006 
00007  File    : $Id: STSysSchedEvent.h,v 1.5 2003/01/08 18:57:12 meierb Exp $
00008 
00009  Purpose : events concerning the simulation process (jobs are
00010            scheduled, machines break etc.). also used to communicate with
00011            the algorithm (see below).
00012 
00013  RCS-Log:
00014  $Log: STSysSchedEvent.h,v $
00015  Revision 1.5  2003/01/08 18:57:12  meierb
00016  added randomized release times
00017 
00018  Revision 1.1.1.1  2002/12/02 22:26:19  meierb
00019  my_schedule
00020 
00021  Revision 1.3  2002/11/10 01:42:33  taeubig
00022  Added std:: for standard namespace,
00023  relative path corrections for header includes
00024 
00025  Revision 1.2  2002/11/09 14:19:38  taeubig
00026  <iostream> inclusion, added std::
00027 
00028  Revision 1.1  2002/08/29 12:59:58  taeubig
00029  Added the sources
00030 
00031  Revision 1.15  2000/05/29 19:54:23  taeubig
00032  New subdirectory structure
00033 
00034  Revision 1.14  2000/01/12 13:50:07  zoidl
00035  added javadoc comments
00036 
00037  Revision 1.13  1999/12/02 08:06:11  schickin
00038  SEvent-Hierarchie modified (STSysEvent is dead now)
00039 
00040  Revision 1.12  1999/11/11 13:30:23  zoidl
00041  player works now
00042 
00043  Revision 1.11  1999/11/10 15:07:31  zoidl
00044  added job state to event
00045 
00046  Revision 1.10  1999/08/05 13:03:00  schickin
00047  redesign: event list for algorithm is generated by logger now
00048 
00049  Revision 1.9  1999/08/05 08:48:12  schickin
00050  purpose of important classes noted in the header-files
00051 
00052  Revision 1.8  1999/06/17 16:34:51  hall
00053  STopology changed, tuned STSysSchedEvent-stuff and lost more!
00054 
00055  Revision 1.7  1999/05/06 14:51:44  schickin
00056  event handling by jobs and machines redesigned
00057 
00058  Revision 1.6  1999/04/27 13:39:42  schickin
00059  well folks, that's the first demo version that really runs 8-)
00060 
00061  Revision 1.5  1999/03/23 14:26:56  schickin
00062  a lot of new code in /model: things compile but have no functionality
00063 
00064  Revision 1.4  1999/02/10 15:05:52  schickin
00065  model-directory can be compiled now
00066 
00067  Revision 1.3  1999/02/09 17:17:19  schickin
00068  design changes: event system refined (+ interface of SSchedAlgorithm)
00069 
00070  Revision 1.2  1999/01/29 10:03:58  schickin
00071  Project-Headers added.
00072 
00073 
00074  * #end# ************************************************************* */
00075 
00076 #ifndef STSYSSCHEDEVENT_H
00077 #define STSYSSCHEDEVENT_H
00078 
00079 // system header files
00080 
00081 // project header files
00082 #include "../general/SLedaUserTypes.h"
00083 #include "../general/SEvent.h"
00084 #include "jobs/SJob.h"
00085 
00096 class STSysSchedEvent : public SEvent {
00097 public:
00098   
00104   enum Id {
00105     // issued by SJob
00106     JOBRESET,
00107     JOBSTATECHANGED,
00108     // the due date of a job has passed
00109     JOBOVERDUE,
00110     // job has finished a single execution phase but not the total
00111     // execution (only generated by job shops)
00112     JOBPHASEFINISHED,
00113 
00114     // issued by SPassiveMachines 
00115 
00116     // a new job has been allocated
00117     JOBALLOCATED,
00118     // a new job has been deallocated (this may have two reasons: the job
00119     // is preempted or the job is finished; you can distinguish this by
00120     // listening to JOBFINISHED-events or simply by asking the job)
00121     JOBDEALLOCATED,
00122     // the following two events are not used yet
00123     MACHINEBROKEN,
00124     MACHINEREPAIRED
00125   };
00126   STSysSchedEvent() {};
00127   
00134   STSysSchedEvent(Id id, int p, int j) :
00135     _id(id), _pos(p), _job(j) {};
00136   
00141   Id getId() const { return _id; };
00142   
00147   int getPos() const { return _pos; };
00148   
00153   int getJob() const { return _job; };
00154   
00159   virtual Type getType() const
00160     { return SCHEDEVENT; };
00161   
00166   virtual void write(std::ostream& rOs) const;
00167 
00168 private:
00169   Id _id;
00170   int _pos;
00171   int _job;
00172 };
00173 
00174 make_input_op(STSysSchedEvent);
00175 
00176 #endif //STSYSSCHEDEVENT_H
00177 
00178 
00179 
00180 
00181 
00182 
00183 
00184 
00185 
00186 
00187 
00188 

Generated on Thu May 22 16:48:09 2003 for Sketch-it! by doxygen1.2.18