1 / 64

Engenharia de Software Orientada a Agentes

Engenharia de Software Orientada a Agentes. Marco Simões (macs3) Jacques Robin (jr). Sistema Baseado em Agentes. Abstração principal: Agente Sistemas Multi-Agentes(SMAs): agentes com capacidade de socialização Agente: Autonomia Reatividade Pró-Atividade Capacidade de Socialização.

felcia
Download Presentation

Engenharia de Software Orientada a Agentes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engenharia de Software Orientada a Agentes Marco Simões (macs3) Jacques Robin (jr)

  2. Sistema Baseado em Agentes • Abstração principal: Agente • Sistemas Multi-Agentes(SMAs): agentes com capacidade de socialização • Agente: • Autonomia • Reatividade • Pró-Atividade • Capacidade de Socialização

  3. Agentes x Objetos • Objetos= entidades computacionais que encapsulam algum estado, são capazes de executar ações sobre este estado e comunicam-se através de passagem de mensagens • Diferenças entre Agentes e Objetos: • Grau de Autonomia • Comportamento reativo, pró-ativo e social • Sistemas Multi-Agentes são inerentemente multithreaded

  4. Requisitos Básicos de um Ambiente de Desenvolvimento de SMAs • Linguagem de Comunicação entre Agentes • FIPA • KQML • Protocolos de Comunicação • Forma de comunicação (passagem de mensagens, invocação de métodos, etc) • Modo de passagem de mensagens: unicast, broadcast ou multicast • Protocolo de Transporte/Rede – Ex: TCP/IP • Protocolos de Coordenação • Interação Homem-Agente

  5. Requisitos Desejáveis em um Ambiente de Desenvolvimento de SMAs • Atitudes Mentais (crenças, desejos e intenções) • Capacidade de Raciocínio • Planejamento • Meta-Gerenciamento • Modelo interno do próprio agente e de outros agentes • Comportamento Emocional • Adaptabilidade • Aprendizagem

  6. SMAs e Engenharia de Software • Metodologias • Análise Ontológica • Especificações • Linguagens e Notações • Verificação • Prototipação • Simulação

  7. Metodologias para Engenharia de Sistemas Multi-Agentes • São baseadas em metodologias e paradigmas existentes: • Orientação a Objetos • Engenharia de Conhecimentos • Métodos Formais

  8. Metodologias baseadas em Orientação a Objetos • Semelhança entre os paradigmas orientados a Agentes e orientados a Objetos • É comum o uso de LPOO para implementar sistemas multi-agentes • Popularidade das metodologias OO • Mensagens entre Agentes podem ser de vários tipos e não apenas invocação de métodos • Metodologias OO não especificam como modelar o estado mental e comportamento social necessários para os agentes

  9. OMT – Object Modeling Technique • Um dos predecessores dos métodos baseados em UML • 4 estágios • Análise • Modelo de objetos • Modelo dinâmico • Modelo funcional • Projeto do Sistema • Projeto dos Objetos • Implementação

  10. OMT: Diagramas • Modelo de Objetos • Diagrama de Classes • Modelo Dinâmico • Diagrama de Estados • Modelo Funcional • Diagrama de Fluxo de Dados

  11. OMT: Diagrama de Classes

  12. OMT: Diagrama de Estados

  13. Cartões CRC(Class, Responsibility, Collaborator) • Ferramenta utilizada para modelar as classes durante a modelagem OO de um sistema • São uma espécie de Cartão de Índice contendo as seguintes informações: • Nome: o nome da classe • Responsabilidades: o que as instâncias da classe devem saber ou fazer • Colaboradores: Outras classes envolvidas na satisfação das responsabilidades • Descrição: descrição textual sobre a classe e detalhes de implementação • Ancestral: descrição das superclasses

  14. Cartões CRC: Exemplo

  15. IDEF - Integration Definition for Function Modelling 1/2 • É uma abordagem estruturada para modelagem e análise corporativa • Padronizada pelo NIST(National Institute of Standards and Technology) • Modelos: • IDEF0- modelagem das decisões e ações de uma organização ou sistema • IDEF1 – modelagem da informação e seus relacionamentos

  16. IDEF - Integration Definition for Function Modelling 2/2 • Modelos (cont.) • IDEF1x – método para projeto de bases de dados relacionais • IDEF3 • Modelo de processos • Captura relações de precedência e causalidade • IDEF4 – projeto de sistemas OO • IDEF5 – descrição de ontologias

  17. Exemplo de Diagrama IDEF0

  18. CIMOSA - Computer Integrated Manufacturing Open System Architeture

  19. Projeto e Análise Orientada a Agentes por Burmeister • Três Modelos: • Modelo de Agente: • identifica os agentes(estrutura interna) e seus ambientes utilizando uma extensão dos cartões CRC para incluir atributos referentes a crenças, motivações, planejamento e cooperação • Modelo Organizacional: • descreve os relacionamentos(herança e papéis na organização) entre os agentes através de diagramas na notação OMT(Object Modelling Technique) • Modelo de Cooperação: • interações entre os agentes são identificadas e incluindo os parceiros de cooperação e os tipos de mensagens e protocolos utilizados

  20. Técnica de Modelagem de Agentes para Sistemas de Agentes BDI 1/2 • Baseada na experiência de desenvolvimento de SMAs no AAII(Australian AI Institute) • Visão Externa: • Decomposição do sistema em agentes e suas respectivas interações • Modelo de Agentes: • descreve a hierarquia e relacionamentos entre classes de agentes e define as instâncias destas classes • Modelo de Interação: • descreve as responsabilidades, serviços e interações entre agentes e sistemas externos • Utiliza notação OMT para modelar hierarquia

  21. Técnica de Modelagem de Agentes para Sistemas de Agentes BDI 2/2 • Visão Interna: • Modelagem de cada classe de agente BDI • Modelo de Crenças: • descreve as crenças sobre o ambiente • Modelo de Objetivos: • descreve os objetivos que um agente pode adotar e os eventos aos quais pode responder • Modelo de Planos: • descreve os planos que um agente pode utilizar para atingir seus objetivos • Notação OMT para modelar Crenças sobre cada objeto do ambiente

  22. BDI: Modelo de Agentes

  23. BDI: Modelo de Crenças

  24. BDI: Modelo de Planos

  25. MASB: Multi-Agent Scenario-Based Method 1/3 • Aplica-se a SMAs no campo de trabalho cooperativo • Análise: • Descrição do Cenário: • identificação, usando linguagem natural, dos papéis desempenhados pelos agentes humanos e de software, dos objetos do ambiente e os cenários típicos • Descrição Funcional de Papéis: • descrição dos papéis utilizando diagramas de comportamento que descrevem os processos, as informações relevantes e as interações entre agentes • Modelo Conceitual: • modelagem dos dados e do conhecimento utilizado pelo agente utilizando diagramas entidade-relacionamento(ou diagramas OO) e diagramas de ciclo de vida

  26. MASB: Multi-Agent Scenario-Based Method 2/3 • Análise: • Modelo de Interação: • simulação e definição das diferentes interfaces para interação homem-máquina em cada cenário • Projeto: • Descrição da Arquitetura e Cenário: • seleção dos cenários que serão implementados e os papéis desempenhados pelos agentes nestes cenários • Modelo de Objetos: • refinamento do modelo conceitual definindo hierarquias, atributos e procedimentos

  27. MASB: Multi-Agent Scenario-Based Method 3/3 • Modelo de Agentes: • especificação dos elementos definidos no modelo conceitual como estruturas de crenças utilizando uma notação gráfica proposta para representar o processo de decisão do agente

  28. Metodologia Orientada a Agentes para Modelagem Corporativa 1/3 • Propõe a integração de metodologias OO (OOSE – Object Oriented Software Engineering) com metodologias de modelagem corporativa • Metodologias de modelagem corporativa: • IDEF – Integration Definition for Function Modelling • CIMOSA - Computer Integrated Manufacturing Open System Architeture

  29. Metodologia Orientada a Agentes para Modelagem Corporativa 2/3 • Modelo Funcional: • descreve as funções(entradas, saídas, mecanismos e controle) utilizando diagramas IDEF0 • Modelo de Casos de Uso: • descreve os atores envolvidos em cada função utilizando a notação de casos de uso da OOSE • Modelo Dinâmico: • análise das interações entre objetos em que os casos de uso são representados como diagramas de eventos

  30. Metodologia Orientada a Agentes para Modelagem Corporativa 3/3 • Sistema Orientado a Agentes: • Identificação dos Agentes: • agentes são os atores dos casos de uso, suas funções principais são os objetivos e as possibilidades representadas como diagramas IDEF0 • Protocolos ou scripts de Coordenação: • descritos como diagramas de estado • Invocação de Plano: • diagramas de seqüência estendem os diagramas de eventos para incluir condições indicativas de quando um plano é invocado • Crenças, Sensores e Efetuadores: • entradas das funções são modeladas como crenças ou obtidas por sensores e objetivos atingidos são modelados como alterações nas crenças ou ações via efetuadores

  31. Metodologia GAIA • Parte de um conjunto de requisitos para um projeto suficientemente detalhado para ser implementado • Refinamentos sucessivos • Conceitos Abstratos: • utilizados durante a fase de análise para conceitualizar o sistema • Conceitos Concretos: • utilizados na fase de projeto, correspondem a elementos que estarão presentes na implementação

  32. GAIA: Conceitos Abstratos1/2 • Organização do Sistema: • É um conjunto de papéis • Existem relacionamentos e interações entre os papéis • Vários agentes podem desempenhar um mesmo papel, assim como um agente pode desempenhar vários papéis

  33. GAIA: Conceitos Abstratos2/2 • Atributos de um papel: • Responsabilidades: determinam a funcionalidade • Propriedades liveness: provocar a ocorrência de “alguma coisa boa” • Propriedades de segurança: garantir a não-ocorrência de “alguma coisa ruim” • Permissões: • direitos associados a um papel • Atividades: • ações privadas, i.e., não há interações com outros agentes • Protocolos: • definem as formas de interação do papel

  34. GAIA: Conceitos Concretos • Tipos de Agentes • Serviços • Conhecimento

  35. GAIA: definição de papéis

  36. GAIA: definição de protocolos

  37. GAIA: Modelo de Agentes

  38. GAIA: Modelo de Aquisição

  39. AUML: Agent UML • Modificações propostas na UML padrão: • Suporte para expressar linhas de interação concorrentes(ex: broadcast) visando permitir a modelagem de protocolos de agentes • Uma noção de papel que estende a que é fornecida na UML, permitindo a um agente desempenhar vários papéis • A OMG(Object Management Group) e a FIPA(Foundation for Intelligent Physical Agents) estão trabalhando no desenvolvimento de notações baseadas em UML para modelagem de Agentes • Grupo Agent UML: http://www.auml.org

  40. AUML: Representação do protocolo Contract Net

  41. AUML: Flexibilidade através do aninhamento de pacotes

  42. AUML: instanciando um template

  43. AUML: interação entre agentes

  44. AUML: Concorrência

  45. AUML: Diagramas de Colaboração

  46. AUML: Diagramas de Atividade

  47. AUML: Diagramas de Estado

  48. Metodologias Baseadas em Engenharia de Conhecimento • Agentes possuem características cognitivas e EC pode ser usada para modelar o conhecimento do agente • Experiência prévia • Bibliotecas de ontologias e métodos de solução de problemas podem ser reutilizadas • Não englobam os aspectos de distribuição e socialização dos agentes • Não englobam os comportamentos reativo e pró-ativo dos agentes

  49. CommonKADS • Principal metodologia que suporta Engenharia de Conhecimento estruturada • Utiliza fórmulas e ontologias para representar o conhecimento • Utiliza diagramas baseados em UML • Diagrama de classes • Diagrama de estados • Diagrama de atividades

  50. CommonKADS: Modelos

More Related