Você está na página 1de 37

Inteligência

Artificial
Licenciatura em Ensino de
Administração de Sistemas
de Redes Informáticas
Sumario
• Instalação e configuração da biblioteca Jade
• Criação de um projeto Java com um agente
• Executando o projeto Java com um agente
Instalação e configuração da biblioteca Jade
• JADE é uma plataforma de software que fornece funcionalidades
básicas de camada de middleware que são independentes da
aplicação específica e que simplificam a realização de aplicações
distribuídas que exploram a abstração do agente de software.
• A plataforma JADE (Java Agent DEvelopment Framework) encontra-
se disponível no sítio oficial em https://jade.tilab.com/. De seguida
extraia o ficheiro para uma pasta.

Nota: O sua maquina deve estar previamente instalada JDK e configurada.


Instalação e configuração da biblioteca Jade

Deve extrair
o ficheiro
Criação de um projeto Java com um agente
• Abra o Eclipse e crie novo Projeto Java.

Após clicar no
botao Finish,
deveras clicar
em Don´t
Create
Criação de um projeto Java com um agente
• De seguida adiciona a
biblioteca JADE ao projeto
criado
• Clique com butão
direito/secundário no projeto
e no menu adicionar
biblioteca
Criação de um projeto Java com um agente
• Selecione User Library e
clique Next
Criação de um projeto Java com um agente
• Se for a primeira vez
que cria a biblioteca
JADE, deve clicar no
botão User Libraries...

• Se já criou
anteriormente o JADE,
basta selecionar e clicar
no botão Finish
Criação de um projeto Java com um agente
• Clique no botão New;

• Escreva JADE;

• Clique no botão OK
Criação de um projeto Java com um agente
• Selecione o JADE;

• Clique no botão Add


External JARs...;
Criação de um projeto Java com um agente
• Localize o arquivo jade.jar,
este se encontra dentro da
pasta descompactada nos
passos anteriores.

• Não guarde este arquivo


numa flash porque não o
Eclipse não ira conseguir
localizar.

• Selecione e clique em
Open( ou Abrir)
Criação de um projeto Java com um agente
• Certifique que a
biblioteca JADE possui o
arquivo jade.jar

• Clique em Apply and


Close
Criação de um projeto Java com um agente
• Clique no botão Finish
Criação de um projeto Java com um agente
• Certifique que o esta
adicionado ao novo
projeto java

• Crie um pacote na
pasta src, o nome é
sugestivo ao contexto
do projeto criado
Criação de um projeto Java com um agente
• Crie uma nova classe, no final do nome escreva Agente, por exemplo
MeuPrimeiroAgente.
• Esta classe deve estender da classe jade.core.Agent
Criação de um projeto Java com um agente
• Subscreva o método setup() da classe Agenta, este é responsável pela inicialização
do agente.
• DICA: Escreva a palavra setup e clique os botões Crtl e Espaço simultaneamente,
depois clique duas vez na opção setup()
Criação de um projeto Java com um agente
• Escreva um código para imprimir uma simples mensagem quando o
agente inicializar.
Executando o projeto Java com um agente
• Clique em seta de do botão executar e selecione a opção Run
Configurations...
Executando o projeto Java com um agente
• Selecione Java Application e de seguida clique no icon para criar
configuração de execução.
Executando o projeto Java com um agente
• Escreva o nome da configuração e clique no botão Search...
• Escreva Boot, selecione o Boot – jade e por fim clique OK.
Executando o projeto Java com um agente
• Clique na aba
Arguments;
• Escreva a no quadro –
gui;
• Clique em Apply;
• Clique em Run.
Executando o projeto Java com um agente
• Aguarde ate que a janela
JADE apareça;
• Verifique se em Console
apresenta a informação de
is ready, caso não apareça
reinicialize o Eclipse ou
veja se as configurações
de Run estão corretas.
• Expande as pastas da
janela JADE até Main-
Container e selecione.
• Clique no icon para criar
um agente.
Executando o projeto Java com um agente
• Escreva o nome do agente;
• Clique em ..., selecione a classe do seu
agente e por fim clique em OKs;
Executando o projeto Java com um agente
• Verifique se em Main-Container aparece o agente criado;
• Verifique em Console a mensagem de inicialização do agente.
Sumario
• Forma de comunicação de agente
• AID (Agent Identifier)
• Performativas da FIPA-ACL
• Mensagem ACL
Forma de comunicação de agente
• Em JADE os agentes se comunicam através de passagem assíncrona
de mensagens ACL
• Todo agente tem uma fila privada de mensagens ACL criada e
preenchida pelo subsistema de comunicação de JADE
• O agente é informado sempre que uma mensagem é adicionada a sua
lista de mensagens
• Cabe ao programador como se dará o tratamento dessas mensagens
• Se uma mensagem é enviada e a plataforma não consegue encontrar
o destinatário, ele a envia para ser gerenciada pelo AMS
AID (Agent Identifier)
• Consistente com as especificações do FIPA, cada instância do agente é
identificada por um 'identificador do agente'.
• No JADE, um identificador de agente é representado como uma
instância da classe jade.core.AID.
• O método getAID() da classe Agente permite a recuperação do
identificador do agente local.
• O nome em JADE tem a forma <local-name>@<platform-name> de
forma que um agente chamado Peter que mora em uma plataforma
chamada foo-platform terá Peter@foo-platform como seu nome
globalmente exclusivo.
Performativas da FIPA-ACL
• Cada mensagem ACL carrega um ato comunicativo, que representa a
vontade de um agente sobre determinada informação, carregada pela
mensagem.
• Os atos comunicativos das mensagens FIPA-ACL foram projetados
para estarem de acordo e, dentro do possível, representar os atos da
fala definidos na Teoria dos Atos.
• São, entretanto, denominados de atos comunicativos para deixar clara
a vinculação com a comunicação entre agentes (computacionais) e
não a comunicação entre seres humanos.
Performativas da FIPA-ACL
• Atos Comunicativos de FIPA-ACL
Performativas Resumo

O emissor informa ao receptor que uma dada proposição é verdadeira. O conteúdo


INFORM da mensagem é a própria posição.
O agente emissor informa ao agente receptor que não entendeu uma ação ou ato
NOT-UNDERSTOOD prévio do agente receptor. O conteúdo da mensagem é composto do ato ou ação
não compreendida e de uma explicação do que não foi compreendido.
O agente emissor solicita ao receptor que ele execute alguma ação (possivelmente
REQUEST um outro ato comunicativo). O conteúdo da mensagem é uma ação a ser feita.
Informa a concordância em executar alguma ação, possivelmente no futuro. O
AGREE
conteúdo da mensagem deve conter a ação (futura) e a condição aceita.
Representa a ação de se recusar a executar uma dada ação e explicar a razão
REFUSE
porque. O conteúdo é composto da ação recusada e da explicação da recusa.
Mensagem ACL
• A linguagem FIPA-ACL foi apresentada em 1997 como resultado de
um processo de padronização das tecnologias de sistemas
multiagentes promovida pela organização FIPA.
• A grande maioria das mensagens contém, além do tipo do ato, um
emissor, um receptor, campo de conteúdo e outros elementos.
• Os parâmetros nativos da FIPA-ACL são divididos em cinco categorias:
tipo do ato comunicativo, participantes da comunicação, conteúdo de
mensagem, descrição do conteúdo e controle de conversação.
Mensagem ACL
Mensagem ACL
Sumario
• Comportamentos de agente
• Comportamento Único
• Comportamento Cíclico
• Comportamento Genérico
• Comportamento Agendado
• Enviar mensagem
• Receber mensagem
• Selecionado mensagem na fila
Comportamentos de agente
• Um comportamento representa uma tarefa que um agente pode
realizar.
• O comportamento é implementado por um objeto através da herança
da classe abstrata jade.core.behaviours.Behaviour.
• Para que um agente execute a tarefa implementada por um objeto de
comportamento, o comportamento deve ser adicionado ao agente
por meio do método addBehaviour() da classe Agent.
• Os comportamentos podem ser adicionados a qualquer momento
quando um agente é inicializado (no método setup()) ou a partir de
outros comportamentos.
Comportamentos de agente
• Cada classe que estende Behavior deve implementar dois métodos
abstratos.
• O método action() define as operações a serem realizadas quando o
comportamento está em execução.
• O método done() retorna um valor booleano para indicar se um
comportamento foi concluído ou não e deve ser removido do conjunto
de comportamentos que um agente está executando.
• Os três principais tipos de comportamento disponíveis com JADE são os
seguintes: One-Shot, Cyclic e Generic.
• Também existem outros tipos que são: Waker
Comportamento Único
• Comportamentos 'one-shot' são projetados para serem concluídos
em uma fase de execução;
• Seu método action() é executado apenas uma vez.
• A classe jade.core.behaviours.OneShotBehaviour já implementa o
método done() retornando true.
Comportamento Cíclico
• Comportamentos "cíclicos" são projetados para nunca serem
concluídos;
• Seu método action() executa as mesmas operações cada vez que é
chamado.
• A classe jade.core.behaviours.CyclicBehaviour já implementa o
método done() retornando false.

Você também pode gostar