Introdução a Simulação orientada a Objetos O que é OOS ? Mal entendido : usar LP OO para implementar é usar OOS Ex: SLAM e Siman Implementadas em C++ São gráficas Elementos pré-definidos: filas, recursos... Não são OOS Ex: data-driven simulation languages PROMODEL, SimFactory... Objetos pré-definidos Modelagem= selecionar e interconectar estes objetos Requer pouca programação (+ popular) Flexibilidade restrita (aplicações específicas) OO permite construção de um modelo hierárquico pela decomposição do sistema em componentes lógicos (OBJETOS) Conceitos importantes : hierarquia -> classes -> objetos (atributos + métodos) OO tem como característica a extensibilidade (herança através de subclasses) Permite também o reuso de classes pré-existentes. Eficácia do método : tempo inicial de desenvolvimento é maior As vantagens de se usar OO crescem se o tamanho do modelo e sua complexidade crescem. Algumas linguagens de simulação OO: Linguagem Simple++ ModsimIII Taylor ED VSE SimJava Silk G2 baseada em C++ C++ C++ Java Java C++ aplicação fluxo de produção/BPR/manufatura geral fluxo de produção/BPR geral geral geral simulação em tempo real Problemas atuais: Web-based simulation Comunicação entre modelos distribuídos HLA x CORBA x RMI Questão da interoperabilidade está em aberto Desenvolvimento colaborativo de modelos -> não há um padrão definido Desenvolvimento de Sistemas Complexos Modelos podem ser grandes e heterogêneos (módulos escritos em linguagens diferentes) Neste caso há ganho em se usar abordagem OO Não há padrão para projetar e testar classes de simulação, o que é importante no reuso de classes Velocidade de execução do modelo Esquemas de alocação de memória Estratégias de caching