Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em...

12
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Orientação Prof. Dr. Ing. Carlos Eduardo Pereira Sistemas Multi-agentes em Java utilizando a plataforma JADE Me. Eng. JOÃO ALVAREZ PEIXOTO 1 Tópicos 1. Agentes 2. Plataforma JADE 3. Agentes em JADE 4. Comunicação entre Agentes 5. Páginas Amarelas 6. Protocolo FIPA Request 7. Protocolo FIPA ContractNet 8. Trabalho Avaliativo Objetivo: implementar sistemas de manufatura utilizando sistemas multiagentes, a partir da plataforma JADE. Avaliação: trabalho de implementação de sistema de manufatura, constando o conceito de sistemas multiagentes, comunicação padronizada e negociação entre os agentes.

Transcript of Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em...

Page 1: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Orientação Prof. Dr. Ing. Carlos Eduardo Pereira

Sistemas Multi-agentes em Java utilizando a plataforma JADE

Me. Eng. JOÃO ALVAREZ PEIXOTO

1

Tópicos 1. Agentes 2. Plataforma JADE 3. Agentes em JADE 4. Comunicação entre Agentes 5. Páginas Amarelas 6. Protocolo FIPA Request 7. Protocolo FIPA ContractNet 8. Trabalho Avaliativo

Objetivo: implementar sistemas de manufatura utilizando sistemas multiagentes, a partir da plataforma JADE.

Avaliação: trabalho de implementação de sistema de manufatura, constando o conceito de sistemas multiagentes, comunicação padronizada e negociação entre os agentes.

Page 2: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto

REFERÊNCIAS

2

TILAB Group. JAVA Agent Development Framework. Disponível em: <http://jade.tilab.com>. Acesso em: 25 mai. 2011.

SILVA, L. A. M. Estudo e Desenvolvimento de Sistemas Multiagentes usando JADE: Java Agent Development framework. 2003. 97 f. Monografia ( Trabalho de conclusão de curso de Bacharel em Informática) - Centro de Ciências Tecnológicas, Universidade de Fortaleza – UNIFOR , Fortaleza , 2003. Disponível em: < http://jade.cselt.it/papers/2003/monografia.pdf>. Acesso em 22 dez. 2011.

DEITEL, P. J.; DEITEL, H. M. Java how to program. 7. ed. Upper Saddle River : Pearson Prentice Hall, 2007. 1596 p. ISBN: 978-01-3222-220-4

BELLIFEMINE F.; CAIRE G.; GREENWOOD D. Developing multi-agent systems with JADE . West Sussex: John Wiley, 2004. 303 p. ISBN: 978-04-7005-747-6.

www.sun.com � Site para dowload do programa instalador do Java http://joao-peixoto.webnode.com.br � Site para dowload do material didático

Page 3: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto

1. AGENTE

A FIPA (Foundation for Intelligent Physical Agents) define: “ O agente é uma entidade que reside em um ambiente onde interpretam dados

através de sensores, refletem eventos no ambiente e executam ações que produzem efeitos no ambiente.”

3

Page 4: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto

1. AGENTE

Ferramentas necessárias para Implementar os agentes.

4

FIPA ACL

Plataforma JADE JAVA

Page 5: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 5

1. AGENTE

Criada pela Sun Microsystems em 1995 com a finalidade de desenvolvimento de programas em ambientes heterogêneos ligados em rede, a linguagem JAVA teve seu objetivo inicial a utilização em sistemas isolados com quantidade mínima de memória. Com o crescimento da internet e da world wide web (www), esta linguagem se tornou um grande potencial para criação de páginas na WEB

com conteúdo dinâmico

a) execução convencional. b) execução por interpretador de bytecodes

1.1 - JAVA

Instalando JAVA

Page 6: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 6

1. AGENTE

1.2 - NETBEANS

Instalando

NETBEANS

O NetBeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de código aberto para desenvolvedores de software nas linguagens Java, entre outras. O IDE é executado em muitas plataformas, como Windows,Linux, Solaris e MacOS. O NetBeans IDE oferece aos desenvolvedores ferramentas necessárias para criar aplicativos profissionais de desktop, empresariais, Web e móveis multiplataformas.

Page 7: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 7

JADE (Java Agent DEvelopment framework) é um ambiente para desenvolvimento de aplicações baseada em agentes conforme as especificações da FIPA

(Foundation for Intelligent Physical Agents) para interoperabilidade entre sistemas multiagentes totalmente implementado em Java.

1. AGENTE 1.3 - JADE

Instalando JADE

Page 8: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto

• AMS - Serviço de nomes; • DF - Serviços de páginas amarelas; • Transporte de mensagens; • Serviços de análise; • Biblioteca de protocolos de interação FIPA.

8

2. PLATAFORMA JADE

java jade.Boot –gui Ag1:nome_classe

java jade.Boot –container Ag2:nome_classe

java jade.Boot –container Ag3:nome_classe

java jade.Boot –container Ag4:nome_classe

Page 9: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 9

2. PLATAFORMA JADE 2.1 - Agente em JADE

O agente em JADE é uma classe que extende a classe “Agente”. É composto de um método “setup()” que executa as ações do agente propriamente ditas; E um método “takeDown()”, que é invocado pelo método “doDelete()”, que encerra a execução do agente.

O agente é criado no momento em que é instanciado, através de comando.

Page 10: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 10

2. PLATAFORMA JADE 2.2 – Identificação do Agente - ID

Cada agente possui um identificador único na plataforma, definido quando da sua criação, postado no AMS.

<nome_local> @ <nome_da_plataforma>

A classe “AID” disponibiliza métodos para obter : o nome local � getLocalName() o nome global � getName() os endereços de um agente � getAllAddresses()

Page 11: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 11

2. PLATAFORMA JADE 2.3 – Passagem de informação para o Agente

O agente pode receber informações que lhes são passadas durante sua instância, através da linha de comando.

java jade.Boot –gui nome_agente : nome_classe (“parâmetro 1”,”parâmetro 2”,”parâmetro n”)

Page 12: Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em ...files.joao-peixoto.webnode.com.br/200000099-c3b5ec40d6/Agentes.pdf · Objetivo: implementar sistemas de manufatura utilizando

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - ESCOLA DE ENGENHARIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

João Alvarez Peixoto 12

2. PLATAFORMA JADE 2.3 Comunicação na Linguagem FIPA -ACL

Padrão FIPA-ACL encapsula uma mensagem, sendo dividido em campos com finalidades específicas

Sender Receivers Ontology Language Content Outros campos Performative

INFORM CFP REQUEST REFUSE PROPOSAL