Universidade do Estado do Rio Grande do Norte UERN Universidade Federal Rural do Semi-Árido UFERSA Mestrado em Ciência da Computação MCC Disciplina: Engenharia de Software Orientada a Agentes Professores: D.Sc. Francisco Milton Mendes Neto D.Sc. Pedro Fernandes Ribeiro Neto Dra. Sc. Heliana Soares Introdução a INGENIAS: Metodologia de desenvolvimento de Sistemas Multi-Agentes. Mizael Clistion Souza Elias (clistion@gmail.com) Mossoró setembro/2009
Roteiro Introdução criadores, motivação, proposta, definições Ciclo de vida Ferramentas Eventos Acadêmicos e pesquisas Conclusões Referências 2
Introdução Diferentes propostas em ESOA 1 buscam unir práticas da Engenharia de Software (ES) com Agentes Inteligentes, usando paradigmas: Orientado a Objeto (OO): Kendall, MaSe; Engenharia do Conhecimento: MAS-CommonKADS, TROPOS; INGENIAS surge inicialmente como tese de Doutorado de Jorge J. Gómez-Sanz como a metodologia MAS GRASIA na Universidad Complutense de Madrid (2002). 1 ESOA: Engenharia de Software Orientada a Agentes 3
Introdução - CRIADORES Os criadores da IDE INGENIA (IDK) são: Jorge Gómez Sanz. Professor associado na faculade de Ciência da Computação da Universidade Complutense de Madrid. Ruben Fuentes. Pesquisador assistente na faculade de Ciência da Computação da Universidade Complutense de Madrid. Sob a direção de: Juan Pavon. Professor da Faculade de Ciência da Computação da Universidade Complutense de Madrid. 4
Introdução - MOTIVAÇÃO Motivação para uma nova metodologia: Diminuir a dificuldade encontrada em se aplicar metodologias de Sistemas Multi-Agente (SMA) em problemas reais; Dimensão da aplicação, cada vez maior em sistemas atuais; Aumentar a capacidade de incorporar as práticas da ES no desenvolvimento de SMA. 5
Introdução - PROPOSTA Grupo de Agentes de Software: Ingeniería y Aplicaciones (GRASIA) desenvolveu a metodologia INGENIAS; Permitir uma construção incremental das especificações de SMA ; assegurando correto desenvolvimento nas fases de análise, projeto e implementação em um ciclo de vida. 6
Introdução - DEFINIÇÕES Construída a partir da metodologia MESSAGE/UML (GÓMEZ- SANZ e FERNÁNDEZ, 2002); As etapas são geridas com o Processo Unificado aplicado para estruturar produtos e atividades envolvidas no desenvolvimento de SMA; Utiliza a linguagem de modelagem gráfica com estereótipos UML ou GRASIA. 7
No que INGENIAS pode ajudar os engenheiros de software? (GÓMEZ-SANZ e FERNÁNDEZ, 2002). Fornecendo: 1- Uma linguagem visual para definição de SMA; 2- Integração com o ciclo de vida de desenvolvimento; 3- Desenvolvimento de ferramentas. 8
1- Uma linguagem visual para definição de SMA Aproveitar a facilidade comprovada de se trabalhar com elementos visuais como na UML; Conceitos, relações e visões no SMA definidas com tal linguagem visual; Usa a Meta-linguagem GOPRR (Graph, Object, Property, Role and Relationship). 9
2- Integração com o ciclo de vida de desenvolvimento Cobre todas as fase do ciclo de desenvolvimento de software; Usa o Processo Unificado como processo adotado na metodologia; Define um conjunto de produtos e atividades, distribuídas ao longo das fases do Processo Unificado. Desenvolvimento de software iterativo; Modelagem visual de software; 10
3- Desenvolvimento de Ferramentas Disponibiliza o IDK(INGENIAS Development Kit) no site do GRASIA; Admite como entrada uma linguagem visual expressa numa meta-linguagem GOPRR. 11
Figura 1 - Ambiente do IDK. 12
Comprovação da Metodologia Feita com o uso de estudos de caso nas etapas de desenvolvimento da INGENIAS (GÓMEZ-SANZ e FERNÁNDEZ, 2002); Podem ser conferidos no site do GRASIA e em artigos dos autores da metodologia. 13
Meta-modelos 5 META-MODELOS ou viewpoints DESCREVEM AS VISÕES DO SMA: Figura 2 As 5 visões para SMA definidas com INGENIAS. Fonte: Adaptada do manual INGENIAS. 14
1- Modelo do agente: descreve o agente, suas tarefas, objetivo, estado mental e papeis. 2- Modelo de Interação: Cada interação inclui os atores envolvidos, objetivos, e uma descrição do protocolo que se segue a interação; diagramas UML de interação e diagramas GRASIA 2. 2 Diagramas experimentais. 15
3- Modelo de Tarefas e Objetivos: descreve relações entre objetivos e tarefas e suas estruturas; Expressa as entradas e saídas das tarefas e seus efeitos sobre o ambiente e o estado mental do agente. 4- Modelo de Organização: como componentes do sistema (agentes, papéis, recursos e aplicações) são agrupados; Quais tarefas são executadas em comum, e quais objetivos são compartilhados, etc. 16
5- Modelo do Ambiente: define a percepção do agente em termos dos elementos do sistema; Identifica também os recursos do sistema responsáveis pela gestão do agente. 17
As fases INGENIAS segue as fases do Processo Unificado: Concepção: ênfase no escopo do sistema; Elaboração: ênfase na arquitetura; Construção: ênfase no desenvolvimento; Transição: ênfase na implantação. 18
FASES Concepção Elaboração Construção Análise Rascunho do sistema; gerar casos de uso e identificar as ações deles com modelos de interação; Esboçar a arquitetura do sistema com um modelo de organização; Refinar Casos de Uso; Criar modelo do agente que detalha elementos da arquitetura do sistema; Workflows e tarefas nos modelos de organização; Estudar os outros Casos de Uso e refinálos. Fluxos de trabalho fundamentais Projeto Criar modelo do ambiente para representar resultados da fase de coleta de requisitos; Gerar protótipos, talvez, com uma ferramenta de desenvolvimento rápido de aplicações, tais como Zeus ou Agent Tool. Refinar o modelo de ambiente incluindo novos elementos. Refinamento de workflows; Modelos de interação mostrando a execução das tarefas; Modelos de tarefa e objetivos refletindo dependências e necessidades identificadas nos workflows. Modelo de agente mostrando os padrões mentais necessários. Gerar novos modelos de agentes e refinar os existentes; Gerar um modelo de implantação. 19 Tabela 1- Resultados obtidos em cada fase de desenvolvimento. Fonte: Adaptada de (Gomez-Sanzs, 2002).
Elementos da Linguagem Figura 3 - Elementos relevantes da notação INGENIAS. Fonte: (GARCÍA-MAGARIÑO, GÓMEZ-SANZ e FERNÁNDEZ, 2009). 20
Figura 5 Exemplo de Diagrama de Caso de Uso (GRASIA) produzido na fase análise CONCEPÇÃO. Retirado da seção de exemplos do site grasia.fdi.ucm.es. 21
Figura 6 Exemplo de Diagrama de Colaboração produzido na fase análise ELABORAÇÃO. Retirado da seção de exemplos do site grasia.fdi.ucm.es. 22
Implementação Figura 7 Geração do código com JADE*. Fonte: Case study: The cinema (GOMEZ-SANZ e MESTRAS, 2005). *JADE: Java Agent Development framework 23
Trabalhos e esforços que fazem INGENIAS evoluir: http://claib2007.eventos.usb.ve Congreso Latinoamericano de Ingeniería Biomédica http://gaips.inesc-id.pt/aamas2008/ http://grasia.fdi.ucm.es 24
Conclusões Nova metodologia melhorando a aplicação da ES em SMA; Fornecimento de Ferramentas de Apóio a metodologia, o IDK ; Processo de Desenvolvimento utilizando Processo Unificado; Exemplos de aplicação, artigos entre outros materiais para propagar o conhecimento sobre INGENIAS no site do GRASIA; Melhor validação da metodologia por meio de sua utilização por : estudantes, pesquisadores e desenvolvedores de SMA. 25
Referências: GÓMEZ-SANZ, Jorge J; FERNÁNDEZ, Rubén Fuentes. Agent Oriented Software Engineering with INGENIAS. Iberoamerican Workshop on Multi-Agent Systems, vol. 4. Sevilha, Espanha, 2002. GÓMEZ-SANZ, Jorge J. Modelado de Sistemas Multi-Agent. Madri: UCM, 2002. 255 p. Tese (Doutorado) - Faculdade de Informática, Universidade Complutense de Madri, Madri, 2002. GÓMEZ-SANZ, Jorge J; MESTRAS, Juan Pavón. Multi-Agent system development with INGENIAS - Case study: The cinema. Madri: Universidade Complutense de Madri, 2005. 27 slides, preto.texto em PDF. GARCÍA-MAGARIÑO, Iván; GÓMEZ-SANZ, Jorge J; FERNÁNDEZ, Rubén Fuentes. Model Transformations for Improving Multi-agent Systems Development in INGENIAS. The 10th International Workshop on Agent-Oriented Software Engineering AOSE'09, 2009. MANUAL INGENIAS. Disponível em:<http://ufpr.dl.sourceforge.net/project/ingenias/ingenias%20development%20kit/ara njuez/ingeniasmanual.pdf> Acesso em: 23 ago. 2009. 26
27