Upload
felipe-neves-brito
View
37
Download
0
Embed Size (px)
Citation preview
Desenvolvendo Sistemas Multiagentes utilizandoDesenvolvendo Sistemas Multiagentes utilizando
ferramentas de código abertoferramentas de código aberto
Felipe Neves Brito - [email protected]
Mauro Roberto Costa - [email protected]
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 nasMídias Sociais;Desenvolvimento de um Sistema Multiagentes para oMoodle.
RoteiroRoteiro
O que é um AgenteO que é um Sistema MultiagentesJADE JASONExemplos
“Um agente é qualquer coisa que pode servista percebendo um ambiente por meio desensores e atuando no mesmo por meio deatuadores” (Russel & Norvig)
O que é um agente?O que é um agente?
CaracterCaracteríísticas Cognitivas de umsticas Cognitivas de um
AgenteAgente
Autonomia – capacidade de agir sem intervençãode outros agentes.Reatividade – habilidade de reagir a estímulos doambiente.Proatividade – propriedade de agir guiado porobjetivos, a partir de iniciativa própria.Sociabilidade – potencialidade de se comunicar comoutros agentes do ambiente.
Funcionamento do AgenteFuncionamento do Agente
O que é um SMA?O que é um SMA?Sistema Multiagente
Um sistema multiagente consiste de vários agentes queinteragem entre si.Os agentes podem colaborar, cooperar, negociar oucompetir para cumprir objetivos similares ou diferentes.Os agentes não são as únicas entidades de um sistemamultiagentes
Ambiente, organizações, papéis e objetos
Os dados estão descentralizadosA computação é assíncrona
Sistema MultiagenteTipos 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 formaque as ações dos diferentes agentes sejam sincronizadas e otrabalho dobrado seja evitado.
Negociação
chegar a um acordo que seja aceitável para todas as partesenvolvidas.
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
JADEJADE
JAVA Agent DEvelopment Framework
O JADE é um software implementado emJava, para o desenvolvimento de agentes.Jade facilita a cooperação entre agentes
utilizando o protocolo FIPA.
JADEJADEJAVA Agent DEvelopment Framework
JADE foi desenvolvido nos anos 2000 pelaempresa Telecom Italia Lab para utilizá-lo
na indústria da telecomunicação.
Em Fevereiro do ano 2000, a Telecom ItaliaLab tornou o JADE software livre.
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
JASONJASON
JASON é uma plataforma para odesenvolvimento de Sistemas Multiagentes.
A linguagem AgentSpeak é utilizadapara desenvolver agentes utilizando JASON.
JASON é um software open source distribuido sobre a licença GNU LGPL.
"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
ExemplosExemplos
Dúvidas?Dúvidas?
ReferênciasReferênciashttp://jason.sourceforge.net/http://jade.tilab.comhttp://en.wikipedia.org/wiki/AgentSpeakhttp://www.devmedia.com.br/jade-framework-de-sistemas-de-agentes-em-java/29324http://www.inf.ufes.br/~rguizzardi/agentes.html