Ingrid Oliveira de Nunes Modelo e da Arquitetura BDI [email protected] Sumário Motivação Objetivos Introdução Modelo e Arquitetura BDI Implementação de Agentes BDI Conclusão Referências [email protected] Motivação Sistemas Multi-Agentes (SMA) Importante nova direção da Engenharia de Software Alguns SMAs requerem agentes com raciocínio Uso de técnicas de Inteligência Artificial Modelo BDI Considerado a melhor forma de modelagem de agentes com raciocínio Implementação de Agentes BDI Existência de várias linguagens e plataformas [email protected] Objetivo Estudo comparativo entre formas de implementação de agentes com raciocínio (agentes cognitivos) [email protected] Introdução Sistemas Multi-Agentes (SMA) Por que agentes e SMA? Metáfora Natural Objetos passivos + Agentes interativos, ativos e com objetivos Distribuição do Controle de Dados Sistemas Legados Sistemas Abertos [email protected] Introdução Sistemas Multi-Agentes (SMA) Características dos Agentes Autonomia: agentes encapsulam estado Reatividade: agentes estão situados em algum ambiente. São capazes de percebê-lo e responder a alterações que nele ocorrem Pró-atividade: agentes são capazes de exibir comportamento orientado a objetivos Habilidade Social: agentes podem ser comunicar com outros agentes [email protected] Introdução Sistemas Multi-Agentes (SMA) Outras Características dos Agentes Adaptação: agente altera comportamento de acordo com um novo contexto Aprendizado: agente altera comportamento com base na experiência Racionalidade: agentes são capazes de selecionar ações de acordo com objetivos Mobilidade: agentes são capazes de se mover de um ambiente para outro [email protected] Introdução Sistemas Multi-Agentes (SMA) Outras Características dos Agentes Adaptação: agente altera comportamento de acordo com um novo contexto Aprendizado: agente altera comportamento com base na experiência Racionalidade: agentes são capazes de selecionar ações de acordo com objetivos Mobilidade: agentes são capazes de se mover de um ambiente para outro [email protected] Introdução [email protected] Introdução Agentes com Raciocínio Agentes Cognitivos Melhor forma de modelagem conhecida Modelo belief-desire-intention (BDI) Modelo BDI (Bratman) Explica comportamento do raciocínio humano Arquitetura BDI (Rao and Georgeff) Teoria formal Interpretador Abstrato [email protected] Modelo e Arquitetura BDI Muitas abordagens propõem diferentes atitudes mentais e seus relacionamentos Modelo BDI Considerado o melhor modelo conhecido Proposto por Bratman Intention, Plans, and Practical Reason (1987) Teoria filosófica que explica o comportamento humano com três atitudes mentais Beliefs Desires Intentions [email protected] Modelo e Arquitetura BDI Modelo BDI Beliefs Características do ambiente Atualizadas após a percepção de cada ação Componente informativo do sistema Desires Informação sobre os objetivos a serem atingidos Representação do estado motivacional do sistema Intentions Atual plano de ação escolhido Componente deliberativo do sistema [email protected] Modelo e Arquitetura BDI Arquitetura BDI Proposta por Rao and Georgeff BDI-agents: from theory to practice (1995) Adotou o modelo BDI para agentes de software Introduziu Teoria Formal Interpretador BDI abstrato Base para sistemas BDI históricos e atuais Procedural Reasoning Systems (PRS) Primeiro sistema implementado com sucesso [email protected] Modelo e Arquitetura BDI Beliefs Informações do agente sobre seu ambiente Belief Revision Function Determina novo conjunto de crenças a partir da percepção da entrada e das crenças atuais Option Generation Function Determina as opções disponíveis ao agentes (desejos), com base nas crenças sobre o ambiente e nas suas intenções Desires Possíveis planos de ações disponíveis ao agente [email protected] Modelo e Arquitetura BDI Filter Processo de deliberação do agente Determina intenções do agente com base nas suas crenças, desejos e intenções atuais Intentions Foco atual do agente Estados que o agente está determinado a alcançar Action Selection Function Determina ação a ser executada com base nas intenções atuais [email protected] Modelo e Arquitetura BDI Sensor Input Belief Revision Function Beliefs Option Generation Function Desires Action Filter Intentions [email protected] Action Selection Function Output Implementação de Agentes BDI Variedade de Linguagens e Plataformas para Implementação de Agentes BDI Plataformas estudadas JACKTM Intelligent Agents Jadex JAM Jason [email protected] TM JACK Intelligent Agents Framework para o desenvolvimento de sistemas multi-agentes Desenvolvido pela Agent Oriented Software Pty. Ltd. (AOS) Melbourne, Austrália Linguagem JACK Agent Language [email protected] JACK Características Leve, requer poucos recursos de sistema Comunicação transparente entre agentes Ferramentas de Desenvolvimento Aplicações Comerciais UVAs (Unmanned Aerial Vehicles) Gerenciamento de tráfego aéreo Real-time scheduling [email protected] JACK JACK Agent Language Linguagem de programação orientada a agentes Extensões à linguagem Java Novas classes, interfaces e métodos Extensões à sintaxe de Java Compilador: JACK AL para Java Extensões semânticas Suporte ao modelo de execução requerido por um sistema orientado a agente [email protected] JACK JACK Development Environment [email protected] JAM Arquitetura de agentes inteligentes Desenvolvido pela Intelligent Reasoning Systems (I.R.S.) Oceanside, California Linguagem JAM [email protected] JAM Características Alguns bugs / limitações reportados Nenhuma aplicação comercial conhecida Nenhuma ferramenta de desenvolvimento [email protected] JAM [email protected] Jason Interpretador para uma versão estendida da linguagem AgentSpeak(L) Desenvolvido por Jomi F. Hübner (Blumenau, BR) Rafael H. Bordini (Durham, UK) Linguagem Agent Speak (L) [email protected] Jason Características Agent Speak (L) possui semântica formal Possibilita verificação formal Ferramentas de Desenvolvimento Nenhuma aplicação comercial conhecida [email protected] Jason Agent Speak (L) Linguagem de programação orientada a agentes Baseada na lógica de primeira ordem Inspirada na Arquitetura BDI Lógica BDI [email protected] Jason Jason IDE [email protected] Jason Jason’s Mind Inspector [email protected] Jadex [email protected] Jadex Mecanismo de raciocínio BDI para agentes inteligentes Projeto conduzido pelo Distributed Systems and Information Systems Group University of Hamburg, Alemanha Linguagem Java e XML [email protected] Jadex Características Não introduz nova linguagem FIPA Compliant Uso do JADE como plataforma SMA Integração com ferramenta de projeto de Ontologias Protégé Ferramentas de Desenvolvimento Aplicações Comerciais MedPAge Dynatech Bookstore [email protected] Jadex Principais Componentes Belief Conhecimento do agente sobre ambiente e si mesmo Podem ser qualquer objeto Java Armazenadas em uma base de crenças Permite consulta através de OQL-like query language Goal Orientam ações do agente Desejos concretos e momentâneos do agente Agente executa ações apropriadas até que o objetivo seja considerado Atingido Inatingível Não mais desejado [email protected] Jadex Principais Componentes Plan Forma como o agente atuará em seu ambiente Dependendo da situação corrente Planos selecionados como resposta à ocorrência de eventos ou de objetivos Seleção de planos feita automaticamente pelo sistema Capability Crenças, planos e objetivos podem ser colocados em um módulo de agente Podem conter subcapacidades formando uma hierarquia Possibilidade de reuso [email protected] Jadex Principais Componentes Event Importante propriedade dos agentes Capacidade de reagir a diferentes tipos de eventos Jadex suporta dois tipos de eventos a nível de aplicação Eventos internos • Usados para denotar uma ocorrência dentro de um agente Eventos mensagem • Comunicação entre dois agente ou mais Normalmente tratados por planos [email protected] Jadex [email protected] [email protected] JADEX Agent Definition File [email protected] Jadex Exemplo de Código [email protected] Jadex [email protected] Jadex [email protected] Jadex [email protected] Jadex [email protected] Jadex [email protected] Jadex Ferramentas [email protected] Jadex Jadex Control Center [email protected] Jadex Jadex Starter [email protected] Jadex DF Browser [email protected] Jadex Conversation Center [email protected] Jadex Introspector [email protected] Jadex BDI Tracer [email protected] Jadex Test Center [email protected] Jadex Jadexdoc Tool [email protected] Jadex Beanynizer [email protected] Comparação Linguagem JACK JACK (extensão de Java) Jadex Java e XML JAM JAM (extensão de Java) Jason Agent Speak (L) [email protected] Comparação Ferramentas de Desenvolvimento JACK IDE e Debug Jadex Ferramentas para execução, debug e documentação JAM - Jason IDE e Mind Inspector [email protected] Comparação Aplicações Comerciais JACK UVAs, Tráfego Aéreo e Real-time Scheduling Jadex MedPAge, Dynatech e Bookstore JAM - Jason [email protected] Comparação Outras Características JACK Jadex JAM Não é livre, Leve, Preocupação com Indústria FIPA-Compliant, Facilidade de Integração com Ontologias - Jason Semântica Formal [email protected] Comparação Todos os SMAs são escritos em Java ou uma extensão da linguagem Herança das vantagens Portabilidade Variedade de Ambientes de Desenvolvimento Outras Ferramentas Bibliotecas já existentes [email protected] Referências Rafael H. Bordini, Michael Wooldridge, and Jomi Fred Häubner. Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology). John Wiley & Sons, 2007. Michael E. Bratman. Intention, Plans, and Practical Reason. Cambridge, MA, 1987. Nick Howden, Ralph Rönnquista, Andrew Hodgson, and Andrew Lucas. Jack intelligent agentsTM: Summary of an agent infrastructure. In The Fifth International Conference on Autonomous Agents, Montreal, Canada, 2001. Marcus J. Huber. Jam: a bdi-theoretic mobile agent architecture. In AGENTS '99: Proceedings of the third annual conference on Autonomous Agents, pages 236-243, New York, NY, USA, 1999. ACM. [email protected] Referências I. Nunes: Implementação do Modelo e da Arquitetura BDI. Technical report, PUC-Rio, Computer Science Department, LES (December 2007) A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: Implementing a BDI-Infrastructure for JADE Agents. EXP - in search of innovation, 3(3):76-85, 2003. A. S. Rao and M. P. Georgeff. BDI-agents: from theory to practice. In Proceedings of the First Intl. Conference on Multiagent Systems, San Francisco, 1995. Mike Wooldridge and P. Ciancarini. Agent-Oriented Software Engineering: The State of the Art. In P. Ciancarini and M. Wooldridge, editors, First Int. Workshop on Agent-Oriented Software Engineering, volume 1957, pages 1-28. SpringerVerlag, Berlin, 2000. [email protected]