コード例 #1
0
 def run(self):
   geradorDeChegadas = self.__mediadorTempoEntreChegadas.obterGeradorDeTempo()
   geradorDeTempoEntreFalhasServidorUm, geradorDeTempoEntreFalhasServidorDois = self.__mediadorTempoEntreFalhas.obterGeradorDeTempo()  
   geradorDeTempoDeFalhaServidorUm, geradorDeTempoDeFalhaServidorDois = self.__mediadorTempoEmFalha.obterGeradorDeTempo()
   geradorDeTempoDeServicoServidorUm, geradorDeTempoDeServicoServidorDois  = self.__mediadorTempoDeServico.obterGeradorDeTempo()
   
   limiteUm, limiteDois = self.__mediadorLimiteDasFilas.obterLimitesDasFilas()
   
   filaDoServidorUm = FilaDoServidor(limiteUm)
   filaDoServidorDois = FilaDoServidor(limiteDois)
   
   simulador = Simulador(geradorDeChegadas, 
                   geradorDeTempoEntreFalhasServidorUm,
                   geradorDeTempoEntreFalhasServidorDois,
                   geradorDeTempoDeFalhaServidorUm,
                   geradorDeTempoDeFalhaServidorDois,
                   geradorDeTempoDeServicoServidorUm, 
                   geradorDeTempoDeServicoServidorDois,
                   filaDoServidorUm,
                   filaDoServidorDois,
                   self.__listaDeLog)
   
   simulador.iniciarSimulacao(self.__mediadorTempoDeDuracao.obterTempoDeDuracao())
   i = 1
   self.__simular = True
   self.__listaDeLog.append(' ------- Simulando passo ' + str(i) + ' -------')
   
   while(simulador.simulaUmPasso() and self.__simular):
     self.__listaDeLog.append(' ------- Simulando passo ' + str(i) + ' -------')
     i+= 1
     time.sleep(0.1)
   
   if(not self.__simular):
     simulador.gerarRelatorioParcialDaSimulacao(self.__mediadorLocalizacaoRelatorio.obterLocalizacaoRelatorio())
   else:
     simulador.gerarRelatorioDaSimulacao(self.__mediadorLocalizacaoRelatorio.obterLocalizacaoRelatorio())