Agentes inteligentes e sistemas multi agente ue11 agentes m veis
This presentation is the property of its rightful owner.
Sponsored Links
1 / 41

Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on
  • Presentation posted in: General

Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis. Questões. O que é um Agente móvel? Que tipo de sistemas (aplicações) posso construir usando agentes móveis? Que ferramentas há para o auxílio na construção de agentes móveis?. O que é um Agente Móvel? (1/2). Agente Móvel:

Download Presentation

Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Agentes inteligentes e sistemas multi agente ue11 agentes m veis

Agentes Inteligentes e Sistemas Multi-agente(UE11) Agentes Móveis


Quest es

Questões

  • O que é um Agente móvel?

  • Que tipo de sistemas (aplicações) posso construir usando agentes móveis?

  • Que ferramentas há para o auxílio na construção de agentes móveis?


O que um agente m vel 1 2

O que é um Agente Móvel? (1/2)

  • Agente Móvel:

    • não está ligado ao sistema que o iniciou;

    • livre para viajar entre hosts numa rede;

    • uma vez criado numa máquina/sistema hospedeiros, ele pode transportar o seu estado e código consigo para outras máquinas/sistemas na rede, onde continua a sua execução.

  • Estado:

    • valores dos atributos do agente necessários para que ele continue a sua execução após o transporte

  • Código:

    • dentro de um contexto orientado a objectos, o código das classes necessárias para que o agente se possa executar


O que um agente m vel 2 2

O que é um Agente Móvel? (2/2)

  • Definição de um Agente Móvel

    • um agente móvel é um agente que não está ligado permanentemente ao sistema que o iniciou enquanto processo;

    • possui a habilidade única de se transportar de um sistema para outro numa rede, mantendo o seu contexto original antes do transporte;

    • esta habilidade para viajar, permite que o agente móvel possa mover-se para o sistema que contém o recurso com o qual o agente deseja interagir;

    • pode portanto tirar vantagem disso para estar na mesma máquina ou rede onde busca informações, e com isso ser muito mais eficiente na sua tarefa.


Aplica es de agentes m veis 1 2

Aplicações de Agentes Móveis (1/2)

  • Automação de processos

  • Aplicações Internet

  • Comércio electrónico

    • agentes podem percorrer a rede e negociar em nome de quem os enviou

  • Procura de informação distribuída

    • ao invés de concentrar a procura num só site, distribui agentes pela rede para efectuarem a procura

  • Assistente Pessoal

    • assistentes podem efectuar tarefas na rede em nome de seus criadores


Aplica es de agentes 2 2

Aplicações de Agentes (2/2)

  • Negociação Segura

    • agentes podem mover-se para sites seguros com a finalidade de negociar

  • Processamento Paralelo

    • agentes podem gerir processos paralelos

  • Serviços de Telecomunicações via Rede

    • agentes podem reconfigurar uma rede de telecomunicações de forma dinâmica, mantendo-a coesa

  • Aplicações de Workflow e Groupware

    • agentes móveis podem cooperar em nome de co-participantes de um grupo de trabalho


Ideia

Ideia

  • Originalmente surge com Jim White que propõe uma linguagem para agentes móveis chamada Telescript TM da General Magic.


Ideia1

Network

Service

Client

PC

Server

Service

Ideia

Network

Client

PC

Server


Ideia2

Network

Service

Client

PC

Server

Service

Client

Ideia

Network

Client

PC

Server


Conceitos locais

Conceitos: Locais

  • Locais: um local oferece um serviço aos agentes móveis para estes entrarem

Network

Directory

Ticketron

Electronic Shopping Center

Shopping app


Conceitos agentes e viagens

Conceitos: Agentes e Viagens

  • Agentes ocupam um certo local

  • Um agente pode mover-se de local para local preservando o seu estado

  • Cada agente é independente dos outros agentes

  • Cada agente move mover-se de um local para outro podendo usar os serviços localmente no sítio em que se encontra e voltar para trás quando necessário.

Go

Network

Directory

Ticketron

Electronic Shopping Center

Shopping app


Conceitos agentes e viagens1

Conceitos: Agentes e Viagens

  • Agentes ocupam um certo local

  • Um agente pode mover-se de local para local preservando o seu estado

  • Cada agente é independente dos outros agentes

  • Cada agente move mover-se de um local para outro podendo usar os serviços localmente no sítio em que se encontra e voltar para trás quando necessário.

Network

Directory

Ticketron

Electronic Shopping Center

Shopping app


Conceitos meeting

Conceitos: Meeting

Directory

Ticketron

Electronic Shopping Center

Shopping app


Conceitos autoridade

Conceitos: Autoridade

  • Segundo a tecnologia Telescript é possivel delegar autoridade em agentes (e de um agente noutro agente)

  • Além disso os agentes podem ter permits (permissões) para entrar em determinados locais ou não.


Historial

Historial

  • Equipa liderada por Steve Schramm criou a tecnologia e implementou os servidores

  • Na AT&T uma equipa liderada por Alex Gillon usou a tecnologia para criar o serviço AT&T Personal Link.

  • Uma outra equipa da General Magic criou Motorola Envoy.

    .... O que se passa agora....?


Plataformas de agentes

Plataformas de Agentes

Plataformas de agentes móveis:

  • Ferramentas que suportam e ajudam a criação de agentes móveis, fornecendo uma estrutura que facilita a sua implementação.


Plataformas de agentes m veis

Plataformas de Agentes Móveis

  • Agent Tcl

  • Concordia

  • Odyssey

  • Voyager

  • Aglets


Agent tcl 1 5

Agent Tcl (1/5)

  • Plataforma desenvolvida no Dartmouth College, Hanover - USA

  • Funcionalidades suportadas:

    • Migração de agentes

    • Comunicação de agentes

    • Utilização de várias linguagens (actualmente Tcl/Tk)

    • Vários mecanismos de transporte (actualmente TCP/IP)


Agent tcl 2 5

Agent Tcl (2/5)

  • A arquitectura tem 4 níveis distintos:

    • Agentes

    • Interpretador

    • Servidor

    • API de transporte


Agent tcl 3 5

Agent Tcl (3/5)

  • Existem dois tipos de comunicação:


Agent tcl 4 5

Agent Tcl (4/5)

  • Um agente pode ser programado em qualquer linguagem para a qual exista interpretador (compatível)

  • A única linguagem suportada é o Tcl

  • A migração é transparente para o programador

  • Servidor:

    • Presente em todas as máquinas capazes de executar agentes

    • Leve, pois parte das funcionalidades são atribuídas a agentes específicos (Gestão de recursos, tolerância a faltas, comunicação local, etc.)


Agent tcl 5 5

Agent Tcl (5/5)

  • Vantagens:

    • “Leve”

    • Simples

    • Largamente disponível (mesmo o código fonte)

    • Extensível

    • Embebível noutras aplicações

  • Desvantagens:

    • Tcl não é uma linguagem potente


Concordia 1 3

Concordia (1/3)

  • Desenvolvido pela Mitsubishi

  • Framework de desenvolvimento e gestão de agentes móveis em Java

  • Componentes:

    • Agent Manager

    • Security Manager

    • Persistence Manager

    • Inter-Agent Communication Manager

    • Queue Manager

    • Directory Manager

    • Administration Manager

    • Agent Tool Library


Concordia 2 3

Concordia (2/3)

  • Agent Manager:

    • providencia a infra-estrutura de comunicação que permite a mobilidade dos agentes

  • Security Manager:

    • protege os recursos e garante a segurança e integridade dos agentes e dos seus dados

  • Persistence Manager:

    • mantém o estado dos agentes e objectos que transitam na rede. Permite a reiniciação de um agente, no caso de uma falha no servidor

  • Inter-Agent Comunication Manager:

    • gere o registo e notificação de eventos entre agentes. Permite eventos do tipo Multicast (múltiplos destinatários)


Concordia 3 3

Concordia (3/3)

  • Queue Manager:

    • responsável pela sequenciação e envio garantido entre servidores Concordia

  • Directory Manager:

    • providencia um serviço de nomes para aplicações e agentes

  • Administration Manager:

    • providencia administração remota de um sistema Concordia. Somente um em toda a rede

  • Agent Tool Library:

    • ferramentas de desenvolvimento do Concordia: APIs Concordia (Administration APIs, Lightweight Agent Transport APIs, Service Bridge API, etc.) e classes de agentes necessárias para o desenvolvimento de agentes móveis usando o Concordia


Odyssey 1 2

Odyssey (1/2)

  • Sistema de Agentes implementado como um conjunto de bibliotecas de classes Java que providencia suporte a aplicações de agentes móveis

  • Principiais classes:

    • classe Agent

    • classe Worker, derivada de Agent

  • Agent:

    • Java Thread

  • Worker:

    • conjunto de tarefas e conjunto de destinos


Odyssey 2 2

Odyssey (2/2)

  • Place:

    • contexto onde se executa um agente

    • agentes movem-se de Place a Place

    • pode ter controlo de acesso

    • primeiro place criado: BootPlace

      • quando destruído, destrói todo o sistema de agentes

  • Outras Classes:

    • Ticket

    • Means

    • Petition

    • ProcessName


Voyager 1 2

Voyager (1/2)

  • Linha de produtos da Objectspace para o desenvolvimento de aplicações distribuídas

  • Principais Componentes:

    • Voyager ORB (Free)

    • Voyager ORB Professional

      • ORB + Serviços

    • Voyager Management Console

    • Voyager Security

    • Voyager Transactions

    • Voyager Application Server


Voyager 2 2

Recursos:

habilitação remota de classes

criação remota de classes

carregamento dinâmico de classes

mensagens remotas

gestão de excepções

garbage-collection distribuído

agregação dinâmica

CORBA

mobilidade

agentes móveis autónomos

activação dinâmica e persistência

applets e servlets

multicast

publish-subscribe

RMI

Timers

Thread Pooling

mensagens avançadas

segurança

Voyager (2/2)


O que s o aglets 1 8

O que são Aglets? (1/8)

  • Aglets são agentes móveis programados em Java, baptizadas com o nome da sua workbench (Aglets Workbench ou AWB)

  • Aglet = applet + agente

  • AWB:

    • Plataforma de construção de aplicações baseadas em agentes móveis

    • Tecnologia de agentes móveis 100% pure Java

    • Desenvolvida no IBM Tokyo Research Laboratory

  • Java Aglet API (J-AAPI):

    • Destinada a programadores de aplicações agente

    • define métodos para a criação, gestão de mensagens, despacho, retorno, activação, desactivação, clonagem e eliminação de aglets.


Awb 2 8

AWB (2/8)

  • A AWB disponibiliza várias ferramentas de suporte às aglets:

    • Um construtor visual de Aglets – “Tazza”

    • Um gestor visual de Aglets – “Tahiti”

    • Um construtor/lançador de Aglets para a WWW – “Fiji”

    • Fornece ainda um conjunto de bibliotecas de classes Java para a construção dos agentes

  • J-AAPI – Classes/Interfaces:

    • Aglet: define os métodos básicos

    • Aglet Context: trata mensagens e interacção com o exterior

    • Aglet Proxy: evita o acesso aos métodos da classe

    • Itinerary: especifica o plano de viagem da aglet

    • Message: para comunicação síncrona e assíncrona


Awb 3 8

AWB (3/8)

  • Na arquitectura da AWB temos dois tipos de serviços:

    • Aglet Viewers:

      • Pequenos, existentes usualmente em utilizadores

    • Aglet Servers:

      • Servidores poderosos, operados por prestadores de serviços


Awb 4 8

AWB (4/8)

  • Para criar uma aglet basta implementar a classe abstracta Aglet e implementar os métodos que são executados:

    • onCreation() – sempre que o agente for criado

    • onDisposing() – sempre que o agente é destruído

    • onDispatching() – sempre que o agente se move para outro servidor

    • onArrival() – sempre que o agente chega a um servidor

    • onDeactivation() – sempre que o agente é desactivado

    • onActivaction() – sempre que o agente é activado

    • onDialog() – define como o agente responde a pedidos de diálogo

    • run() – código principal do agente


Awb 5 8

AWB (5/8)

  • Mobilidade:

    • A captura/restauração do estado é baseada na seriação de objectos do Java

    • A migração é iniciada através da invocação do método dispatch()

    • Os agentes indicam o destino através de itineraries


Awb 6 8

AWB (6/8)

  • Comunicação:

    • Baseada na classe Message da J-AAPI

    • Depois da criação a mensagem é enviada para o proxy

    • O receptor trata a mensagem através do método handleMessage

    • Existe um gestor de mensagens que suporta o controlo de concorrência para as mensagens recebidas

  • Envio de uma mensagem:

    AgletProxy proxy = new AgletProxy ( );

    Message yourName = new Message ( “What is your name?” );

    Proxy.sendMessage(yourName);

  • Recepção de uma mensagem:

    public boolean handleMessage ( Message msg ) {

    if ( “your name?” ).equals( msg.kind ) ) {

    msg.sendReply ( “Leonel” );

    return true;

    }

    else return false;


Awb 7 8

AWB (7/8)

  • Segurança:

    • O Modelo de Segurança do AWB é baseado no Modelo de Segurança do Java e funciona por camadas:

      • Camada 1 – Segurança ao nível do código

      • Camada 2 – Segurança ao nível de acesso às classes

      • Camada 3 – Segurança ao nível de dados (encriptação)

    • O Gestor de Segurança reconhece dois tipos de aglets:

      • Aglets Trusted (Confiáveis)

      • Aglets Untrusted (Desconfiáveis)

    • O servidor decide se confia ou não numa aglet através da sua informação de autenticação

    • Dependendo da confiança, o servidor garante acesso a certos recursos


Awb 8 8

AWB (8/8)

  • Vantagens:

    • Os agentes são em Java

    • Agentes muito “leves”

    • Bibliotecas bem estruturadas para várias utilizações

    • Ambiente já totalmente operacional

    • Suporte de Segurança

  • Desvantagens:

    • Não há código fonte disponível

    • Ainda não é comercial/suporte ainda não definido


Compara o entre plataformas de agentes m veis 1 3

Comparação entre Plataformas de Agentes Móveis (1/3)


Compara o entre plataformas de agentes m veis 2 3

Comparação entre Plataformas de Agentes Móveis (2/3)


Conclus es 1 2

Conclusões (1/2)

  • Futuramente os agentes poderão ser bastante úteis para os utilizadores humanos, realizando tarefas em nome desses utilizadores (e.g. compras online, pesquisa de informação, pagamento de contas, etc.)

  • Agentes móveis são agentes que não estão confinados à máquina que os criou. Estes agentes são livres para navegarem numa rede “saltando” de servidor em servidor

  • Em cada instante os agentes móveis tentam interagir com os recursos que acham mais adequados. Se um servidor fica muito “pesado” computacionalmente, o agente abandona-o para localizar um outro servidor onde possa continuar a sua execução

  • Os agentes tornam muito mais fácil o desenvolvimento de vários tipos de sistemas complexos

  • Os agentes não são os “salvadores da pátria”. Apenas são apropriados na implementação de um certo tipo de aplicações (agent-based applications). Noutros domínios outras tecnologias serão mais apropriadas


Conclus es 2 2

Conclusões (2/2)

  • No entanto, ainda não há uma plataforma de facto que seja a melhor e mais usada no mercado.

  • As plataformas existentes são ainda bastante limitadas.


  • Login