예제 #1
0
 public EJobComplete(double time, Simulation sim, SimulationJob j)
 {
     Time             = time;
     Sim              = sim;
     J                = j;
     DebugDescription = string.Format("Job {0} was completed at time {1} on machine {2}", J.JobParams.ID, Time, GetMachineForJob(J.JobParams).MachineID);
 }
예제 #2
0
 public EJobScheduledStart(double time, Simulation sim, SimulationJob j)
 {
     Time             = time;
     Sim              = sim;
     J                = j;
     DebugDescription = string.Format("Job {0} scheduled for start at time {1}", J.JobParams.ID, Time);
 }
예제 #3
0
 public EJobRelease(double time, Simulation sim, SimulationJob j)
 {
     Time             = time;
     Sim              = sim;
     J                = j;
     DebugDescription = string.Format("Job {0} released at time {1}", J.JobParams.ID, Time);
 }
예제 #4
0
 public EJobStart(double time, Simulation sim, SimulationJob j)
 {
     Time             = time;
     Sim              = sim;
     J                = j;
     DebugDescription = string.Format("Job {0} STARTED PROCESSING at time {1} on machine {2}", J.JobParams.ID, Time, GetMachineForJob(J.JobParams).MachineID);
 }
예제 #5
0
 public EJobAvailable(double time, Simulation sim, SimulationJob j)
 {
     Time             = time;
     Sim              = sim;
     J                = j;
     DebugDescription = string.Format("Job {0} became available at time {1}. It is assigned to machine {2}", J.JobParams.ID, Time, GetMachineForJob(J.JobParams).MachineID);
 }
예제 #6
0
        //public State CurrentState; // not used

        public Simulation(int _Nruns, Schedule _sched, string _DistrType)
        {
            DistributionType = _DistrType;
            NRuns            = _Nruns;
            Sched            = _sched;
            BuildPath();
            SimulationJobs = new SimulationJob[Sched.PrecedenceDAG.N];
            double[] RealisedStartTime = new double[Sched.PrecedenceDAG.N + 1];
            for (int i = 0; i < Sched.PrecedenceDAG.N; i++)
            {
                SimulationJobs[i] = new SimulationJob(Sched.PrecedenceDAG.Jobs[i], this);
            }
            for (int i = 0; i < Sched.PrecedenceDAG.N; i++)
            {
                SimulationJobs[i] = new SimulationJob(Sched.PrecedenceDAG.Jobs[i], this);
            }
            HasBeenMadeAvailable = new bool[Sched.PrecedenceDAG.N];
        }