public void Simulacao() { // TODO: Informações dos Dispositivos InstanciarDispositivos(); ChegadaPrograma primeiroPrograma = ProximoPrograma(); AgendarPrograma(primeiroPrograma.InstanteChegada, TipoEvento.ARRIVAL, primeiroPrograma.Programa); if (FimSimulacao > 0) { AgendarPrograma(FimSimulacao, TipoEvento.COMPLETION, new Programa() { Identificador = "SO" }); } while (Scheduler()) { ; } }
// Evento 1 public bool Arrival(Evento evento) { // TODO: Sample Job Mix Distributions string resultado = ""; Evento proximoEvento = new Evento(evento.InstanteChegada, TipoEvento.REQUEST_CM, evento.Programa); AdicionarEvento(proximoEvento); resultado += "Chegada do Job. "; ChegadaPrograma proximoPrograma = ProximoPrograma(); if (proximoPrograma != null) { AgendarPrograma(proximoPrograma.InstanteChegada, TipoEvento.ARRIVAL, proximoPrograma.Programa); resultado += "Agendada chegada do Próximo Job. "; } Log(evento, "Arrival", resultado); return(true); }