Guilherme Conde gabc@di.ufe.br Agentes Móveis Guilherme Conde gabc@di.ufe.br.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Sistemas Distribuídos
1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Arquitetura de Computadores
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
CARACTERIZAÇÃO E IMPLEMENTAÇÃO DE MECANISMOS DE RESILIÊNCIA A ATAQUES Alex Borges Outubro de
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
ANÁLISE DE SOFTWARES APLICÁVEIS A UNIDADES E SERVIÇOS DE INFORMAÇÃO
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Sistemas Distribuídos
Excel Profa. Cristina M. Nunes.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Conceitos Relacionados a Internet
Introdução à Informática
PERSPECTIVA CONCEITUAL
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Interação Cliente Servidor
DNS Introdução.
Gibeon Soares de Aquino
Agentes Móveis Marcelo Bezerra dAmorim Sumário n Motivação n Introdução ao Paradigma de Agentes Móveis n Vantagens n Conceitos de Agentes Móveis n Tecnologias.
Estudo de Caso 1: UNIX e LINUX
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Estruturas de Controle
Aula 2 Aspectos Preliminares
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aula 10 Manipulação de Exceções
GERENCIAMENTO DE REDES
HellermannTyton Brasil Sistema de Gerenciamento Integrado HellermannTyton Brasil Sistema de Gerenciamento Integrado Alexandre Martins Consultor de Negócios.
34 © 2004 by Pearson Education Liquidez Liquidez é um conceito econômico que considera a facilidade com que um ativo pode ser convertido no meio de troca.
Ambientes Virtuais de Aprendizagem
Mobilidade Cláudia Ribeiro.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Técnica de Contagem.
Provas de Concursos Anteriores
Monitoramento de logs e registros de sistemas
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
PROGRAMAÇÃO I UNIDADE 1.
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Cinemática Plana de um Corpo Rígido Cap. 16
Object Oriented Software Construction (MEYER, Bertrand)
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Estruturas de Dados com Jogos
Coordenação Geral de Ensino da Faculdade
Trabalho realizado por
Web Services Uninorte Semana de Tecnologia da Informação
Sistemas Operacionais
É u m e l e m e n t o f u n d a m e n t a l
EMPREENDEDORES EM AÇÃO PROF. NILSON R. FARIA Colégio Wilson Joffre.
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Gerenciamento de Redes Utilizando Agentes Móveis
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Máquina de Turing Universal
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Caminhos da Cana Relatório e show de imagens Marcos Fava Neves Prof. FEA/USP Ribeirão Preto Purdue University (2013)
Segurança e Auditoria de Sistemas
Arquiteturas de Gerenciamento
Segurança e Auditoria de Sistemas
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

Guilherme Conde gabc@di.ufe.br Agentes Móveis Guilherme Conde gabc@di.ufe.br

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)

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.

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.

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.

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

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.

O Modelo de Agentes (Principais Conceitos) Consiste de (Código + Estado), tem atributos como identidade, localização, autoridade e permissões, podendo ser estacionário ou móvel.

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.

O Modelo de Agentes (Principais Conceitos) Encontro É a interação direta entre dois ou mais agentes, geralmente posicionados em um mesmo lugar.

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.

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.

Visão Geral O Exemplo do Primeiro Encontro

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.

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.

Principais Componentes dos Agentes Móveis (cont.) Protocolo de Transporte de Agentes Determina como os agentes são codificados e transferidos entre servidores.

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.

Exemplo Monitor Financeiro Um conjunto de agentes monitora as principais bolsas de valores no mundo para ativar transações nas bolsas de valores locais.

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

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.

Possíveis Ameaças Ataque por Espionagem Ataque por Manipulação Limite de Preço configurado por FHC. 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.

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

Criptografia Cont. f E(f) P(f) P(E(f))

Criptografia Cont. FHC Jader f(x) E(f)(x) P(f(x)) P(E(f ))(x)

Tecnologias Critérios para escolha 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

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)

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

Telescript (cont.) Linguagem (Telescript Language) Comandos Básicos Completa OO Dinâmica Persistente Portável e Segura Comandos Básicos go, travel, meet, connection, name, permit

Telescript (cont.) Engine Storage API Transport API External Application API Lugares e Agentes Telescript Engine APIs Aplicações Externas Transporte Armazenamento

Telescript (cont.) Protocolo TCP/IP X.25 SMTP Telescript Engine APIs Lugares e Agentes Telescript Engine APIs Aplicações Externas Agente de Codificação Agente de Transporte Armazenamento

Agent TCL Linguagem - Tcl (interpretada) Comandos básicos 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

Agent TCL (cont.) Engine - status, migrations, communication e nonvolatile store Protocolo - TCP/IP

Agent TCL (cont.) Arquitetura TCL Agentes Tcl ... Java Server or Engine TCP/IP SMTP Inter- preter Security State caputure API Server

ARA Linguagem Agentes são programados em uma linguagem interpretada e executados através de um interpretador. (Tcl e C/C++) Agente C Interpretador C Agente A ARA CORE

Ara Engine ARA Core Protocolo TCP AX.25

Sistema Operacional do Servidor ARA (cont.) Arquitetura Agente B Processo do Sistema Agente A Interpretador A Interpretador B Processo ARA ARA Core Sistema Operacional do Servidor

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?

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.

FIM !