1 Agentes Mveis Guilherme Conde gabcdi ufe br
1 Agentes Móveis Guilherme Conde gabc@di. ufe. br
2 Agentes Móveis ÄConteúdo Ø Conceito Ø RPC vs Agentes Móveis Ø Modelo de Agentes Ø Ações sobre Agentes Ø Principais Componentes dos Agentes Ø Emprego dos Agentes Móveis Ø Segurança Ø Aglets (Prática no Laboratório)
3 Exemplos 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.
4 Exemplos 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.
5 Conceito Ä São programas que podem migrar entre computadores de uma rede durante a sua execução, carregando consigo o seu estado de execução.
6 RPC vs Agentes Móveis Ä Chamada de Procedimentos Remotos (RPC) Ø A comunicação é feita computador à computador, onde um cliente chama procedimentos em um servidor.
7 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.
8 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
9 O Modelo de Agentes (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.
10 O Modelo de Agentes (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.
11 O Modelo de Agentes (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.
12 O Modelo de Agentes (Principais Conceitos) Ä Encontro Ø É a interação direta entre dois ou mais agentes, geralmente posicionados em um mesmo lugar.
13 O Modelo de Agentes (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.
14 O Modelo de Agentes (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.
15 Visão Geral Ä O Exemplo do Primeiro Encontro
16 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.
17 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.
18 Principais Componentes dos Agentes Móveis Ä 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.
Principais Componentes dos Agentes Móveis (cont. ) Ä 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. 19
Principais Componentes dos Agentes Móveis (cont. ) Ä Protocolo de Transporte de Agentes Ø Determina como os agentes são codificados e transferidos entre servidores. 20
21 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.
22 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.
23 Exemplo Ä Monitor Financeiro Ø Um conjunto de agentes monitora as principais bolsas de valores no mundo para ativar transações nas bolsas de valores locais.
24 Segurança Ä Dois principais problemas em agentes móveis. ØProtegendo hosts de agentes maliciosos. ØProtegendo agentes de hosts maliciosos.
25 Protegendo agentes de hosts maliciosos. Ä Definição do Problema Ø Agente Móvel para Viagens (AMV) FHC quer viajar de Recife para Belém no próximo Domingo. Então ele envia um AMV para visitar os servidores de algumas companhias aéreas. Ä Cenário da Busca de Informação Ø O AMV deve encontrar o melhor preço e retorna-lo para o FHC.
26 Possíveis Ameaças Ä Ataque por Espionagem Ø Limite de Preço configurado por FHC. Ø Oferta dos Competidores. Ä Ataque por Manipulação Ø Base de Dados do Agente Ø Manipulando dados e programa.
27 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.
28 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.
29 Criptografia Ä Computação com funções criptografadas. Ä Notação: Ø Função f Ø Programa P que implementa f : P( f ) Ø Função Criptografada E( f ) Ø Programa que implementa E( f ): P (E( f ))
30 Criptografia Cont. f E(f) P(E(f))
31 Criptografia Cont. FHC Jader f(x) E(f)(x) P(f(x)) P(E(f ))(x)
32 Tecnologias Ä Plataforma que fornece aos agentes a capacidade de mover-se livre e facilmente sem afetar sua execução, utilizando várias L. P. , em ambientes heterogêneos e de forma segura. Ä Critérios para escolha Ø Linguagem Ø Protocolo Ø Portabilidade Ø Segurança
33 Tecnologias Ä Baseados em Java: Ø Aglet Softw. Development Kit (IBM) Ø Concordia (Mitsubishi) Ø Cyber Agents (FTP Software) Ø Internet System Environment (OSF) Ø Sumatra (UMCP) Ø Odyssey (General Magic)
34 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)
35 Telescript Ä Primeira e mais difundida Ä Provê um modo automático e interativo para acesso a uma rede de computadores usando agentes móveis Ä Foco comercial - Comércio Eletrônico
36 Telescript (cont. ) Ä Linguagem (Telescript Language) Ø Completa Ø OO Ø Dinâmica Ø Persistente Ø Portável e Segura Ä Comandos Básicos Ø go, travel, meet, connection, name, permit
37 Telescript (cont. ) ÄEngine Lugares e Agentes ØStorage API ØTransport API ØExternal Application API Telescript Engine APIs Aplicações Externas Transporte Armazenamento
38 Telescript (cont. ) ÄProtocolo Lugares e Agentes ØTCP/IP ØX. 25 ØSMTP Telescript Engine Agente de Codificação APIs Aplicações Externas Agente de Transporte Armazenamento
39 Agent TCL Ä Linguagem - Tcl (interpretada) Ø Scripts de alto nível Ä Comandos básicos Ø begin, submit, jump, send, receive, meet, accept e end. Ä Características Principais Ø Linguagem flexível e que suporta extensões Ø Indicada para aplicações pequenas e médias Ø Contra indicada para aplicações que exigem classificação de grandes volumes de dados numéricos
40 Agent TCL (cont. ) ÄEngine - status, migrations, communication e nonvolatile store ÄProtocolo - TCP/IP
41 Agent TCL (cont. ) ÄArquitetura TCL Agentes Interpreter Tcl State caputure Security API Server . . . Java Server or Engine TCP/IP . . . SMTP
42 ARA ÄLinguagem ØAgentes são programados em uma linguagem interpretada e executados através de um interpretador. (Tcl e C/C++) Agente C Agente A Interpretador C ARA CORE
43 Ara ÄEngine ØARA Core ÄProtocolo ØTCP ØAX. 25
44 ARA (cont. ) ÄArquitetura Processo do Sistema Agente B Agente A Interpretador A ARA Core Sistema Operacional do Servidor Interpretador B Processo ARA
45 Questões Ä A mobilidade é IA ou SD/ES? Onde está a inteligência? Ä Porque são chamados de agentes? Ä A agenda da pesquisa em agentes móveis está centrada em mobilidade, segurança, . . . Ä 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?
46 Referências Ä C. Harrison, et al: Mobile Agents: Are they a good idea ? , IBM Research Report, 1995. Ä J. White: Mobile Agents White Paper, General Magic, 1996. (www. genmagic. com/agents/whitepaper. ht ml). Ä M. Endler: Novos Paradigmas de Interação usando Agentes Móveis, SBRC, 1996. Ä T. Sander: Security! or “ How to Avoid to Breath Life in Frankensteins Monster”, ICSI-Berkeley, 1997. Ä T. Sander: On the Cryptographic Protection of Mobile Code, ICSI-Berkeley, 1997. Ä S. Bennet: A Sanctuary for Mobile Agents, 1997.
47 FIM !
- Slides: 47