SIMOO : plataforma orientada a objetos para simulação discreta multi-paradigma - Copstein, Bernardo (1997)
Analisando-se a literatura de simulação discreta pode-se observar que os autores, em geral, constroem seus modelos de simulação baseados em abordagens tradicionais e aceitas tais como orientação a eventos, orientação a mensagens, orientação a filas, etc. Mais recentemente encontram-se ambientes que afirmam utilizar o chamado paradigma de simulação orientado a objetos. No entanto não existe consenso na definição de tal paradigma e diferentes interpretações podem ser encontradas. Considerando que um modelo de simulação pertence a classe dos sistemas de software, nada mais natural do que aplicar conceitos de orientação a objetos em seu desenvolvimento. Deve ficar claro, entretanto, que existe uma grande diferença entre um paradigma de simulação, isto é, as idéias e recursos usados na construção de um modelo, e um paradigma de projeto e implementação aplicado ao desenvolvimento de sistemas de simulação. Linguagens orientadas a objetos podem ser aplicadas na implementação de sistemas de simulação que utilizam conceitos de modelagem distintos. Ainda que todos possam ser chamados de sistemas orientados a objetos, pode haver confusão quanto ao significado do termo simulação orientada a objetos. Este trabalho apresenta um esquema original de classificação para sistemas de simulação quanto a sua arquitetura de software onde são considerados aspectos tais como a maneira pela qual as entidades do modelo se comunicam e a forma pela qual se descrevem os eventos que alteram seu estado, entre outros. Conceitos fundamentais são identificados de maneira a definir um modelo de referencia onde diferentes paradigmas de simulação possam ser caracterizados e classificados. Especial atenção e dada ao relacionamento entre os paradigmas de simulação e a orientação a objetos, onde esta Ultima e vista como uma estratégia de projeto e implementação. Uma nova forma de caracterizar um paradigma de simulação e proposta. SIMOO e um "framework. ' para simulação discreta orientada a objetos que foi construído de maneira a poder validar os conceitos propostos. Composto por uma biblioteca de classes e de uma ferramenta de edição de modelos, a principal vantagem do use de SIMOO em relação a outras abordagens esta no fato de que SIMOO permite a seleção do paradigma mais adequado a descrição de cada entidade do modelo. Esta característica permite a criação de modelos que incorporam, simultaneamente, mais de um paradigma de simulação. A abstração básica da biblioteca de classes de SIMOO, a partir da qual são derivadas todas as entidades de um modelo, e o elemento autônomo. Este encapsula uma "thread" própria de execução e um sistema de comunicação por mensagens não tipadas que são a base de todos os paradigmas suportados por SIMOO. A ferramenta de edição de modelos de SIMOO e chamada de MET. MET utiliza um diagrama de classes hierárquico enriquecido com recursos adequados para a construção de modelos de simulação. Além do diagrama de classes, descreve-se também um diagrama de instâncias, onde as especificações genéricas do diagrama de classes são particularizadas. A partir da especificação dos diagramas e da descrição do comportamento das entidades, MET gera um modelo executável. Finalmente, SIMOO preocupa-se com a separação de domínios entre a descrição do modelo propriamente dito e os aspectos de visualização de resultados e interação com o usuário. Uma categoria especial de elementos autônomos chamados de monitores e provida para permitir essa separação. Além de apresentar o "framework" SIMOO em termos de especificação e implementação, este trabalho mostra aplicações através de situações exemplo e apresenta uma análise comparativa com outros ambientes descritos na literatura.