Roteiro
O que é um Agente
O que é um Sistema Multiagentes JADE
JASON
Exemplos

O que é um agente?
“Um agente é qualquer coisa que pode ser vista percebendo um ambiente por meio de sensores e atuando no mesmo por meio de atuadores” (Russel & Norvig)

Características Cognitivas de um Agente
Autonomia – capacidade de agir sem intervenção de outros agentes.
Reatividade – habilidade de reagir a estímulos do ambiente.
Proatividade – propriedade de agir guiado por objetivos, a partir de iniciativa própria. Sociabilidade – potencialidade de se comunicar com outros agentes do ambiente.

Funcionamento do Agente
O que é um SMA?
Sistema Multiagente
Um sistema multiagente consiste de vários agentes que interagem entre si.
Os agentes podem colaborar, cooperar, negociar ou competir para cumprir objetivos similares ou diferentes. Os agentes não são as únicas entidades de um sistema multiagentes
Ambiente, organizações, papéis e objetos
Os dados estão descentralizados A computação é assíncrona

Tipos de interação em um Sistema Multiagente
Cooperação
trabalhar juntos em busca de um objetivo comum.
Coordenação
gerenciar as dependências entre diferentes atividades, de forma que as ações dos diferentes agentes sejam sincronizadas e o trabalho dobrado seja evitado.
Negociação
chegar a um acordo que seja aceitável para todas as partes envolvidas.

Autonomia
Objeto: possui estado
Agente: possui estado e comportamento
Mensagens
Objeto: chamada de método
Agente: envio de mensagens em uma linguagem de comunicação de agentes (ACL)
Comportamentos
Controle
Objetos: thread comum aos demais objetos do sistema
Agentes: thread único
Agentes X Objetos
Objeto: reação a eventos
Agente: comportamentos mais flexíveis (reativo, proativo, social)
JADE
JAVA Agent DEvelopment Framework O JADE é um software implementado em
Java, para o desenvolvimento de agentes.
Jade facilita a cooperação entre agentes utilizando o protocolo FIPA.
JADE
JAVA Agent DEvelopment Framework
JADE foi desenvolvido nos anos 2000 pela empresa Telecom Italia Lab para utilizá-lo na indústria da telecomunicação.
Em Fevereiro do ano 2000, a Telecom Italia Lab tornou o JADE software livre.

Hello World usando JADE
package examples.hello;
import jade.core.Agent;
public class HelloWorldAgent extends Agent {
protected void setup() {
System.out.println("Hello World! My name is "+getLocalName());
} }
JASON
JASON é uma plataforma para o desenvolvimento de Sistemas Multiagentes.
A linguagem AgentSpeak é utilizada para desenvolver agentes utilizando JASON.
JASON é um software open source
Apresentação curso de Extensão em Java (UERJ-IME) v1
Desenvolvendo Sistemas Multiagentes com JADE e JASON
1. Desenvolvendo Sistemas Multiagentes utilizandoDesenvolvendo Sistemas Multiagentes utilizando
ferramentas de código abertoferramentas de código aberto
Felipe Neves Brito - felipeneves@alu.ufc.br
Mauro Roberto Costa - maurorcsc@gmail.com
2. Quem somos?Quem somos?
Alunos da UFC Campus Quixadá
5 Semestre de Engenharia de Software
Projetos em Desenvolvimento:
Ciência para a proteção da Criança e Adolescente nas
Mídias Sociais;
Desenvolvimento de um Sistema Multiagentes para o
Moodle.
4. “Um agente é qualquer coisa que pode ser
vista percebendo um ambiente por meio de
sensores e atuando no mesmo por meio de
atuadores” (Russel & Norvig)
O que é um agente?O que é um agente?
5. CaracterCaracteríísticas Cognitivas de umsticas Cognitivas de um
AgenteAgente
Autonomia – capacidade de agir sem intervenção
de outros agentes.
Reatividade – habilidade de reagir a estímulos do
ambiente.
Proatividade – propriedade de agir guiado por
objetivos, a partir de iniciativa própria.
Sociabilidade – potencialidade de se comunicar com
outros agentes do ambiente.
7. O que é um SMA?O que é um SMA?
Sistema Multiagente
Um sistema multiagente consiste de vários agentes que
interagem entre si.
Os agentes podem colaborar, cooperar, negociar ou
competir para cumprir objetivos similares ou diferentes.
Os agentes não são as únicas entidades de um sistema
multiagentes
Ambiente, organizações, papéis e objetos
Os dados estão descentralizados
A computação é assíncrona
8. Sistema Multiagente
Tipos de interação em um
Cooperação
trabalhar juntos em busca de um objetivo comum.
Coordenação
gerenciar as dependências entre diferentes atividades, de forma
que as ações dos diferentes agentes sejam sincronizadas e o
trabalho dobrado seja evitado.
Negociação
chegar a um acordo que seja aceitável para todas as partes
envolvidas.
9. Agentes X ObjetosAgentes X Objetos
Autonomia
Objeto: possui estado
Agente: possui estado e comportamento
Mensagens
Objeto: chamada de método
Agente: envio de mensagens em uma linguagem
de comunicação de agentes (ACL)
Comportamentos
Objeto: reação a eventos
Agente: comportamentos mais flexíveis (reativo, proativo, social)
Controle
Objetos: thread comum aos demais
objetos do sistema
Agentes: thread único
10. JADEJADE
JAVA Agent DEvelopment Framework
O JADE é um software implementado em
Java, para o desenvolvimento de agentes.
Jade facilita a cooperação entre agentes
utilizando o protocolo FIPA.
11. JADEJADE
JAVA Agent DEvelopment Framework
JADE foi desenvolvido nos anos 2000 pela
empresa Telecom Italia Lab para utilizá-lo
na indústria da telecomunicação.
Em Fevereiro do ano 2000, a Telecom Italia
Lab tornou o JADE software livre.
12.
13. package examples.hello;
import jade.core.Agent;
public class HelloWorldAgent extends Agent {
protected void setup() {
System.out.println("Hello World! My name is "+getLocalName());
}
}
Hello World usando JADEHello World usando JADE
14. JASONJASON
JASON é uma plataforma para o
desenvolvimento de Sistemas Multiagentes.
A linguagem AgentSpeak é utilizada
para desenvolver agentes utilizando JASON.
JASON é um software open source
distribuido sobre a licença GNU LGPL.
15. "Hello Bob, Hello Tom" em JASON"Hello Bob, Hello Tom" em JASON
!start.
+!start : true <- .send(bob,tell,hello).
+hello[source(A)]
<- .print("I receive an hello from ",A);
.send(A,tell,hello).
Agente Tom
+hello[source(A)]
<- .print("I received a 'hello' from ",A);
.send(A,tell,hello).
Agente Bob