Class ALG_TrocaPrioridade

java.lang.Object
  extended by ALG_TrocaPrioridade

public class ALG_TrocaPrioridade
extends java.lang.Object


Constructor Summary
ALG_TrocaPrioridade()
           
 
Method Summary
 void addTemposInicioExecucaoDaRClist(java.lang.String nomeTarefa, java.lang.String nomeSemaforo, float instante)
           
 void addTemposTerminoExecucaoDaRClist(java.lang.String nomeTarefa, java.lang.String nomeSemaforo, float instante)
           
 void atualizarSemaforosUsados(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio)
           
 void comecar()
          Inicia o algoritmo, define o limite, gera as ocorrencias e chama a função escalonadora.
 java.util.ArrayList<EstruturaSemaforo> copiaSegura(java.util.ArrayList<EstruturaSemaforo> fonte)
           
 boolean entradaNaRegiaoCritica(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio)
           
 java.lang.String getDataString()
          Retorna uma String com a data que o escalonamento foi realizado.
 float getLimiteDeGeracao()
           
 java.util.ArrayList<TarefaComSemaforo> getTarefasList()
           
 java.util.ArrayList<Tarefa> getTarefasListConvertidas()
          Gera uma lista convertendo as para .
 void imprimirListaDeEventos(java.util.ArrayList<Mapa> mapa)
           
 void insereEvento(float tempoEvento, int tipoEvento, java.util.ArrayList<Mapa> eventosList)
           
 void inserirSemaforo(Semaforo semaforo)
           
 void inserirTarefa(TarefaComSemaforo tar)
           
 Semaforo procuraSemaforo(java.lang.String nomeSemaf)
          Procura na lista de semaforos pelo nome do semaforo passado como parâmetro
 boolean saidaRegiaoCritica(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio)
           
 void salvarSaidaDaTarefa(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio, java.lang.String motivo)
           
 void terminoTarefa(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio)
           
 void teste(TarefaComSemaforoOcorrencia tarefaExecutando)
           
 boolean tratarOcorrencia(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual, float tempoDeInicio)
           
 void verificarContinuacao(TarefaComSemaforoOcorrencia tarefaExecutando, float tempoAtual)
           
 boolean verificaSeHaTarefasComMaiorPrioridade(TarefaComSemaforoOcorrencia tarefaExecutando)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ALG_TrocaPrioridade

public ALG_TrocaPrioridade()
Method Detail

comecar

public void comecar()
Inicia o algoritmo, define o limite, gera as ocorrencias e chama a função escalonadora.


terminoTarefa

public void terminoTarefa(TarefaComSemaforoOcorrencia tarefaExecutando,
                          float tempoAtual,
                          float tempoDeInicio)

entradaNaRegiaoCritica

public boolean entradaNaRegiaoCritica(TarefaComSemaforoOcorrencia tarefaExecutando,
                                      float tempoAtual,
                                      float tempoDeInicio)

saidaRegiaoCritica

public boolean saidaRegiaoCritica(TarefaComSemaforoOcorrencia tarefaExecutando,
                                  float tempoAtual,
                                  float tempoDeInicio)

tratarOcorrencia

public boolean tratarOcorrencia(TarefaComSemaforoOcorrencia tarefaExecutando,
                                float tempoAtual,
                                float tempoDeInicio)

insereEvento

public void insereEvento(float tempoEvento,
                         int tipoEvento,
                         java.util.ArrayList<Mapa> eventosList)

addTemposInicioExecucaoDaRClist

public void addTemposInicioExecucaoDaRClist(java.lang.String nomeTarefa,
                                            java.lang.String nomeSemaforo,
                                            float instante)

addTemposTerminoExecucaoDaRClist

public void addTemposTerminoExecucaoDaRClist(java.lang.String nomeTarefa,
                                             java.lang.String nomeSemaforo,
                                             float instante)

atualizarSemaforosUsados

public void atualizarSemaforosUsados(TarefaComSemaforoOcorrencia tarefaExecutando,
                                     float tempoAtual,
                                     float tempoDeInicio)

inserirSemaforo

public void inserirSemaforo(Semaforo semaforo)

inserirTarefa

public void inserirTarefa(TarefaComSemaforo tar)

salvarSaidaDaTarefa

public void salvarSaidaDaTarefa(TarefaComSemaforoOcorrencia tarefaExecutando,
                                float tempoAtual,
                                float tempoDeInicio,
                                java.lang.String motivo)

getLimiteDeGeracao

public float getLimiteDeGeracao()

procuraSemaforo

public Semaforo procuraSemaforo(java.lang.String nomeSemaf)
Procura na lista de semaforos pelo nome do semaforo passado como parâmetro

Parameters:
nomeSemaf - nome do semáforo procurado
Returns:
semaforoAlvo retorna uma referência para o semáforo procurado

verificaSeHaTarefasComMaiorPrioridade

public boolean verificaSeHaTarefasComMaiorPrioridade(TarefaComSemaforoOcorrencia tarefaExecutando)

verificarContinuacao

public void verificarContinuacao(TarefaComSemaforoOcorrencia tarefaExecutando,
                                 float tempoAtual)

imprimirListaDeEventos

public void imprimirListaDeEventos(java.util.ArrayList<Mapa> mapa)

getDataString

public java.lang.String getDataString()
Retorna uma String com a data que o escalonamento foi realizado.

Returns:

getTarefasList

public java.util.ArrayList<TarefaComSemaforo> getTarefasList()

getTarefasListConvertidas

public java.util.ArrayList<Tarefa> getTarefasListConvertidas()
Gera uma lista convertendo as para . A lista de de tarefas é necessaria para utilizacao de algumas funcionalidades, dentre elas a ferramenta que gera as Estatisticas


copiaSegura

public java.util.ArrayList<EstruturaSemaforo> copiaSegura(java.util.ArrayList<EstruturaSemaforo> fonte)

teste

public void teste(TarefaComSemaforoOcorrencia tarefaExecutando)