def __main__(): geradorDeChegadas = GeradorDeChegadasDeEntidades() geradorDeChegadas.setFrequenciaDiferenteDeterministica(12, 15) geradorDeTempoEntreFalhasServidorUm = GeradorDeNumerosTriangular(50,70, 100) geradorDeTempoEntreFalhasServidorDois = GeradorDeNumerosTriangular(60,75, 110) geradorDeTempoDeFalhaServidorUm = GeradorDeNumerosAleatorios(13) geradorDeTempoDeFalhaServidorDois = GeradorDeNumerosAleatorios(18) geradorDeTempoDeServicoServidorUm = GeradorDeNumerosTriangular(10,12, 15) geradorDeTempoDeServicoServidorDois = GeradorDeNumerosTriangular(8,10, 12) filaDoServidorUm = FilaDoServidor(50) filaDoServidorDois = FilaDoServidor() listaDeLog = [] simulador = Simulador(geradorDeChegadas, geradorDeTempoEntreFalhasServidorUm, geradorDeTempoEntreFalhasServidorDois, geradorDeTempoDeFalhaServidorUm, geradorDeTempoDeFalhaServidorDois, geradorDeTempoDeServicoServidorUm, geradorDeTempoDeServicoServidorDois, filaDoServidorUm, filaDoServidorDois, listaDeLog) simulador.iniciarSimulacao(1000) while(simulador.simulaUmPasso()): print 'Iniciando passo' print '----------------------------------------------' while(len(listaDeLog) > 0): print listaDeLog.pop(0) print '----------------------------------------------' print 'Terminando passo' simulador.gerarRelatorioDaSimulacao('TesteSimulacao.txt')
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())