Agentes Móveis
Gibeon Soares de Aquino
Lauro Didier Lins
Agentes Móveis
• Conteúdo
–
–
–
–
–
Introdução
Aplicações
Paradigma
Barreiras Tecnológicas
Conclusão
Introdução
• Novo paradigma de comunicação.
• Programas que podem migrar entre
computadores de uma rede durante a sua
execução, carregando consigo o seu estado
de execução.
RPC vs Agentes Móveis
• Chamada de Procedimentos Remotos (RPC)
– A comunicação é feita computador à
computador, onde um cliente chama
procedimentos em um servidor.
RPC vs Agentes Móveis
• Agentes Móveis
– Usa programação remota (RP), na qual um
programa além de poder fazer chamadas de
procedimentos em outro computador, também
pode executar seus procedimentos sobre outro
computador.
RPC vs Agentes Móveis
• A RP tem uma importante vantagem sobre
o RPC.
– Quantitativa e Tática
• Performance
– Qualitativa e Estratégica
• Personalização
Aplicações
1 - Shopping
– O agente tem a tarefa de procurar um
determinado produto em várias lojas virtuais,
segundo critérios pré-estabelecidos,
eventualmente negociar e comprar ou
encomendar o produto escolhido.
Aplicações
2 - Primeiro Encontro
– O agente tem a tarefa de escolher um restaurante,
reservar uma mesa para dois, procurar um espetáculo
(próximo ao restaurante), comprar ingressos e
encomendar um buquê de flores para o dia seguinte.
Aplicações
• Monitor Financeiro
– Um conjunto de agentes monitora as principais
bolsas de valores no mundo para ativar
transações nas bolsas de valores locais.
Emprego dos Agentes Móveis
• Executar tarefas complexas ou tediosas (ex.
busca de informação na rede).
• Representar pessoas ou organizações,
incorporando as suas autoridades.
• Executar autonomamente durante um longo
período de tempo (dias-meses).
• Ser ativados de um computador móvel e
retornar ao mesmo na próxima conexão.
Emprego dos Agentes Móveis
(Cont.)
• Ser usados em redes com conexões
instáveis ou com pequena largura de banda.
• Interagir com outros agentes de outros
usuários.
• Acessar recursos e dados em máquinas
remotas.
• Monitorar o estado de um sistema ou de
uma base de dados.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Lugar (Contexto)
– É o ambiente lógico de execução de agentes,
que disponibiliza um conjunto de serviços
(recursos). Tem atributos como identidade e
autoridade.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Agente
– Consiste de (Código + Estado), tem atributos
como identidade, localização, autoridade e
permissões, podendo ser estacionário ou móvel.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Deslocamento
– É a transferência de um agente de um lugar
para outro, que só ocorre se o agente está
autorizado a visitar o destino.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Encontro
– É a interação direta entre dois ou mais agentes,
geralmente posicionados em um mesmo lugar.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Conexão
– Permite que agentes em diferentes
computadores se comuniquem.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Autoridade
– É a identidade da pessoa ou empresa que o
agente ou o lugar representa. Autoridade e
identificação servem como base para a
autenticação e autorização.
Paradigma de Agentes Móveis
(Principais Conceitos)
• Permissões
– Determinam quais operações podem ser
executadas por agentes e lugares, como
também, a quantidade máxima de recursos que
podem ser usados.
Principais Componentes dos
Agentes Móveis
• Linguagem para Programação dos Agentes
• Sistema do Agente
• Protocolo de Transporte de Agentes
Linguagem para Programação
dos Agentes
• Permite aos desenvolvedores dos agentes
definir o algoritmo que o agente executa e a
informação que ele carrega através do seu
deslocamento pela rede.
Linguagem para Programação
dos Agentes
• Características Desejáveis:
–
–
–
–
–
–
Completa
Orientada a Objetos
Dinâmica
Persistente
Portável e Segura
Centrada na Comunicação
Sistema do Agente
• É o software que provê a máquina virtual
para a linguagem de programação dos
agentes, e que gerencia a execução dos
agentes e lugares.
Protocolo de Transporte de
Agentes
• Determina como os agentes são codificados
e transferidos entre servidores.
Ações Sobre Agentes
• As seguintes ações podem ocorrer ao longo
da vida de um agente:
– Create: o agente nasce, seu estado é
inicializado.
– Clone: um clone de um agente é criado com o
mesmo estado do original.
– Dispatch: um agente é remetido para outra
máquina.
– Retract: um agente é chamado de volta ao seu
lugar de origem.
Ações Sobre Agentes (cont.)
– Deactivate: a execução do agente é congelada e
seu estado é armazenado.
– Activate: a execução do agente é iniciada ou
retomada.
– Dispose: o agente é destruído e os seus
recursos liberados.
Barreiras Tecnológicas
• Performance
• Portablidade e Padronização
• Segurança
Barreiras Tecnológicas
(Performance)
•Agentes móveis são escritos em linguagens
interpretadas
•Agentes que fazem poucas operações
sobrecarregam o tráfego
Barreiras Tecnológicas
(Portabilidade e Padronização)
•Garantia de Portabilidade entre diferentes sistemas
exige um grande esforço de padronização
•Padronização:
•Ambiente de Execução
•Formato do Código e do Estado dos Agentes
Segurança
• Dois principais problemas em agentes
móveis.
– Protegendo hosts de agentes maliciosos.
– Protegendo agentes de hosts maliciosos.
Protegendo hosts de agentes
maliciosos.
• Autenticação do agente móvel pelo
servidor.
• Autorizar o Agente Móvel à realizar
determinadas operações.
• Detecção de vírus, verificação do código do
agente não é suficiente.
Protegendo agentes de hosts
maliciosos.
• Definição do Problema
– Agente Móvel para Compras (AMC)
Geber quer comprar o livro Artificial
Intelligence. Então ele envia um AMC para
visitar os servidores de algumas livrarias.
• Cenário da Busca de Informação
– O AMC deve encontrar o melhor preço do
livro e realizar a compra para Geber.
Possíveis Ameaças
• Ataque por Espionagem
– Limite de Preço configurado por Geber.
– Número do cartão de crédito.
– Oferta dos Competidores.
• Ataque por Manipulação
– Base de Dados do Agente
– Manipulando dados e programa.
O Problema Fundamental da
Proteção de Agentes.
• Detecção de Ataques
– Aplicação da lei é difícil, lenta e cara.
– Quebra da privacidade não pode ser tolerada.
• Prevenção de Ataques
– Prevenção é melhor do que Detecção.
Prevenindo Ataques
• Dados e Programas podem ser lidos,
mudados e manipulados indevidamente.
• Existem várias técnicas para proteger os
Agentes Móveis.
• Criptografia
– Dados e Programas podem ser criptografados
evitando assim, que sejam manipulados
indevidamente.
Tecnologias
• Baseados em Java:
–
–
–
–
–
–
Aglet Softw. Development Kit (IBM)
Concordia (Mitsubishi)
Cyber Agents (FTP Software)
Internet System Environment (OSF)
Sumatra (UMCP)
Odyssey (General Magic)
Tecnologias
• Baseados em outras linguagens:
–
–
–
–
–
–
–
–
Agent Tcl (Dartmouth)
April (Fujitsu)
Clearlake (Guideware)
MO (Univ. Geneva)
Obliq (DEC SRC)
Tacoma (Tromsø & Cornell Univ.)
Telescript (General Magic)
Wave ( Univ. Surrey)
Questões
• A mobilidade é IA ou SD/ES?
• Porque são chamados de agentes?
• Só se tirará proveito completo da mobilidade com
agentes autônomos?
• É possível autonomia sem inteligência?
• Agentes móveis abrirão novos horizontes de
aplicação em IA?
Referências
• J. White: Mobile Agents White Paper, General
Magic,1996.
(www.genmagic.com/agents/whitepaper/whitepaper.html).
• David Kotz and Robert S. Gray, Mobile Code: The
Future of the Internet; “Mobile Agents in the Context
of Competition e Cooperation (MAC3)”, 1999.
(ftp.cs.dartmouth.edu/pub/kotz/papers/kotz:future.ps.Z).
Download

Agentes Móveis - Centro de Informática da UFPE