1 agentes móveis guilherme conde [email protected]. 2 agentes móveis conteúdo conceito rpc vs...

47
1 Agentes Móveis Guilherme Conde [email protected]

Upload: internet

Post on 17-Apr-2015

119 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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

1

Agentes Móveis

Guilherme Conde [email protected]

Page 2: 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

2

Agentes MóveisConteú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)

Page 3: 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

3

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

Page 4: 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

4

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

Page 5: 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

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.

Page 6: 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

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.

Page 7: 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

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.

Page 8: 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

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

Page 9: 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

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.

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

12

O Modelo de Agentes(Principais Conceitos)

Encontro É a interação direta entre dois ou mais agentes,

geralmente posicionados em um mesmo lugar.

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

15

Visão Geral

O Exemplo do Primeiro Encontro

Page 16: 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

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.

Page 17: 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

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.

Page 18: 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

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.

Page 19: 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

19

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.

Page 20: 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

20

Principais Componentes dos Agentes Móveis (cont.)

Protocolo de Transporte de Agentes Determina como os agentes são codificados e

transferidos entre servidores.

Page 21: 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

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.

Page 22: 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

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.

Page 23: 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

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.

Page 24: 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

24

Segurança

Dois principais problemas em agentes móveis.Protegendo hosts de agentes maliciosos.Protegendo agentes de hosts maliciosos.

Page 25: 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

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.

Page 26: 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

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.

Page 27: 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

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.

Page 28: 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

28

Prevenindo Ataques

Dados e Programas podem ser lidos, mudados e manipulados indevidamente.

Existem várias técnicas para proteger os Agentes Móveis.

CriptografiaDados e Programas podem ser criptografados

evitando assim, que sejam manipulados indevidamente.

Page 29: 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

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

Page 30: 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

30

Criptografia Cont.

f E(f)

P(E(f))P(f)

Page 31: 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

31

Criptografia Cont.

f(x) E(f)(x)

P(E(f ))(x)P(f(x))

JaderFHC

Page 32: 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

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 escolhaLinguagemProtocoloPortabilidadeSegurança

Page 33: 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

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)

Page 34: 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

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)

Page 35: 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

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

Page 36: 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

36

Telescript (cont.)

Linguagem (Telescript Language)CompletaOODinâmicaPersistentePortável e Segura

Comandos Básicosgo, travel, meet, connection, name, permit

Page 37: 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

37

Telescript (cont.)

EngineStorage APITransport APIExternal

Application API

Armazenamento

Lugares e Agentes

Telescript Engine

APIs

AplicaçõesExternas Transporte

Page 38: 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

38

Telescript (cont.)

ProtocoloTCP/IPX.25SMTP

Lugares e Agentes

Telescript Engine

APIs

AplicaçõesExternas

Armazenamento

Agente de Transporte

Agente de Codificação

Page 39: 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

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

Page 40: 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

40

Agent TCL (cont.)

Engine - status, migrations, communication e nonvolatile store

Protocolo - TCP/IP

Page 41: 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

41

Agent TCL (cont.)

Arquitetura TCLAgentes

Tcl ... Java

Server or Engine

TCP/IP ... SMTP

Inter-preter

APIServer

Security Statecaputure

Page 42: 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

42

ARA

LinguagemAgentes são programados em uma linguagem

interpretada e executados através de um interpretador. (Tcl e C/C++)

ARA COREARA CORE

Agente AInterpretador CInterpretador C

Agente C

Page 43: 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

43

Ara

EngineARA Core

ProtocoloTCPAX.25

Page 44: 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

44

ARA (cont.)

Arquitetura

Sistema Operacional do ServidorSistema Operacional do Servidor

ARA CoreARA Core

Processo do Sistema

Processo do Sistema

Agente A

Interpretador A Interpretador B

Agente B

ProcessoARA

Page 45: 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

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?

Page 46: 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

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/whitepaper.html). 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.

Page 47: 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

47

FIM !