Modelando sistemas Multiagentes Analisando Metodologias

Documentos relacionados
INF1013 MODELAGEM DE SOFTWARE

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Orientação a Objetos. Programação em C++

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

UNIVERSIDADE FEDERAL FLUMINENSE MESTRADO EM COMPUTAÇÃO KAREN DA SILVA FIGUEIREDO

Análise de Sistemas. Aula 5

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

English version at the end of this document

Programa Analítico de Disciplina INF323 Engenharia de Software II

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

English version at the end of this document

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens

Desenvolvimento de Software para Sistemas Multiagentes

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática

Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

[2] BRADSHAW, J. M.. An introduction to software agents. In: Bradshaw, J. M., editor, SOFTWARE AGENTS, p AAAI Press / The MIT Press, 1997.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Apresentação: Karen da Silva Figueiredo

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

SISTEMAS DISTRIBUÍDOS

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Engenharia de Software - 1

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa

Arquitectura de Sistemas de Software

Objetivo do Curso. Modelagem/Arquitetura de Software. Enfoque do Curso. Conteúdo do Curso

Um Framework Baseado em Sistemas Multiagentes para Simulação de Estratégias de Investimento no Mercado Financeiro

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

do IME/RJ Palavras-chave: Sistemas Multi-Agentes, Especificação de Sistemas, Requisitos.

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Modelagem/Arquitetura de Software

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

7 Referências Bibliográficas

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Desenvolvimento Baseado em Componentes: Experiências de Sucesso

Orientação a Objetos - Programação em C++

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Metodologia: I Star Exemplo: Expert Committee

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

Módulo I Princípios e Padrões de Projeto de SW em Java

UFG - Instituto de Informática

O que é um agente. oautonomia oreatividade oproatividade ointeração social. [Wooldridge et al, 1995]

UML e seus diagramas

Orientação a Objetos (OO)

Gestão de Projectos de Software - 1

BELLIFEMINE, F.; CAIRE, G.; POGGI, A.; RIMASSA, G. JADE A White Paper, 2003.

INF1404 MODELAGEM DE SISTEMAS

Programação Orientada a Objetos

Visão de Comportamento do Negócio

Visão de Comportamento do Negócio

Marcelo Henrique dos Santos

Requisitos de Sistemas

Engenharia de Software Orientada a Objetos - OOSE Método de Jacobson

Um mecanismo de monitoramento de serviços na plataforma OSGi

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

Introdução à Análise e Projeto de Sistemas

Tipos para uma Linguagem de Transformação

UML (Unified Modelling Language)

COMPILADORES PROGRAMA E BIBLIOGRAFIA

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Engenharia de Software

7 Conclusão e Trabalhos Futuros

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

IN Redes Neurais

ANÁLISE DO MOTOR DE EXECUÇÃO DA TECNOLOGIA GUARANÁ 1 ANALYSIS OF THE RUNTIME ENGINE OF GUARANÁ TECHNOLOGY

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

APÊNDICE D Unified Model Language (UML)

Requisitos de Software e UML Básico. Janaína Horácio

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

UML Unified Modeling Language Linguagem de Modelagem Unificada

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Prof. Lorí Viali, Dr.

Uma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

Uma Linguagem de Modelagem para Sistemas Multi-agentes Baseada em um Framework Conceitual para Agentes e Objetos

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Modelos em Sistemas de Informação. Aula 2

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Introdução a UML (Unified Modeling Language)

Organização de Computadores I

Padrões. Arquitetura de Software Thaís Batista

Composição de UML Profiles

Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução

Transcrição:

Modelando sistemas Multiagentes Analisando Metodologias Ricardo Almeida Venieris Ricardo.almeida@les.inf.puc-rio.br

Modelagem e Implementação OO de Sistemas Multi-Agentes Dissertação apresentada ao Departamento de Informática da PUC-Rio como parte dos requisitos para obtenção do título de Mestre em Informática: Ciência da Computação. Orientador: Carlos José Pereira de Lucena Departamento de Informática Pontifícia Universidade Católica do Rio de Janeiro Rio de Janeiro, 26 de Outubro de 2001

Metodologia Gaia Gaia é também o nome de uma influente hipótese proposta pelo ecologista James Lovelock no sentido de que todo o organismo vivo na Terra pode ser entendido como componente de uma entidade única, que regula o ambiente da Terra. O tema de várias entidades heterogêneas atuando em conjunto para alcançar um único objetivo é um tema central da pesquisa de sistemas multi-agente e foi uma consideração chave no desenvolvimento da metodologia Gaia. 3

Metodologia Gaia Gaia é uma metodologia para análise e projeto orientados a agentes que se baseia na visão de um sistema multi-agente como sendo uma organização computacional onde vários papéis interagem. Possui duas fases distintas Análise, onde são gerados os modelos de papéis e de interação Projeto, onde são construídos os modelos de agentes, de serviços e de afinidades. 4

Metodologia Gaia Gaia é também o nome de uma influente hipótese proposta pelo ecologista James Lovelock no sentido de que todo o organismo vivo na Terra pode ser entendido como componente de uma entidade única, que regula o ambiente da Terra. O tema de várias entidades heterogêneas atuando em conjunto para alcançar um único objetivo é um tema central da pesquisa de sistemas multi-agente e foi uma consideração chave no desenvolvimento da metodologia Gaia. 5

Metodologia Gaia - Fase de análise Na fase de análise o objetivo é: decompor o sistema em papéis que serão desempenhados na organização (objetivo do modelo de papéis) e definir a maneira como eles interagem de acordo com protocolos específicos (objetivo do modelo de interação). Esta fase promove um melhor entendimento do sistema e de suas estruturas sem considerar detalhes de implementação. 6

Metodologia Gaia Modelo de Papéis Um papel é definido por quatro atributos: Responsabilidades determinam as funcionalidades do papel. Permissões As propriedades de execução especificam o que deve acontecer Propriedades de segurança especificam um conjunto de assertivas que precisam ser mantidas (invariantes). direitos associados ao papel, identificam os recursos de informação que estão disponíveis para que o papel possa ser desempenhado. As permissões podem ser de três tipos: gera, lê e altera. Atividades ações que o papel irá desempenhar sem a necessidade de interagir com outros papéis Protocolos definem a maneira pela qual um papel interage com os demais papéis para desempenhar uma determinada ação. 7

Metodologia Gaia Modelo de Papéis Esquema do papel: Nome do papel Descrição: Breve descrição do papel Protocolos e Atividades: Protocolos e atividades que o papel possui Permissões: Direitos associados ao papel Responsabilidades: Execução: Propriedades de execução Segurança: Propriedades de segurança Padrão para modelo de papéis 8

Metodologia Gaia Modelo de Interação Conjunto de definições de protocolos, um para cada tipo de interação entre papéis. A definição de um protocolo consiste nos seguintes atributos: propósito, uma breve descrição da natureza da interação iniciador, papel responsável por iniciar a interação respondedor, papel com o qual o iniciador interage entradas, informações utilizadas pelo iniciador durante a execução do protocolo saídas, informações fornecidas para o respondedor durante o curso da interação Processamento, breve descrição textual do processamento do iniciador durante a interação. 9

Metodologia Gaia Modelo de Interação Padrão para modelo de interação 10

Metodologia Gaia Processo de Análise O processo de análise em Gaia deve seguir os seguintes passos: 1. Identificar os principais papéis no sistema, produzindo um protótipo do modelo de papéis. 2. Para cada papel identificar os protocolos associados, ou seja, as interações que ocorrem entre os papéis. 3. Com o modelo de interação, completar o modelo de papéis e, se necessário, repetir os passos anteriores. Ao final deste processo, o documento esperado é um modelo de papéis bem elaborado, descrevendo cada papel em termos de responsabilidades, permissões, protocolo de interação e atividades, e um modelo de interação, descrevendo cada protocolo em termos de troca de informações e padrões envolvidos. 11

Metodologia Gaia Fase de Projeto Utiliza os modelos definidos na fase de análise para gerar novos modelos com níveis de abstração mais baixos Obtém uma definição do sistema multi-agente mais próxima da implementação Define os agentes que irão desempenhar os papéis identificados durante a fase de análise Define a cardinalidade destes agentes (modelo de agentes) Os serviços que os agentes devem oferecer para desempenhar seus papéis A topologia das interações entre as diversas classes (objetivo do modelo de afinidade) 12

Metodologia Gaia Fase de Projeto - Modelos Modelo de agentes identifica as classes dos agentes em execução e a cardinalidade destas. pode ser vista como sendo um conjunto de papéis de agentes. Modelo de serviços identifica os serviços associados a cada classe de agente (derivam das atividades e protocolos do modelo de papéis) e especifica as principais propriedades destes serviços. Um serviço diz respeito à função de um agente. Em termos de OO um serviço corresponde a um método. Modelo de afinidade define os canais de comunicação que existem entre as classes de agentes. Ele não define quais mensagens são enviadas ou quando as mensagens são enviadas, apenas indica quais os caminhos de comunicação existentes. O objetivo deste modelo é identificar um potencial gargalo de comunicação que pode causar problemas durante a execução. 13

Metodologia Gaia Fase de Projeto - Processos Envolve os seguintes passos: 1. agregar papéis a classes de agentes e definir a cardinalidade de cada classe. 2. Identificar os serviços que os agentes devem oferecer para realizar os papéis atribuídos a eles 3. Desenvolver o modelo de afinidade utilizando o modelo de interação e o modelo de agentes para identificar ineficiências do projeto e se necessário, repetir os passos anteriores. Ao final deste processo, o documento esperado é a atual arquitetura (organização) do sistema de agentes, que pode ser implementado usando técnicas tradicionais de projeto, como por exemplo projeto orientado a objetos. 14

Elementos da metodologia Gaia e seus relacionamentos 15

Sistema Exemplo Mercado virtual de bens via Internet. Permite a compra, venda e negociação de bens Permite a certificação de compradores, vendedores e itens para garantir uma transação mais segura. 16

Exemplo Modelo de papéis 17

Exemplo Modelo de Interação do Protocolo do Usuário OrdenarCompra 18

Exemplo Fase de Projeto - Modelo de Agentes 19

Exemplo Fase de Projeto - Modelo de Serviços do Agente Usuário 20

Exemplo Design Pattern Agente 21

Exemplo Design Pattern Agente Aplicado Representação do ambiente 22

Soluction Aumentar a Autonomia - MEM Incluir Estados Mentais 23

Soluction Aumentar a Autonomia - MME Incluir Estados Mentais Incluir Planos 24

Reflections Vantagens e Desvantagens da Metodologia Induz a um pensamento voltado a estrutura organizacional do sistema. O fluxo de interação entre os diferentes papéis contribui para o entendimento da forma como os agentes interagem e se relacionam. Adequado para modelar Agentes Reativos Falta de documentação com exemplos de uso sobre o método. Na bibliografia disponível, são poucos os artigos que trazem exemplos reais de uso do método. Os modelos utilizam marcadores em muitos casos que são insuficientes para representar todas as variações possíveis na representação do problema. O modelo de interação prevê a representação dos protocolos a partir do papel que os origina. Muitas vezes, como é o caso da negociação de bens, dois papéis podem iniciar um mesmo protocolo. Neste caso, o modelo seria repetido nos dois iniciadores, sendo na verdade componentes de uma única seqüência de interação. A ausência de uma ferramenta CASE para o desenvolvimento de software através da metodologia dificulta e limita seu uso. 25

References C. J. Petrie. Agent-Based Software Engineering, in J. Bradshaw and G. Arnold, editors, Proceedings of the 5th International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology (PAAM 2000), Manchester, UK, 2000. C. Lucena, R. Milidiu, (ed), Sistemas Multi-Agentes, Editora Papel Virtual, 2001. D. Coleman, P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes, and P. Jeremaes. Object-Oriented Development: The FUSION Method, Prentice Hall International: Hemel Hempstead, England, 1994. D. Galernter, Generative Communication in Linda ACM Transactions on Programming Languages and Systems, vol. 7, No.1, pp 80-112, 1985. D. Lea, Concurrent Programming in Java: Design Principles and Patterns, Second Edition, Addison Wesley, 1999. E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 G. Weiss, (ed) Multiagent Systems. A Modern Approach to Distributed Artificial Intelligence, Cambridge, MA, The MIT Press, 1999 http://www.teccomm.les.inf.puc-rio.br J. Ferber, Multi-agent Systems. An Introduction to Distributed Artificial Intelligence, Addison-Wesley, 1999. 10.J. Rumbaugh, I. Jacobson, G. Booch, The unified modeling language reference manual, Adison Wesley, 1999. 26

References M. Fayad and D. Schmidt, Object-oriented application frameworks, Communication of the ACM, 40(10), 32-38, 1997. M. Wooldridge, N. R. Jennings, D. Kinny, A methodology for agent-oriented analysis and design, in Proceedings of the Third International Conference on Autonomous Agents (Agents 99), pages 69-76, Seattle, WA, May 1999. M. Wooldridge, N. R. Jennings, D. Kinny, The Gaia methodology for agent- oriented analysis and designs, Journal of Autonomous Agent and Multi- Agent Systems, 2000. MAS Framework: http://www.teccomm.les.inf.puc-rio.br/agentes/ N. R. Jennings, M. Wooldridge, Agent-oriented software engineering, in: J. Bradshaw (Ed.), Handbook of Agent Technology, AAAI/MIT Press, 2000, to appear. N. R. Jennings. On agent-based software engineering, Artificial Intelligent 117(2000):277-196, 2000. N.R. Jennings, K. Sycara and M. Wooldridge, A Roadmap of Agent Research and Development, in: Autonomous Agents and Multi-Agent Systems Journal, N.R. Jennings, K. Sycara and M. Georgeff (Eds.), Kluwer Academic Publishers, Boston, Volume 1, Issue 1, pages 7-38, 1998 Object Management Group Agent Platform Special Interest Group. Agent Technology Green Paper. Version 1.0, September 2000. OMG. The object management group. http://www.omg.org/ T. Lehman, S. McLaughry, and P. Wyckoff. TSpaces: The Next Wave. Hawaii International Conference on System Sciences (HICSS-32), January 1999. V. Silva, C. Lucena, Modelo Orientado a Objetos para Sistemas Multi- Agentes, MCC30/01, Monografias em Ciência da Computação, Departamento de Informática, PUC-Rio, Outubro 2001. 27

Perguntas... Ricardo Almeida Venieris Ricardo.almeida@les.inf.puc-rio.br 28