agentes móveis gibeon soares de aquino lauro didier lins

Post on 17-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

• Monitor Financeiro– Um conjunto de agentes monitora as principais

bolsas de valores no mundo para ativar transações nas bolsas de valores locais.

Aplicações

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.

• 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.

Paradigma de Agentes Móveis(Principais Conceitos)

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.

• Performance

• Portablidade e Padronização

• Segurança

Barreiras Tecnológicas

•Agentes móveis são escritos em linguagens interpretadas

•Agentes que fazem poucas operações sobrecarregam o tráfego

Barreiras Tecnológicas(Performance)

•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

Barreiras Tecnológicas(Portabilidade e Padronização)

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).

top related