Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro
A API Aglet
Construo de Sistemas de Agentes Mveis
Aplicaes
Referncias
Conceitos
Agente de software
Agentes cujo ambiente o computador ou rede de computadores
Agente estacionrio
Executa apenas no sistema onde iniciou a execuo Para interagir com outros agentes usa mecanismos de comunicao como RPC
Agente mvel
Pode se transportar, atravs da rede, de um sistema para outro
Host A
Host B
App
Servio
App
Envia o agente
Servio
App
X
Desconecta
Servio
App
Reconecta e retorna
Servio
autonomamente
Aglets: O Que ?
Ambiente de trabalho para a construo de sistemas de agentes mveis desenvolvido pela IBM do Japo
Consiste em um kit de desenvolvimento de aglets e uma plataforma para sua execuo A API um pacote de classes para Java
Agglet:
Programa Java em execuo (cdigo + estado) que pode se mover de um host para outro Pode viajar seqencialmente entre vrios hosts, podende, inclusive, voltar ao host original Ambiente de execuo: contexto (ex: Tahiti)
Aglet
Proxy
Context
Message Future reply Identifier
Arquivo de Classes
Disco
A Classe Aglet
Transferncia de um Aglet
Host A
Campos de dados
Host B
+ Cdigo da classe
Passo 1 Hospedando
Enviando
Recebendo
Passo 3
Hospedando
A Interface AgletProxy
O proxy age como um objeto escudo que protege o aglet de aglets maliciosos Um aglet interage com outro aglet atravs de um proxy Quando invocado, o objeto AgletProxy consulta o gerente de segurana para determinar se o contexto de execuo atual pode executar o mtodo Outro papel importante de AgletProxy prover transparncia de localizao para o aglet
A Interface AgletContext
O contexto um ambiente de execuo uniforme para os aglets AgletContext usada pelos aglets para:
Obter informaes sobre o ambiente Enviar mensagens para o ambiente, inclusive para outros aglets ativos neste
Tahiti:
Interface grfica da IBM para o contexto O usurio pode realizar as diversas operaes do ciclo de vida de um aglet
A Classe Message
Aglets se comunicam atravs da troca de objetos da classe Message. Criando o objeto message:
Message myName = new Message("my name", "Jacob"); Message yourName = new Message("your name?");
Design Patterns fazem parte do kit de desenvolvimento Aglets Objetivo: identificar e formalizar bons elementos de projeto que sejam reutilizveis para aplicaes de agentes mveis Os padres disponveis podem ser divididos em trs classes:
Viagem (ex: padro itinerrio) Tarefa (ex: padro mestre-escravo) Interao (ex: padro reunio)
Padro Mestre-Escravo
Padro Reunio
Prov uma forma dos agentes estabelecerem interaes locais em hosts especficos
Aplica-se nos seguintes casos:
Quando agentes precisam interagir e o custo de sua locomoo para um local central menor que o custo associado comunicao remota
Quando agentes no podem interagir remotamente Quando agentes precisam acessar servios locais em determinado host
Padro Itinerrio
Aplicaes
Busca de Arquivos
Busca Distribuda
Searcher:
Define, no momento da sua criao, os documentos que lhe interessam Registra interesse em receber mensagens de publisher Ao receber mensagem de publisher, verifica se o documento interessante e informa ao usurio
Referncias
http://www.aglets.org
http://www.trl.ibm.co.jp/aglets http://www.aglets.org/resources/articles/index.jsp
http://www.javaworld.com/javaworld/jw-04-1997/jw04-agents.html
http://www.javaworld.com/javaworld/jw-04-1997/jw04-hood.html http://www.javaworld.com/javaworld/jw-05-1997/jw05-hood.html