Jade - Informática

Propaganda
JADE
Java Agent DEvelopment
Framework
Josenilson Furtado Ribeiro
Marco Antonio Gera
Mestrado em Informática
Universidade Federal do Espírito Santo
O que é JADE ?

Características:
•
•
•
•

Usuários-alvo:
•

Implementado (completamente) em Java;
É um framework que suporta a implementação de
sistemas multiagentes, simplificando-a;
Desenvolvido seguindo as especificações da FIPA
(Foundation of Intelligent Physical Agents);
Utiliza classes já definidas em Java.
Desenvolvedores de agentes para sistemas multiagentes;
Testado com sucesso em ambientes: MAC/OS; Windows
NT, 95, 98; Solaris e MKLinux.
O que é JADE ?

Serviços:
•
•
•
•
Gerenciador de projetos;
Transporte de mensagens;
Suporte às fases de desenvolvimento e depuração;
Projetado para sustentar escalabilidade;

Distribuído em código aberto pela LPGL (Lesser General
Public License) a um custo de US$20,00 no site:
http://sharon.cselt.it/projects/jade.

Requisitos básicos para a execução do framework: versão
1.1x ou 1.2 de Java (JVM) com JDK instalado e 64 MB no
mínimo.
Arquitetura Distribuída de uma
Plataforma de Agentes JADE
Agente de Aplicação
Agente de Aplicação
Agente de Aplicação
Host 3
Agente de Aplicação
Agente de Aplicação
Agente de Aplicação
Host 2
Agente de Aplicação
Agente de Aplicação
Agente de Aplicação
Host 1
Esta plataforma pode ser distribuída por diversas máquinas independente do SO
que cada uma utiliza.
Container Principal JADE
JRE 1.2
Container de Agentes JADE
Container Agentes JADE
JRE 1.2
JRE 1.2
Características dos Agentes em JADE

Os agentes são objetos ativos;

Permite a execução simultânea de agentes;

Mensagens assíncronas podem ser usadas;
Subsistema de Comunicação
JADE


Todo agente tem uma fila privativa de mensagens
criadas e armazenadas pelo subsistema de
comunicação JADE;
Este subsistema foi projetado para conseguir o
menor custo na troca de mensagens.
Modelo de Comunicação JADE

Biblioteca de protocolos de interação;

O framework diretamente suporta “parsing”, isto é,
um analisador gramatical;

O framework pode ser estendido pelo usuário;

Suporta definir/salvar/ler novas ontologias.
Modelo de Execução de Agentes

O agente é autônomo, ou seja:

Ele controla completamente sua linha de execução;

Ele decide por si só quando ler as mensagens recebidas
e quais mensagens serão lidas e úteis.

O agente precisa de atividades simultâneas

Pode empenhar-se em múltiplas conversações;

Pode executar tarefas simultâneas.
Comport.
n
…
Comportamentos de
Agentes Ativos
Baseado em polling
Baseado em blocagem
Baseado em timeout
Identif. de padrões
Modo de acesso
Comport.
1
Comport.
2
Arquitetura Interna de um Agente JADE
Caixa privativa
de mensagens
ACL
Convicções
Capacidades
Scheduler de
comportamento
Gerenciador do
ciclo de vida
Recursos de
Agentes
Dependentes
de Aplicação
Biblioteca JADE de protocolos de
interação e de comportamentos de
agentes genéricos
Exemplos de projetos que estão
utilizando JADE

Entretenimento (TV)


CSELT, NHK, Imperial College of London, IRST
Assistente Pessoal de Viagem

BT, France Telecom, Broadcom

FILIGRANE - e-commerce de agentes móveis

LiMe - Living Memory for connected communities


ICL, Philips, Queen Margaret University College,
DomusAcademy
Universidade Helsinki, Parma, Bologna, Brescia
Facilidades de Utilização do JADE




Não há necessidade de implementar a plataforma de
agentes;
Não há necessidade de implementar uma ontologia de
gerenciamento de agentes e de funcionalidades;
Não há necessidade de implementar o transporte de
mensagens e “parsing”;
O envio ou recebimento de mensagens é feito
automaticamente pelo framework.
Integração com JESS


Em alguns casos, os agentes podem necessitar raciocinar
sobre fatos do mundo;
JESS (Java Expert System Shell) é uma ferramenta de
“raciocínio’ simbólica:

Desenvolvida pelos laboratórios Sandia National
Laboratories;

Gratuito para uso não comercial;

É escrito em Java e suporta integração simples dentro de
aplicações Java;

Um comportamento embutido está disponível na biblioteca
JADE que, para cada mensagem recebida, afirma um fato na
estrutura JESS que descreve a mensagem.
Modelo de Programação JADE

As aplicações baseadas em JADE são feitas por um ou
mais agentes:

Um agente JADE é mapeado sobre uma classe Java
definida por usuário como subclass Agent class in
jade.core package;

Atividades de Agentes são mapeadas sobre subclasses
definidas por usuários como Behaviour class in
jade.core.behaviours package.
JADE 2.0

Atualizado com o objetivo de complementar as novas
recomendações da FIPA (FIPA2000);

Melhoramentos gerais:

Manual do programador e exemplos;

Acerto de todos os “bugs” levantados na versão
anterior;

Melhoria na ontologia e no suporte da linguagem de
conteúdo.
Download