next up previous
Next: A Classe Simulacao Up: Orientação a Objetos Previous: A Classe FilaComPrioridade

A Classe Evento e suas Subclasses

Os diferentes tipos de eventos devem ser implementados por classes derivadas (subclasses) de uma classe abstrata Evento. Além de possuir um campo com o tempo simulado associado ao evento, essa classe deve ter um método abstrato trata(), o qual deve ser definido pelas subclasses concretas de Evento. Cada uma dessas subclasses (ChegadaDeTarefa, por exemplo) deve definir um método trata() com o tratamento específico para esse tipo de evento. Uma subclasse de evento pode ter ainda campos adicionais, com informações específicas para esse tipo de evento. (Exemplo: o campo duracaoDaTarefa, na classe ChegadaDeTarefa.)

Note, ainda, que o tratamento de um evento depende também do algoritmo de escalonamento de tarefas (FIFO, SJF, ou FIFO com preempção) do sistema simulado. Assim, um mesmo tipo de evento (``final de execução de tarefa'', por exemplo) poderá corresponder a várias classes, uma para cada algoritmo de escalonamento (FinalDeTarefaFIFO, FinalDeTarefaSJF, ...), pois o método trata() varia conforme do algoritmo de escalonamento.



Francisco Reverbel
2004-06-08