JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15
Motivação Existem muitas plataformas para desenvolvimento de SMA Foco específico: arquitetura cognitiva ou infraestrutura Nem todos os aspectos da tecnologia de agentes estavam sendo cobertos igualmente Aplicabilidade de uma plataforma exige pelo menos: Transparência Middleware Raciocínio 18/06/2015 @LES/PUC-Rio 2
Motivação As plataformas podiam ser classificadas em 2 grupos: plataformas FIPA-compliant plataformas centradas no raciocínio A lacuna entre o middleware e sistemas centrados no raciocínio foi uma motivação para o JADEX Além destes, existem outros dois fatores principais: o desenvolvimento da engine é acompanhado por um esforço contínuo de melhorar a arquitetura BDI o sistema é projetado para ser usado não apenas por especialistas de IA, mas também pelo desenvolvedor de software 18/06/2015 @LES/PUC-Rio 3
Conceitos no JADEX O agente é uma caixa preta que recebe e envia mensagens Eventos servem como entrada para a reação e deliberação 18/06/2015 @LES/PUC-Rio 4
Crenças São as informações do agente sobre o si e/ou sobre o ambiente em que está situado São representadas em algum tipo de lógica de predicados de primeira ordem ou usando modelos relacionais Operações são realizadas sobre uma base de crenças 18/06/2015 @LES/PUC-Rio 5
Goals Os goals são representados como objetos explícitos contidos em uma base de objetivos Para qualquer objetivo um agente vai se envolver mais ou menos diretamente em ações adequadas até que o objetivo seja alcançado, considerado inacessível, ou não mais desejado Vários planos diferentes (alternativos) podem ser executados para atingir uma meta 18/06/2015 @LES/PUC-Rio 6
Planos Representam os elementos comportamentais de um agente e são compostos por um cabeçalho e um corpo O cabeçalho especifica as circunstâncias nas quais o plano pode ser selecionado O corpo fornece uma sequência de ações pré-definidas codificadas em uma determinada linguagem 18/06/2015 @LES/PUC-Rio 7
Capacidades Representam um mecanismo para agrupar os elementos de um agente BDI (crenças, objetivos, planos e eventos) Elementos estreitamente relacionados podem ser colocados juntos em um módulo reutilizável, que encapsula uma certa funcionalidade (modularidade) 18/06/2015 @LES/PUC-Rio 8
Linguagem JADEX utiliza uma abordagem híbrida uma linguagem para especificar a parte estática uma linguagem para definir o comportamento dinâmico Assim, um agente JADEX consiste de dois componentes: um arquivo de definição do agente em XML (ADF) e outro com o código dos planos O corpo dos planos são implementados em JAVA e acessam as características BDI do agente através de uma API 18/06/2015 @LES/PUC-Rio 9
ADF XML 18/06/2015 @LES/PUC-Rio 10
Aspectos Sintáticos Linguagem especificada para atender a dois princípios: suporte para tipagem forte e representação explícita de todos os elementos Desvantagem: usuário precisa escrever ADFs detalhadas Vantagem: permite verificar a consistência de modelos 18/06/2015 @LES/PUC-Rio 11
Plano 18/06/2015 @LES/PUC-Rio 12
Aspectos Sintáticos 18/06/2015 @LES/PUC-Rio 13
Ferramentas e Documentação A distribuição contém: documentação completa de referência (início rápido) vários exercícios passo-a-passo dos recursos básicos Aplicações de exemplo com o código-fonte comentado guia do usuário com uma visão sistemática de todos os recursos javadocs da API de programação de planos As ferramentas disponíveis com o JADEX são abordadas separadamente Como um agente de JADEX é ainda um agente JADE, as ferramentas de execução fornecidas pelo JADE (Sniffer e Dummy) também podem ser usadas com agentes JADEX 18/06/2015 @LES/PUC-Rio 14
Interoperabilidade Um fator determinante para o desenvolvimento do JADEX foi a necessidade de uma plataforma FIPA-compliant com suporte a avançada capacidade de raciocínio BDI FIPA-compliant é alcançada através da plataforma JADE, que fornece implementações sofisticadas de todas as especificações importantes da FIPA A engine de raciocínio do JADEX, executa sobre a plataforma JADE e suporta somente agentes homogêneos (ou seja BDI), mas fornece interoperabilidade com agentes baseados em outros modelos, desde que esses agentes sigam o padrão da FIPA 18/06/2015 @LES/PUC-Rio 15
Aplicações suportadas JADEX é um ambiente de desenvolvimento para criação de SMA de propósito geral, permitindo a construção de agentes reativos (event-based) e de comportamento deliberativo (goal-driven) Não está vinculado a um domínio específico É utilizado em simulações, scheduling e computação móvel JADEX é originado do projeto MedPage. Um projeto que investiga as vantagens da utilização da tecnologia de agentes no contexto da logística hospitalar 18/06/2015 @LES/PUC-Rio 16
Referências A. Pokahr and L. Braubach. Jadex User Guide, Release 0.931, 2005. 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. Rao and M. Georgeff. BDI Agents: from theory to practice. In V. Lesser, editor, Proceedings of the First International Conference on Multi- Agent Systems (ICMAS 95), pages 312 319, San Francisco, CA, USA, 1995. The MIT Press: Cambridge, MA, USA. M. Bratman. Intention, Plans, and Practical Reason. Harvard University Press, Cambridge, Massachusetts, 1987. L. Braubach, A. Pokahr, D. Moldt, and W. Lamersdorf. Goal Representation for BDI Agent Systems. In Proceedings of the Second Workshop on Programming Multiagent Systems: Languages, frameworks, techniques, and tools (ProMAS04), 2004. 18/06/2015 @LES/PUC-Rio 17
Perguntas? 18/06/2015 @LES/PUC-Rio 18