A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software Orientada a Agentes

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software Orientada a Agentes"— Transcrição da apresentação:

1 Engenharia de Software Orientada a Agentes
Marco Simões (macs3) Jacques Robin (jr) Tópicos Avançados em Inteligência Artifical Simbólica I

2 Sistema Baseado em Agentes
Engenharia de Software Orientada a Agentes 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 Pró-Atividade: o ambiente pode mudar: précondições podem tornar-se falsas ou objetivos inválidos Capacidade de Socialização: interação, cooperação e NEGOCIAÇÃO Tópicos Avançados em Inteligência Artifical Simbólica I

3 Engenharia de Software Orientada a Agentes
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 Grau de Autonomia: Objetos possuem controle sobre seus estados internos mas não sobre seus Comportamentos (não há controle sobre a execução dos métodos públicos). Comportamento: o modelo padrão de objetos não prevê estes comportamentos, embora seja possível implementar objetos que os apresentem. Tópicos Avançados em Inteligência Artifical Simbólica I

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 Modelo Dinâmico Modelo Funcional
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
Engenharia de Software Orientada a Agentes 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 O Resultado é um modelo próximo à Arquitetura de Agentes PRS (primeira arquitetura a seguir o paradigma BDI) Tópicos Avançados em Inteligência Artifical Simbólica I

22 Engenharia de Software Orientada a Agentes
BDI: Modelo de Agentes Classes podem ter Atributos (Crenças, Desejos e Intenções) Não podem ter métodos Coordinator: criação e deleção de agentes Aircraft com seus planos iniciais de vôo WindModel: mantem modelo das condições passadas, presentes e futuras de vento no espaço controlado Sequencer (não presente): determina as aterrissagens Tópicos Avançados em Inteligência Artifical Simbólica I

23 BDI: Modelo de Crenças

24 Engenharia de Software Orientada a Agentes
BDI: Modelo de Planos Prescrições executáveis de como o agente deve se comportar para atingir um objetivo ou responder a um evento Bola Preta= estado inicial Final = estado final Pass Vazio = estado final Fail Bola branca = estado interno passivo Instância (retangulo com activity formula)= estado interno ativo Atividades= subgrafo para atingir algum subobjetivo Tópicos Avançados em Inteligência Artifical Simbólica I

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
Engenharia de Software Orientada a Agentes MASB: Multi-Agent Scenario-Based Method /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 Projeto: Modelo de Conversação e validação do projeto do sistema. Citados mas não desenvolvidos. Tópicos Avançados em Inteligência Artifical Simbólica I

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 Engenharia de Software Orientada a Agentes
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 A hipótese de Gaia (James Lovelock): Equilíbrio no Ecossistema Tópicos Avançados em Inteligência Artifical Simbólica I

32 GAIA: Conceitos Abstratos 1/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 Abstratos 2/2
Engenharia de Software Orientada a Agentes GAIA: Conceitos Abstratos 2/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 Propriedades de segurança: garantir que a temperatura do reator esteja sempre entre 0-100 Propriedade liveness: maximizar os lucros numa operação de venda Tópicos Avançados em Inteligência Artifical Simbólica I

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

35 GAIA: definição de papéis

36 GAIA: definição de protocolos
Engenharia de Software Orientada a Agentes GAIA: definição de protocolos QM – QuoteManager CV - CustomerVetter Tópicos Avançados em Inteligência Artifical Simbólica I

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:

40 AUML: Representação do protocolo Contract Net
Engenharia de Software Orientada a Agentes AUML: Representação do protocolo Contract Net Template: Papéis/Restrições/Ações de Comunicação Tópicos Avançados em Inteligência Artifical Simbólica I

41 AUML: Flexibilidade através do aninhamento de pacotes

42 AUML: instanciando um template

43 AUML: interação entre agentes
Engenharia de Software Orientada a Agentes AUML: interação entre agentes Diferenças para UML: CA – Ato de Comunicação ao invés de mensagens OO Multicasts, OR inclusivo ou XOR Tópicos Avançados em Inteligência Artifical Simbólica I

44 Engenharia de Software Orientada a Agentes
AUML: Concorrência Cada Barra indica uma Thread independente num agente Tópicos Avançados em Inteligência Artifical Simbólica I

45 AUML: Diagramas de Colaboração
Engenharia de Software Orientada a Agentes AUML: Diagramas de Colaboração Similar aos diagramas de sequencia Agentes podem ser posicionados em qualquer lugar Escolha depende da conveniência gráfica Seqüência indicada pela numeração das ações Tópicos Avançados em Inteligência Artifical Simbólica I

46 AUML: Diagramas de Atividade
Engenharia de Software Orientada a Agentes AUML: Diagramas de Atividade Representa a Linha central de controle do Protocolo Também são utilizados para a modelagem interna dos agentes Tópicos Avançados em Inteligência Artifical Simbólica I

47 AUML: Diagramas de Estado
Engenharia de Software Orientada a Agentes AUML: Diagramas de Estado Pouco utilizados para modelar protocolos Baseados em estado Úteis para impor restrições aos protocolos Utilizados para modelagem interna dos agentes Tópicos Avançados em Inteligência Artifical Simbólica I

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 Engenharia de Software Orientada a Agentes
CommonKADS: Modelos Expertise= modela comportamento resolução de problemas em função conhecimento Tópicos Avançados em Inteligência Artifical Simbólica I

51 Metodologia CoMoMAS 1/2 Extensão da metodologia CommonKADS Modelos:
Modelo de Agentes: modelo principal; define a arquitetura dos agentes e o seu conhecimento Modelo de Especialização: descreve as competências cognitiva e reativa do agente. Modelo de Tarefas: descreve a decomposição de tarefas

52 Metodologia CoMoMAS 2/2 Modelo de Cooperação: Modelo de Sistema:
descreve a cooperação entre agentes utilizando métodos de resolução de conflitos e conhecimento cooperativo, além dos aspectos de comunicação Modelo de Sistema: define aspectos organizacionais da sociedade de agentes; integra modelo organizacional e aspectos arquiteturais do modelo de projeto do CommonKADS Modelo de Projeto: Define os requisitos de projeto do SMA

53 CoMoMAS: o conjunto de modelos

54 CoMoMAS: exemplo de modelo de projeto

55 Metodologia MAS-CommonKADS 1/4
Adiciona técnicas de metodologias OO e de Engenharia de Protocolos ao CommonKADS Fase de Conceitualização: coleta informal de requisitos Casos de Uso Modelos utilizados na Análise e Projeto: para cada modelo são definidas as entidades e os relacionamento entre elas

56 Metodologia MAS-CommonKADS 2/4
Modelos: Modelo de Agentes: descreve as características principais dos agentes incluindo capacidades cognitivas, habilidades(sensores/efetuadores), serviços, objetivos Modelo de Tarefas: descreve as tarefas e sua decomposição

57 Metodologia MAS-CommonKADS 3/4
Modelo de Perícia: descreve o conhecimento necessário para os agentes atingirem seus objetivos, utilizando a abordagem do KADS Modelo de Coordenação: descreve as conversações entre agente, seus protocolos e capacidades requeridas; utiliza tecnicas de descrição formal MSC(Message Sequence Charts) e SDL(Specification and Description Language)

58 Metodologia MAS-CommonKADS 4/4
Modelos: Modelo de Organização: descreve o ambiente em que o SMA será introduzido e a sociedade de agentes utiliza uma extensão do modelo OMT Modelo de Comunicação: detalha as interações homem-software Modelo de projeto: reúne os modelos anteriores Projeto de aplicação: composição/decomposição dos agentes da fase de análise Projeto de Arquitetura: projeto de aspectos relevantes da rede de agentes Projeto de plataforma: seleção da plataforma de desenvolvimento para cada arquitetura

59 DESIRE Um Framework para projeto e especificação formal de sistemas composicionais Provê uma notação gráfica para especificar estes sistemas Possui um editor gráfico e outras ferramentas para suportar o desenvolvimento de sistemas de agentes

60 A metodologia Cassiopeia
Método bottom-up O método inicia pelos comportamentos requeridos para atingir algum objetivo Passos: Identificar comportamentos elementares a partir do objetivo global do sistema Identificar os relacionamento entre estes comportamentos Identificar os comportamentos organizacionais do sistema Utilizado em estudo de caso com o RoboCup

61 Métodos Formais Especificação: Execução Direta das Especificações
Lógica Modo-Temporal Dificuldade em fazer refinamentos formalmente Execução Direta das Especificações Concurrent METATEM Execução de especificações em lógica temporal Comunicação por broadcast assíncrono Compilação das Especificações Eficiência em tempo de execução Raciocínio em tempo de compilação

62 Agentes em Z Framework desenvolvido por Luck & d’Inverno
Hierarquia em 4 camadas: Entidades: objetos inanimados Objetos: possuem capacidades (ex: tabela suporta entidades ou outros objetos) Agentes: objetos com objetivos Agentes autônomos: agentes com motivações Implementação OO

63 Métodos Formais: compilação das especificações
Paradigma do Autômato Situado Agente divido em duas partes: percepção e ação Programa RULER recebe uma especificação declarativa da percepção, compilando-a para um autômato finito O programa GAPPS recebe regras de especificação de objetivos(ações) gerando um cojunto de regras situação-ação

64 Programação Orientada a Agentes
Linguagens e API´s: Jackal JatLite Aglets Telescript Ambientes de Desenvolvimento AgentBuilder


Carregar ppt "Engenharia de Software Orientada a Agentes"

Apresentações semelhantes


Anúncios Google