示例#1
0
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')
示例#2
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())