SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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
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.
RoteiroRoteiro
O que é um Agente
O que é um Sistema Multiagentes
JADE
JASON
Exemplos
“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?
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.
Funcionamento do AgenteFuncionamento do Agente
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
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.
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 em
Java, para o desenvolvimento de agentes.
Jade facilita a cooperação entre agentes
utilizando o protocolo FIPA.
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.
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 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.
"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ências
http://jason.sourceforge.net/
http://jade.tilab.com
http://en.wikipedia.org/wiki/AgentSpeak
http://www.devmedia.com.br/jade-framework-de-
sistemas-de-agentes-em-java/29324
http://www.inf.ufes.br/~rguizzardi/agentes.html

Mais conteúdo relacionado

Semelhante a Desenvolvendo Sistemas Multiagentes com JADE e JASON

Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentesVanessa Biff
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual cFabiano Lima
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Helio Henrique L. C. Monte-Alto
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfJadna Almeida
 
Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva
Desenvolvendo Aplicações Livres em Java - Thiago Regal da SilvaDesenvolvendo Aplicações Livres em Java - Thiago Regal da Silva
Desenvolvendo Aplicações Livres em Java - Thiago Regal da SilvaTchelinux
 
Interação Homem Computador Aula 02
Interação Homem Computador Aula 02Interação Homem Computador Aula 02
Interação Homem Computador Aula 02igoroliveiracosta
 
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria Inteligente
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria InteligenteSeminário Inteligência Artificial - Sistemas Multiagentes e Tutoria Inteligente
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria InteligenteLuís Felippe Floriani
 
Desenvolvimento android p2
Desenvolvimento android p2Desenvolvimento android p2
Desenvolvimento android p2George Nunes
 
Softwares que Duram: Uma abordagem Arquitetônica
Softwares que Duram: Uma abordagem ArquitetônicaSoftwares que Duram: Uma abordagem Arquitetônica
Softwares que Duram: Uma abordagem ArquitetônicaHugo Seabra
 
Iniciando o desenvolvimento em Android - Nexxera Techpeople
Iniciando o desenvolvimento em Android - Nexxera TechpeopleIniciando o desenvolvimento em Android - Nexxera Techpeople
Iniciando o desenvolvimento em Android - Nexxera TechpeopleGustavo Bitencourt
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 

Semelhante a Desenvolvendo Sistemas Multiagentes com JADE e JASON (20)

Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Sld 4
Sld 4Sld 4
Sld 4
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
Investigação de Recursos de Comunicação e Colaboração na Infraestrutura Seman...
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdf
 
Resumo prova
Resumo provaResumo prova
Resumo prova
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
MaDKit
MaDKitMaDKit
MaDKit
 
Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva
Desenvolvendo Aplicações Livres em Java - Thiago Regal da SilvaDesenvolvendo Aplicações Livres em Java - Thiago Regal da Silva
Desenvolvendo Aplicações Livres em Java - Thiago Regal da Silva
 
Revista programar 14
Revista programar 14Revista programar 14
Revista programar 14
 
Agent toolkits rc3
Agent toolkits rc3Agent toolkits rc3
Agent toolkits rc3
 
Interação Homem Computador Aula 02
Interação Homem Computador Aula 02Interação Homem Computador Aula 02
Interação Homem Computador Aula 02
 
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria Inteligente
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria InteligenteSeminário Inteligência Artificial - Sistemas Multiagentes e Tutoria Inteligente
Seminário Inteligência Artificial - Sistemas Multiagentes e Tutoria Inteligente
 
Desenvolvimento android p2
Desenvolvimento android p2Desenvolvimento android p2
Desenvolvimento android p2
 
Softwares que Duram: Uma abordagem Arquitetônica
Softwares que Duram: Uma abordagem ArquitetônicaSoftwares que Duram: Uma abordagem Arquitetônica
Softwares que Duram: Uma abordagem Arquitetônica
 
Iniciando o desenvolvimento em Android - Nexxera Techpeople
Iniciando o desenvolvimento em Android - Nexxera TechpeopleIniciando o desenvolvimento em Android - Nexxera Techpeople
Iniciando o desenvolvimento em Android - Nexxera Techpeople
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
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.
  • 3. RoteiroRoteiro O que é um Agente O que é um Sistema Multiagentes JADE JASON Exemplos
  • 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