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

Documentos relacionados
Proposta de uma arquitetura para construção de Objetos Inteligentes de Aprendizagem baseados em agentes BDI

Implementação do Modelo e da Arquitetura BDI

Sistema Multiagentes Utilizando a Linguagem AgentSpeak(L) para Criar Estratégias de Armadilha e Cooperação em um Jogo Tipo PacMan

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis

INE Introdução a S is temas Multiagente Arquiteturas de agentes

Oficina de Sistemas Tutores Inteligentes

Sistemas Multiagentes 4ª Aula Programação Orientada a Agentes. Que ação tomar? Inferência Lógica : ( L implica L )

Inteligência Artificial Agentes Inteligentes

INF1013 MODELAGEM DE SOFTWARE

DIOGO DE CAMPOS MAURÍCIO OLIVEIRA HAENSCH UMA PLATAFORMA PARA DESENVOLVIMENTO DE SISTEMAS MULTIAGENTE BDI NA WEB

Plano de pesquisa de mestrado em ciência da computação. Márcio G. Morais

Arquitetura BDI. Benjamin Grando Moreira

UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO Instituto de Geociências e Ciências Exatas IGCE Curso de Bacharelado em Ciências da Computação

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

2 Conceitos Importantes

MODELAGEM DE PROCESSOS MÓDULO 9

Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de Graduação

Princípios da Engenharia de Software aula 03

Agentes e Sistemas Multiagentes

Visões Arquiteturais. Visões Arquiteturais

Professor Emiliano S. Monteiro

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Tipos para uma Linguagem de Transformação

Programação Orientada a Objetos

as fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação);

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Por que é importante?

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

Introdução Introdução

Introdução ao Desenvolvimento de

Integração de Objetos Instrucionais SCORM com um Framework Multiagentes *

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

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

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

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

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

Universidade Regional de Blumenau

Análise e projeto de sistemas

RUP RATIONAL UNIFIED PROCESS

Sistemas Especialistas

UML (Unified Modelling Language)

6. QUADRIMESTRE IDEAL 7. NÍVEL Graduação 8. Nº. MÁXIMO DE ALUNOS POR TURMA TEORIA: 60 LABORATÓRIO: 30

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

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

Linguagens de Domínio Específico

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

Modelagem/Arquitetura de Software

3. Linguagem de Programação C

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

Visão Geral do RUP.

Figura 16 Niagara - Visão de grupos de notas.

Processamento distribuído em ambiente peer-to-peer

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

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

Modernização de Legados

Rational Unified Process (RUP)

Estruturas de Sistemas Operacionais

4 Arquitetura BDI Belief Desire Intention

SSC Engenharia de Software. Prof. Paulo C. Masiero

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Algoritmos e Programação

Implementando o Agente de Base de Domínio do Sistema Tutor Inteligente PAT2Math

Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda

Engenharia de Software

Desenvolvimento de Aplicações Distribuídas

Xadrez, do Real ao Virtual

Aula 02 Conceitos e Princípios de Modularidade 1

Índice. Modelo Organizacional. Introdução. Modelo Centrado no Agente 15/06/2011

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

AS-MCOE: Tutor inteligente modelado em AgentSpeak(L)

Introdução a Teste de Software

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

1. INTRODUÇÃO A MODELAGEM DE DADOS

Sumário. Simulação (1) Simulação (2) Simulação (3) Inteligência Artificial Distribuída (1) Ambientes de Simulação Baseados em Agentes

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M

Reuso de Software Aula Maio 2012

Sistemas Distribuídos

Introdução à Computação

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Projeto. Observatório Nacional de Clima e Saúde

Arquitetura de Software: Documentação

Documento de Arquitetura de Software- SGE

REUSO E REUSABILIDADE

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

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

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes

O que é um sistema distribuído?

Algoritmos e Programação

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

BD e Cloud Gerenciamento de. Dados na Nuvem

Análise de Requisitos

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

SOFTWARE REQUIREMENTS

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

Transcrição:

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