• Nenhum resultado encontrado

Centralizado Distribuído

N/A
N/A
Protected

Academic year: 2021

Share "Centralizado Distribuído"

Copied!
10
0
0

Texto

(1)

O Ambiente Jade:

O Ambiente Jade:

uma introdução ao

uma introdução ao

framework

framework

de

de

desenvolvimento para sistemas

desenvolvimento para sistemas

multiagentes

multiagentes

Inteligência Artificial

Prof. Rômulo Nunes

Universidade Federal de Alagoas

Curso de Ciência da Computação

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 2

Motivação

Motivação

JADE (Java Agent Development Framework)

– Conjunto de ferramentas para construção de MAS

(Multi-agent Systems) ou SMA(em português)

No quê o Jade ajuda na a construção de um

SMA?

Jade pode ser utilizado na concepção de um

SMA para o comércio eletrônico?

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 3

Programação

Programação

Introdução – Sistemas Multiagentes

FIPA

(Foundation for Intelligent Physical Agentes) 

A Plataforma Jade

Agentes na Plataforma Jade

Comunicação entre agentes

Jade no contexto do comércio eletrônico

Resumo e Conclusão

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 4

Introdução

Introdução

-

-

SMA

SMA

Porque utilizar SMA’s?

Centralizado × Distribuído

– Diminuir a complexidade do problema – Distribuir informações

– Aumento da Robustez – Facilidade em integrar soluções

Complexidade do sistema Complexidade do problema

(2)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 5

Introdução

Introdução

-

-

SMA

SMA

Os agentes operam em ambientes:

– Que podem conter ou não outros agentes – Abertos x fechados

– Com comunicação x Sem comunicação – Onde os Agentes: Homogêneos x Heterogêneos – Cooperativos X Competitivos

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 6

Introdução

Introdução

-

-

SMA

SMA

Características interessantes dos agentes em um SMA:

– Percepção & ação – Comunicação

– Perseguir Objetivos (Autonomia)

– Deliberar ações (baseadas no “estado do ambiente” + “objetivos”)

– Raciocínio e aprendizagem

Visão geral de um SMA

Visão geral de um SMA

Jade é um framework para desenvolvimento de aplicações baseadas em agentes que segue os padrões FIPA. Possui alguns recursos que estão representados abaixo:

Message Transport System Agent Management System Directory Facilitator Plataforma de Agentes Agente1 Outros Agentes através do protocolo HTTP ou IIOP Páginas Amarelas Agente que provê

funcionalidade de gerenciamento da plataforma Agenten Componente para o transporte

Fundada em 1996 com objetivo de padronizar a

utilização de agentes.

– http://www.fipa.org/

Descreve uma referência de plataforma de agente

(AP – Agent Plataform)

– Infra-estrutura para o ambiente de agentes – Agentes de administração

Protocolo de comunicação (ACL - Agent

Communication Language )

– Proporciona a funcionalidade da comunicação entre agentes

FIPA

FIPA

Foundation for

Foundation for

Intelligent Physical Agents

(3)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 9

FIPA

FIPA

Foundation for

Foundation for

Intelligent Physical Agents

Intelligent Physical Agents

FIPA97 identifica os papéis de alguns agentes

necessários para a administração da plataforma .

– O Agente de administração do sistema (AMS - Agent Management System)

é o agente que supervisiona (controla) o acesso da plataforma;

é responsável pela autenticação e controle de inscrições. – O Agente de Canal de Comunicação (ACC - Agent

Communication Channel)

é o agente responsável pela comunicação entre agentes internos ou externos a plataforma

– O Diretório Facilitador (DF - Directory Facilitator)

é o agente que provê um serviço de página amarela para a plataforma de agente.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 10

Modelo de Referência da FIPA para Plataformas de Agentes

FIPA

FIPA

Foundation for

Foundation for

Intelligent Physical Agents

Intelligent Physical Agents

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 11

FIPA

FIPA

Serviços

Serviços

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 12

Plataforma JADE

Plataforma JADE

Características

– Open source, possui licença LGPL

(Library

General Public License);

– Implementado totalmente em Java;

– É conforme a FIPA97/2000;

– Pode ser visto como um middleware de agentes

que implementa uma plataforma de agentes e um

framework de desenvolvimento;

(4)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 13

Plataforma JADE

Plataforma JADE

Características

(...cont.)

– Escalável;

(pode ser utilizado desde pequena escala a grande escala)

– Suporta mobilidade dos agentes;

oferece uma interface gráfica de usuário (GUI) para permitir o controle de vários agentes e plataformas ao mesmo tempo;

– permite implementação de aplicações

multi-domínio.

(a interface simplifica o registro de agentes em um ou mais domínios)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 14

O MTP utiliza-se do RMI para toca de mensagens entre as máquinas virtuais Java ( com IIOP ou HTTP quando entre plataformas diferentes )

JRE 1.2 JRE 1.2 Jade Main-container Jade Agent Container Jade Agent Container

Jade distributed Agent Platform

D F A g en t A MS A gen t A p p li cat io n A gen t A p p li cat io n A gen t A p p li cat io n A gen t A p p li cat io n A gen t A p p li cat io n A gen t A p p li cat io n A gen t

Host 1 Host 2 Host 3

A p p li cat io n A gen t A p p li cat io n A gen t JRE 1.2

Arquitetura de uma Plataforma de agentes JADE distribuída.

Protocolos de transporte de mensagens entre hosts: Internet Inter ORB Protocol e HyperText Transfer Protocol Remote Method Invocation (Java RMI) Message Transport Protocols (Serviço de mensagens do Jade)

Plataforma JADE

Plataforma JADE

Plataforma JADE

Plataforma JADE

Network Host Link Network Host

Agent Container Main Container Agent Container

Agentes de Software são componentes de software, assim:

 São hospedados em tempo de execução por Agents Containers  Muitos agentes podem conviver em um único container (cerca de 1000

por host)

Plataforma JADE

Plataforma JADE

O pacote jade.tools contém algumas ferramentas

para facilitar a administração.

– Agente de Monitoramento Remoto (RMA - Remote Monitoring Agent):

console (agente) responsável pela administração e controle da plataforma.

O JADE mantém coerência entre os RMAs através de envio de multicasting entre eles.

– Agent Dummy:

(5)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 17

Plataforma JADE

Plataforma JADE

O pacote jade.tools contém algumas ferramentas

para facilitar a administração.

(...cont.)

– Agente Sniffer

:

ferramenta utilizada para debugar, "snifar" e salvar em arquivo a comunicação entre agentes.

é capaz de interceptar as mensagens ACL em trânsito e exibir uma anotação gráfica muito semelhante ao UML que é de grande utilidade para depuração da sociedade de agentes.

– Introspector Agent:

ferramenta muito útil que permite monitorar o ciclo de vida dos agentes, suas mensagens ACL trocadas e os behaviours em execução.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 18

Plataforma JADE

Plataforma JADE

 O pacote jade.tools contém algumas ferramentas para facilitar a administração. (...cont.)

– Agente SocketProxyAgent:

agente simples que age como uma porta bidirecional entre a plataforma e uma conexão TCP/IP.

Este agente é útil para manipular firewalls ou prover interações entre a plataforma e applets java

– DF GUI:

interface de usuário (um agente completo) que é usada no caso da falta do diretório facilitador no JADE.

Modo gráfico para controlar a base de conhecimentos, ou seja, provê o serviço de "páginas amarelas".

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 19

Plataforma JADE

Plataforma JADE

Front-end, em destaque os agentes AMS, RMA, DF e o ACC:

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 20

Plataforma JADE

Plataforma JADE

Agente sniffer :

(6)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 21

Plataforma JADE

Plataforma JADE

DF GUI :

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 22

Agentes na plataforma JADE

Agentes na plataforma JADE

Aplicações JADE são desenvolvidas através

de Agentes

– Um agente JADE é mapeado em uma classe

JAVA definida pelo usuário, que deve ser

subclasse da classe Agent do pacote jade.core

– Atividades de agentes são mapeadas em classes

definidas pelos usuários, que são subclasses da

classe Behaviour do pacote

jade.core.bahaviours.

Agentes na plataforma JADE

Agentes na plataforma JADE

Não há necessidade de implementar plataforma

uma vez que o JADE inclui o AMS, o DF e o

ACC que são iniciados automaticamente com a

plataforma.

Os agentes recebem identificadores únicos

globais (GUID - Globally Unique Identifier).

O nome do agente é composto por um

apelido @ nome do host.domínio: porta/JADE;

– por exemplo agente@mycomputer:1099/JADE.

Agentes na plataforma JADE

Agentes na plataforma JADE

Cada container é um ambiente de execução

multithreaded.

Um agente é no JADE é:

– objeto ativo que carrega consigo uma thread de controle.

– completamente autônomo (controla sua execução, decide quando ler as mensagens e quais ler), – Capaz de iniciar diversas conversações simultâneas e

(7)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 25

Agentes na plataforma JADE

Agentes na plataforma JADE

Behaviours:

O programador usa os behaviours para modelar as

ações que o agente é capaz de executar

usa-se uma thread por agente e não por behaviour,

o que mantém razoável o número de threads

necessárias para rodar a plataforma.

Os behaviours trabalham em modo de

agendamento cooperativo. Cada behaviour deve

ceder o controle para permitir que os outros

possam ser executados.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 26

Agentes na plataforma JADE

Agentes na plataforma JADE

O JADE suporta mobilidade

intra-plataforma e clonagem

– os agentes podem migrar entre os containers,

podem ser clonados entre os containers

– podem ser iniciados pelo próprio agente

(doMove, doClone) ou solicitados pela

plataforma via AMS

(Agent Management System )

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 27

Agentes na plataforma JADE

Agentes na plataforma JADE

Possíveis estados de acordo com o ciclo de vida

especificado pela FIPA:

– AP_ INTIATED: o agent object está construído, contudo ainda não se registrou com AMS, não tem nem um nome nem um endereço e não pode se comunicar com outros agentes;

– AP_ ACTIVE: o agent object está registrado com AMS, portanto já possui seu AID e pode ter acesso as várias características JADE;

– AP_ SUSPENDED: o agent object está atualmente parado, sua thread interna está suspensa e nenhum behaviour esta sendo executado;

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 28

Agentes na plataforma JADE

Agentes na plataforma JADE

Possíveis estados de acordo com o ciclo de vida

especificado pela FIPA:

(...cont)

– AP_ WAITING: o agent object está bloqueado, esperando por algo. Sua thread está dormindo temporariamente.

– AP_ DELETED: o agente definitivamente está morto. Sua thread interna foi terminada e o agente não está mais registrado com AMS;

– AP_ TRANSIT: um agente móvel entra neste estado enquanto está migrando. O sistema continua armazenando as mensagens que serão enviadas a nova localidade;

(8)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 29

Agentes na plataforma JADE

Agentes na plataforma JADE

Possíveis estados de acordo com o ciclo de vida

especificado pela FIPA:

(...cont)

– AP_ COPY: esse estado é usado internamente pelo JADE para estados que estão começando a ser clonados. – AP_ GONE: esse estado é usado internamente pelo

JADE quando o agente móvel migrou para uma nova localidade e possui um estado estável.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 30

Agentes na plataforma JADE

Agentes na plataforma JADE

Diagrama de estados de agente na Plataforma JADE

Comunicação entre agentes

Comunicação entre agentes

Serviço de Transporte de Mensagens

Controla a fila de mensagens ACL privativa do

agente Projetado para adaptar-se dinamicamente

– O mecanismo de transporte é selecionado de

acordo com a situação

Para obter o menor custo de transmissão de

mensagem

Os overheads dependem da localização do receptor e do cache

Comunicação entre agentes

Comunicação entre agentes

Serviço de Transporte de Mensagens

Canal de comunicação entre agentes distribuídos

– O main container não sofre prejuízos de desempenho , graças aos caches distribuídos

– O Message Transport Protocols (MTP) pode ser ativado/desativado em tempo de execução em qualquer container, via GUI.

– O controle de mensagens é otimizado pelo ACL (Agent Communication Language)

(9)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 33

Comunicação entre agentes

Comunicação entre agentes

Elementos de comunicação na plataforma JADE.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 34

Comunicação entre agentes

Comunicação entre agentes

A arquitetura do software se baseia na

coexistência de várias JVMs e:

– podem estar espalhadas por vários hosts;

– cada VM é um container de agentes que provê

um ambiente de runtime completo para

execução de agentes;

– cada VM permite que vários agentes sejam

executados concorrentemente no mesmo host.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 35

Ex.: Jade no contexto do comércio eletrônico

Ex.: Jade no contexto do comércio eletrônico

Necessitamos de: • Raciocínio independente • Comunicação • Autonomia • independencia de SO e localização dos participantes

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 36

Ambiente FIPA (JADE)

Tática de Negociação 1 Negociador 1 Base de Conhecimento Tática de Negociação n Negociador n Base de Conhecimento

Ex.: Jade no contexto do comércio eletrônico

Ex.: Jade no contexto do comércio eletrônico

(10)

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 37

Resumo e conclusão

Resumo e conclusão

O JADE segue os padrões da FIPA, que é uma

instituição que dita regras sobre a padronização em MAS (Sistemas mult-agentes)

 O JADE possue muitas ferramentas e facilidades (agindo como framework de fato) para a MAS.

 Um ambiente para o comércio eletrônico necessita de um ambiente multi-agentes para funcionar. Por suas características, o JADE é um framework adequado ao propósito.

O ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multi-agentes 38

Onde obter mais informações

Onde obter mais informações

 FIPA - http://www.fipa.org

 Núcleo Brasileiro de Jade – Universidade de Brasília -http://qos.tecnolink.com.br

 JADE – site oficial - http://jade.tilab.com

 JADE Administrative Tutorials por David Grimshaw (Ryerson University)

-http://jade.tilab.com/doc/tutorials/JADEAdmin

 Scalability and Performance of JADE Message Transport System - por E.Cortese; F.Quarta e G.Vitaglione (paper) - http://jade.tilab.com/

Referências

Documentos relacionados