MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes Kleinner Farias [email protected] Departamento de Informática Pontifícia Universidade Católica do Rio de Janeiro Rio de Janeiro, RJ – Brasil Introdução Sistemas Multi-agentes (SMAs) surgiram como uma abordagem promissora para o desenvolvimento de sistemas complexos e distribuídos. ...necessidade de conhecer o domínio ...dificuldade de definir as regras do domínio e restrições Ex.: Software Científico [Kelly, 06] Modelagem de Software Modelagem Orientada a Agentes Funciona? Diane Kelly “A Study of Design Characteristics in Evolving Software Using Stability as a Criterion”, IEEE Transactions on Software Engineering, Vol. 32, No. 5, May 2006. © LES/PUC-Rio 2 Introdução • Por que é importante ? – para adotar SMAs na industrias de software é essencial abordagem maduras de modelagem • ter linguagem de modelagem bem definidas, ex. MAS-ML • ambiente de modelagem de SMAs • Dificuldades: – D1: dado o tamanho do metamodelo da linguagem MAS-ML e da UML é particularmente desafiante para desenvolvedores entender e objetivamente fazer uso das mesmas manualmente. – D2: como fazer uso da MAS-ML mesmo tendo pouco conhecimento? – D3: como representar os modelos sem prejudicar a comunicação? – D4: como avaliar se os modelos criados são modelos válidos? C. Lange and M.R.V. Chaudron. Effects of Defects in UML Models - An Experimental Investigation. Proceedings of the 28th International Conference on Software Engineering (ICSE’06), May 2006. © LES/PUC-Rio 3 MAS-ML Tool • Trata-se de um ambiente de modelagem específico de domínio para SMAs • Objetivo: reduzir a lacuna entre o domínio do problema e o domínio da solução 5 Etapas • Desenvolvimento: Metamodelo da MAS-ML Ferramenta de Modelagem Processo MDD - metamodelo da MAS-ML: modelo central e de maior Abstração © LES/PUC-Rio 4 MAS-ML Tool • Etapa1: Definição do Modelo de Domínio – Representação do metamodelo da MAS-ML usando EMOF – EMOF: linguagem para especificação de metamodelo • Etapa 2: Definição do Modelo Gráfico – definição das entidades e de suas propriedades, assim como de seus relacionamentos que podem ser representados na ferramenta Propriedades UML + MAS-ML Entidades © LES/PUC-Rio 5 MAS-ML Tool • Etapa 3: Definição do Modelo de Ferramenta – especificação de quais elementos farão parte da paleta da ferramenta • Etapa 4: Definição do Mapeamento – modelo de domínio, modelo gráfico, modelo de ferramenta – mapeamento geração de código • Etapa 5: Geração da Ferramenta – GMF (Graphical Eclipse Framework ) – EMF (Eclipse Modeling Framework) – GEF (Graphical Eclipse Framework) © LES/PUC-Rio 6 MAS-ML Tool Modelos com Conflitos: (1) Comprometem um típico processo MDD (2) Mau entendimento por parte dos desenvolvedores (3) Levam a introdução de erros em código Regras de boa formação não respeitadas: (1) todo agente deve ter uma ação (2) todo agente deve ter um objetivo (3) todo agente deve ter um plano (4) e outras. © LES/PUC-Rio 7 MAS-ML Tool • Benefícios e Limitações • Conhecer a linguagem em detalhes (D1 e D2) – conhecer os conceitos e os relacionamentos definidos no metamodelo da MAS-ML e UML – conhecer restrições aplicadas aos elementos do metamodelo – modelo criado manualmente pode apresentar inconsistência ao ponto de torná-lo inválido • Dificuldade na representação dos elementos da linguagem (D1 e D3 ) – Para ter uma boa comunicação é fundamental que os modelos sejam de fácil compreensão e entendimento – ambigüidade e inconsistência dos modelos como uma conseqüência do mau uso © LES/PUC-Rio 8 MAS-ML Tool Benefícios e Limitações • Validação do modelo (D1 e D4) – todo modelo criado deve ser validado em relação às restrições definidas no metamodelo da linguagem – inconsistências não detectadas na criação dos modelos passarão a serem custosas quando identificada na fase de implementação. • Limitações – não apresenta geração de código – não implementa todos os diagramas definidos em MAS-ML – necessidade de estudos empíricos para validar a sua usabilidade © LES/PUC-Rio 9 Conclusões e Trabalhos Futuros • O uso de linguagem de modelagem para SMAs depende diretamente do desenvolvimento de ferramenta de modelagem • Validação dos modelos criados é uma atividade essencial – Caso contrário, a atividade de modelagem torna-se tediosa e custosa • A forma como MAS-ML foi projetada facilitou o uso do GMF, EMF e GEF © LES/PUC-Rio 10 MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes Kleinner Farias [email protected] Obrigado