A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes Móveis Instituto Superior Técnico Introdução aos

Apresentações semelhantes


Apresentação em tema: "Agentes Móveis Instituto Superior Técnico Introdução aos"— Transcrição da apresentação:

1 Agentes Móveis Instituto Superior Técnico Introdução aos
Agentes Autónomos Agentes Móveis Pedro António, M5157 2002/2003 Introdução aos Agentes Autónomos Agentes Móveis

2 Paradigma dos Agentes Móveis
O conceito de agentes móveis surgiu de uma análise crítica de como os computadores comunicam desde o final da década de 70. Abordagem actual Organização central = RPC (remote procedure calling) O paradigma RPC considera a comunicação entre computadores do seguinte modo: um computador efectua uma chamada a um procedimento existente noutro computador. Pedidos = argumentos dos procedimentos Resposta = resultado do procedimento Protocolo = concordância sobre os tipos dos argumentos e resultados. “ongoing interaction requires ongoing communication” Introdução aos Agentes Autónomos Agentes Móveis

3 Paradigma dos Agentes Móveis
Exemplo 1 Apagar ficheiros num servidor ficheiros com mais de 2 meses O utilizador tem de efectuar: 1 chamada para ver os nomes e as datas dos ficheiros. 1 chamada para apagar cada ficheiro. A decisão de apagar, ou não, é realizado no computador do utilizador. Introdução aos Agentes Autónomos Agentes Móveis

4 Paradigma dos Agentes Móveis
Abordagem nova Alternativa ao RPC é a programação remota (RP) O paradigma RP considera a comunicação entre computadores do seguinte modo: permite que um computador efectue chamadas a procedimentos existentes noutros computador e fornece, também, os procedimentos a executar. Mensagens = procedimento que o computador remoto recebe para executá-lo + argumentos do procedimento O procedimento é iniciado no computador emissor e é continuado pelo computador receptor. Dados = estado actual Introdução aos Agentes Autónomos Agentes Móveis

5 Paradigma dos Agentes Móveis
Abordagem nova (Cont.) Concordância sobre as instruções permitidas num procedimento e os tipos de dados permitidos. Linguagem com instruções que permitem aos procedimentos efectuar: Decisões Analises e modificações do estado Chamadas a procedimentos do computador remoto AGENTE MÓVEL = procedimento + estado Representação do computador emissor no computador receptor “ongoing interaction does not requires ongoing communication” Introdução aos Agentes Autónomos Agentes Móveis

6 Paradigma dos Agentes Móveis
Exemplo 2 Um utilizador com “trabalho” para ser acompanhado por um servidor, envia um agente para esse servidor cujo procedimento efectua (no servidor) os pedidos (apagar) com base no estado (mais de 2 meses). Apagar os ficheiros, neste exemplo, apenas necessita da mensagem que transporta o agente. O agente (não o computador) efectua o “trabalho”, decidindo “on-site” quais os ficheiros a apagar. Introdução aos Agentes Autónomos Agentes Móveis

7 Paradigma dos Agentes Móveis
Vantagens técnicas Desempenho Em vez de enviar vários comandos pela rede, enviar um agente para o servidor e realizar as tarefas localmente. A rede deve ser utilizada para transportar poucas mensagens. Quanto maior o número de tarefas a realizar, maior o número de mensagens que não são enviadas (utilizando a RP). A vantagem da RP depende da rede. Quanto menor a disponibilidade e o fluxo de dados Quanto maior a latência e os custos Maior a vantagem da RP Rede pública telefónica; Redes wireless RP é aconselhável quando as redes são lentas e caras (comunicações pessoais – linhas não dedicadas). Delegar tarefas a um agente. Introdução aos Agentes Autónomos Agentes Móveis

8 Paradigma dos Agentes Móveis
Vantagens estratégicas Personalização (customization) Os agentes permitem aos fabricantes de software utilizador alargar as funcionalidades oferecidas pelos fabricantes de software servidor. Personalizar servidores para utilizadores particulares. O paradigma da RP: Altera a divisão de tarefas entre software de diversos fabricantes Facilita a instalação do software destes fabricantes Os componentes servidor de uma aplicação RPC devem ser instalados estaticamente pelo utilizador. Os componentes servidor de uma aplicação RP devem ser instalados dinamicamente pelo utilizador. Cada componente é um agente. Introdução aos Agentes Autónomos Agentes Móveis

9 Paradigma dos Agentes Móveis
Porquê os agentes móveis? Cada vez maior heterogeneidade das redes, tanto de software como de hardware Computadores não permanentemente ligados à rede Pesquisa de grande quantidade de informação ao longo da rede, por exemplo na Internet Auxílio em tomadas de decisões baseadas em grandes quantidades de informação Utilizadores delegam para os programas tarefas complicadas e daí esperam obter resultados fiáveis Introdução aos Agentes Autónomos Agentes Móveis

10 Paradigma dos Agentes Móveis
Proveito a tirar dos agentes móveis Libertação do utilizador para executar outras tarefas Executam trabalhos por longos períodos de tempo, sem necessidade do utilizador estar ligado à rede Esta ausência de ligação à rede permite o suporte para utilizadores não permanentes (portáteis ou ligações por modem) Úteis em comunicações com baixo Bit Rate Interagem com outros agentes ou utilizadores, poupando tempo nas pesquisas Pesquisa selectiva da informação, por exemplo segundo um perfil de utilizador Notificação da alteração de um sistema Introdução aos Agentes Autónomos Agentes Móveis

11 Paradigma dos Agentes Móveis
Desvantagens dos agentes móveis Os agentes móveis necessitam de um ambiente de execução altamente seguro devido à sua mobilidade e à sua autonomia, exigindo portanto mecanismos de elevada protecção contra vírus. Requerem um elevado número de mecanismos de segurança com grande complexidade: a sua eficiência e desempenho saem prejudicados. Devem oferecer elevada eficiência devido à existência de paradigmas paralelos que podem executar as mesmas funções, tal como os RPCs. Introdução aos Agentes Autónomos Agentes Móveis

12 Introdução aos Agentes Autónomos
Conceitos A primeira implementação comercial de agentes móveis foi o Telescript technologyTM da General Magic. Permite acesso autónomo e interactivo a uma rede de computadores, através de agentes móveis. Objectivo comercial = Mercado Electrónico Uma rede pública que permite aos fornecedores e aos consumidores de bens e serviços utilizarem outro modo de efectuar transações electrónicas. A tecnologia Telescript implementa os seguintes conceitos: Locais (places) Agentes (agents) Deslocamento (travel) Encontros (meetings) Ligações (connections) Autoridades (authorities) Permissões (permits) Introdução aos Agentes Autónomos Agentes Móveis

13 Conceitos Locais Rede de computadores = conjunto de locais
Um local oferece um serviço aos agentes móveis que entram nesse local. Comércio electrónico = Centro Comercial Electrónico Informações – onde o agente móvel pode obter informação em relação a todos os locais do centro comercial Belheteira – local onde o agente móvel pode comprar bilhetes (teatro, etc.) Florista – local onde o agente móvel pode efectuar ordens de compra de flores A rede pode conter vários centros comerciais independentes Servidores oferecem alguns locais; Computadores dos utilizadores oferecem outros (ponto de partida e retorno dos agentes enviados para os locais nos servidores) Centro Comercial Electrónico Informações Bilheteira Florista Aplicação Shopping Rede Introdução aos Agentes Autónomos Agentes Móveis

14 Conceitos Agentes Conjunto de agentes
Cada agente ocupa um local específico, mas pode mover-se de um local para outro (ocupando locais diferentes em tempos diferentes). No centro comercial electrónico, cada local é ocupado permanentemente por um agente distinto. Onde cada um destes agentes representa o local e oferece um determinado serviço. Informações – informação em relação aos outros locais e como lá chegar Bilheteira – informação de eventos e venda de bilhetes Florista – informação de arranjos de flores e entregas Centro Comercial Electrónico Informações Bilheteira Florista Aplicação Shopping Rede Introdução aos Agentes Autónomos Agentes Móveis

15 Conceitos Deslocamento
Permite que um agente se desloque de um local para outro. O deslocamento de um agente permite a esse agente obter um serviço oferecido remotamente e depois retorne para o seu local de origem. Por exemplo, o download de programas de um servidor de ficheiros numa rede faz-se à mais de 20 anos. Mover programas enquanto eles se executam... Um agente pode mover-se de local para local porque a linguagem em que foi programado o permite. O agente decide quando é que se transpostra. Linguagem Telescript (instrução go, necessita de um ticket) Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

16 Conceitos Encontros Um encontro permite aos agentes, no mesmo computador, efectuar chamadas aos procedimentos dos outros. Os encontros são o que motivam os deslocamentos dos agentes. Linguagem Telescript (instrução meet, necessita de uma petition – qual o agente a encontrar e outra informação relacionada) Troca de informação e efectuar as transacções. Bla, bla, bla Bla, bla, bla Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

17 Conceitos Ligações Permite que dois agentes em locais diferentes estabeleçam uma ligação entre eles. Permite a comunicação de agentes em computadores diferentes. O agente que foi à procura de bilhetes de cinema, pode enviar a um agente no computador do utilizador um diagrama da sala com os lugares disponíveis. Bla, bla, bla Bla, bla, bla Bla, bla, bla Bla, bla, bla Centro Comercial Electrónico Aplicação Shopping Rede Informações Bilheteira Florista Introdução aos Agentes Autónomos Agentes Móveis

18 Conceitos Autoridades
Um agente ou um local pode saber qual a autoridade de um outro agente. Controlo do acesso aos serviços. O Telescript verifica a autoridade de um agente quando ele se desloca de uma região da rede para outra. Uma região é um conjunto de locais onde operam sob a mesma autoridade. Se um agente não tem autoridade para entrar numa dada região é negado o acesso a esta região. Linguagem Telescript (instrução name, resulta num telename – identidade e autoridade do agente) Prevenção de vírus. Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

19 Conceitos Permissões As autoridades limitam o que os agentes e os locais podem fazer através da atribuição de permissões. Permissão de executar instruções (criar outros agentes) Permissão de utilizar um recurso (tempo de vida do agente, tamanho, etc.) Linguagem Telescript (instrução permit) Proteger as autoridades de agentes maliciosos. Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

20 Conceitos Mobilidade do agente
O deslocamento de um agente não se restringe a uma simples ida e volta. O agente pode deslocar-se entre locais sucessivamente (serviços compostos). Agente : Comprar bilhete para ir ao cinema e comprar flores para entregar antes do cinema. Sim, senhor. Um bilhete para o Senhor dos Anéis. Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

21 Conceitos Mobilidade do agente
O deslocamento de um agente não se restringe a uma simples ida e volta. O agente pode deslocar-se entre locais sucessivamente (serviços compostos). Agente : Comprar bilhete para ir ao cinema e comprar flores para entregar antes do cinema. Uma flor murcha, por favor. Sim, senhor. Centro Comercial Electrónico Rede Informações Bilheteira Florista Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

22 Introdução aos Agentes Autónomos
Tecnologia A tecnologia Telescript implementa os conceitos mencionados anteriormente. Componentes: Linguagem de programação dos agentes e locais Motor ou interpretador Protocolos de comunicação Introdução aos Agentes Autónomos Agentes Móveis

23 Introdução aos Agentes Autónomos
Tecnologia Linguagem Permite aos programadores de aplicações de comunicação definir os algoritmos que os agentes seguem e a informação transportada pelos agentes na rede. Telescript, C e C++ Telescript, facilita o desenvolvimento de aplicações com comunicação: Completo (exprimir qualquer algoritmos) Orientada a objectos (classes, heranças, classes gerais definidas pela linguagem, classes específicas) Dinâmica (a classe é transportada para outro computador) Persistente (informação armazenada em memória não volátil) Portável e seguro (o agente é executado no motor, ajuda a prevenir vírus) Comunicação (ultrapassa problemas complexos de tarefas de rede) Programadores = alto nível Motores = baixo nível COMPILADOR Introdução aos Agentes Autónomos Agentes Móveis

24 Introdução aos Agentes Autónomos
Tecnologia Motor É um programa de software que implementa a linguagem Telescript, mantendo e executando locais e os agentes que os ocupam. Num computador do utilizador pode hospedar alguns locais e alguns agentes. Num servidor pode hospedar milhares. 3 API: Armazenamento – acesso a memória não volátil (falha do computador) Transporte – acesso ao meio de comunicação, transportar agentes entre motores. Aplicações externas – interacção entre o Telescript e o C. Agentes e Locais MOTOR TELESCRIPT Armaz. Transp. Apl. Externas Introdução aos Agentes Autónomos Agentes Móveis

25 Introdução aos Agentes Autónomos
Tecnologia Protocolos Permite estabelecer a comunicação entre dois motores. Instrução go Variedade de redes de transporte TCP/IP (Internet); X.25 (interface das companhias telefónicas); Correio electrónico Os protocolos Telescript operam em 2 níveis O nível mais baixo gere o transporte de agentes O nível mais alto a codificação/descodificação Encoding rules (procedimento e estado do agente) Plataform interconnect protocol (autenticação entre 2 motores e transferência de agentes) Agentes e Locais MOTOR TELESCRIPT Codificação do agente Armaz. Transp. Apl. Externas Introdução aos Agentes Autónomos Agentes Móveis Transporte do agente

26 Modelo de Objectos Telescript
Estrutura do objecto Tudo é tratado como um objecto. Um objecto possui uma interface externa e uma implementação interna. Interface do objecto Atributos – características externas visíveis Públicos/Privados Operações – tarefas que o objecto realiza Públicas/Privadas Argumentos Resultado da operação com valor de retorno/Gerar excepções Implementação do objecto Propriedade – consiste no estado dinâmico do objecto, apenas pode ver e alterar as suas propriedades (não a dos outros objectos) Método – procedimento que realiza operações ou acede/altera os atributos Variáveis – estado dinâmico do método Introdução aos Agentes Autónomos Agentes Móveis

27 Modelo de Objectos Telescript
Classificação do objecto Tal como outra linguagem OO, o Telescript utiliza classes: Uma classe é uma interface do objecto combinada com a implementação do objecto. Um objecto é uma instância dessa classe. Classes definidas pelo utilizador – o Telescript permite ao programador definir a aplicação de comunicação através de classe. Classes pré-definidas – o Telescript oferece um conjunto de classes que são utilizadas em todas as aplicações. Classe Object (root class), Dictionary, Event, Agents, etc. Outros conceitos: superclass; subclass; herança; overriding Operação de inicialização – novo objecto Introdução aos Agentes Autónomos Agentes Móveis

28 Modelo de Objectos Telescript
Manipulação do objecto A linguagem Telescript necessita que um método possua referências dos objectos que manipula. As referências podem ser replicadas, podendo existir várias referências para um mesmo objecto. Um método recebe: Referências dos objectos que cria Argumentos das operações que implementa Resultados das operações que requisita Referências protegidas/desprotegidas Um método não pode alterar um objecto cuja referência seja protegida. Introdução aos Agentes Autónomos Agentes Móveis

29 Programação de um Local
Um agente da aplicação de shopping, trabalha para um cliente: O agente desloca-se para o local do armazém Verifica o preço do produto que interessa ao cliente Aguarda o tempo necessário que o preço desça para o valor especificado pelo cliente Retorna ao cliente quando o preço atingir o nível desejado ou quando expirar um determinado período de tempo especificado São necessárias 3 classes para implementar o armazém e as acções relacionadas: Entrada no catálogo; Armazém; Redução de preço O preço do Leitor de DVD desceu para €100! Centro Comercial Electrónico Informações Armazém Aplicação Shopping Rede Introdução aos Agentes Autónomos Agentes Móveis

30 Programação de um Local
Um agente da aplicação de shopping, trabalha para um cliente: O agente desloca-se para o local do armazém Verifica o preço do produto que interessa ao cliente Aguarda o tempo necessário que o preço desça para o valor especificado pelo cliente Retorna ao cliente quando o preço atingir o nível desejado ou quando expirar um determinado período de tempo especificado São necessárias 3 classes para implementar o armazém e as acções relacionadas: Entrada no catálogo; Armazém; Redução de preço O preço do Leitor de DVD desceu para €100! Centro Comercial Electrónico Informações Armazém Aplicação Shopping Rede Introdução aos Agentes Autónomos Agentes Móveis

31 Programação de um Local
Classe Entrada no catálogo Implementa cada entrada no catálogo do armazém Lista os produtos para venda do armazém Atributos (públicos): Produto Preço Operações (públicas): Inicializa – nova entrada no catálogo; argumentos produto e preço Ajusta Preço – alteração dos preços de um produto em catálogo; argumentos percentagem de desconto; gera uma excepção (referência protegida) Por exemplo, se o agente de shopping tentar modificar o preço de um produto, é gerada uma excepção pelo motor Telescript Propriedade: Trinco – recurso (região crítica; autoridade do local e do agente) Por exemplo, quando se muda o preço simultaneamente Introdução aos Agentes Autónomos Agentes Móveis

32 Programação de um Local
Classe Armazém Implementa o local do armazém Operações (públicas) Inicializa – inicializa a propriedade (catálogo) do novo local; argumento catálogo Vida do armazém – opera o armazém (ciclo infinito) Realiza operações sob autoridade Obter catálogo – obtém uma referência para o catálogo Agente de shopping obtém uma referência protegida Agente do armazém obtém uma referência desprotegida Propriedade Catálogo – Dicionário com o par produto/entrada no catálogo Classe Redução de preço Implementa os eventos do armazém para notificar os ocupantes da redução dos preços (subclasse da classe pré-definida Events) Aguarda início do mês Reduz os preços em 5% Todos: Preços reduzidos Introdução aos Agentes Autónomos Agentes Móveis

33 Programação de um Agente
O agente da aplicação de shopping é implementado por duas classes definidas pelo utilizador: Shopper; Produto Indisponível Classe Shopper Implementa um número qualquer de agentes de shopping. Subclasse de Agents e Event Process Propriedades: Nome do Cliente – criador do agente (telename) Produto Desejado Preço Desejado Preço Actual – do produto desejado Excepção – é gerada se a missão do agente falhar indicado pelo criador do agente Introdução aos Agentes Autónomos Agentes Móveis

34 Programação de um Agente
Classe Shopper Operações (públicas): Inicializa – inicializa 3 propriedades do agente (preço e produto desejados, nome do cliente); argumentos produto e preço desejados Vida do agente – operação de cada agente novo Encontro – encontro com outro agente Argumentos: agente, classe, petição Excepção se o encontro for impossível Obter Relatório – retorna o preço actual do produto desejado Excepção se falhar nesta missão e se não for o agente do cliente Operações (privadas) goShopping – leva o agente para o local do armazém Argumento: nome do armazém goHome – o agente retorna para o local de origem e inicia um encontro com o cliente. Argumentos: homeName, homeAddress Guarda homeName homeAddress Configura: Tempo e Computação goShopping goHome Introdução aos Agentes Autónomos Agentes Móveis

35 Programação de um Agente
Classe Shopper (Cont.) goShopping goHome Agente vai para o Armazém Liberta recursos (eventos) Verifica o Preço Actual do Produto Agente vai para o local de origem Preço Actual > Preço Desejado Encontro com o Cliente Retorna Actualiza Preço Actual Aguarda que o Cliente termine o encontro Introdução aos Agentes Autónomos Agentes Móveis

36 Programação de um Agente
Classe Produto Indisponível Implementa cada excepção com a qual o agente de shopping pode notificar o cliente que o armazém não possui o produto indicado. Subclasse da classe Exception Introdução aos Agentes Autónomos Agentes Móveis

37 Utilização de Agentes Móveis
Exemplo Marcar uma viagem de avião Utilizador introduz datas das viagens na aplicação, meio de pagamento, companhia aérea, etc. A aplicação cria um agente com a autoridade do utilizador e fornece informação ao agente sobre os voos desejados O agente viaja até ao local da companhia aérea O agente encontra-se com o agente da companhia aérea O agente dá informação ao agente da companhia aérea, que analisa os dados do utilizador (pagamento, etc.) e retorna um número de confirmação e o itinerário. Voos para Paris Data da viagem 3/12/2002 Meio de pagamento VISA Número de Confirmação. Itinerário da sua viagem. Centro Comercial Electrónico Aplicação Planeamento de Viagens Rede Informações Companhia aérea Introdução aos Agentes Autónomos Agentes Móveis

38 Utilização de Agentes Móveis
Exemplo (Cont.) O agente retorna ao local de origem, utilizando o bilhete com essa informação. O agente dá a informação à aplicação e o seu trabalho está completo. A aplicação avisa o utilizador que já tem a informação sobre a viagem. HomeName e HomeAddress Mostre-me o caminho para casa. Centro Comercial Electrónico Aplicação Planeamento de Viagens Rede Informações Companhia aérea Introdução aos Agentes Autónomos Agentes Móveis

39 Utilização de Agentes Móveis
Exemplo (Cont.) O agente retorna ao local de origem, utilizando o bilhete com essa informação. O agente dá a informação à aplicação e o seu trabalho está completo. A aplicação avisa o utilizador que já tem a informação sobre a viagem. Centro Comercial Electrónico Informações Companhia aérea Aplicação Planeamento de Viagens Rede Introdução aos Agentes Autónomos Agentes Móveis

40 Utilização de Agentes Móveis
Exemplo (Cont.) Estar atento aos atrasos de uma viagem Antes de deixar o local da companhia aérea, o agente cria um segundo agente Este agente novo fica suspenso até ao dia da viagem do utilizador No dia da viagem, o agente novo activa-se e verifica o horário do voo. Interage com o agente da companhia aérea e notifica a aplicação do planeamento de viagens do atraso do voo. A aplicação avisa o utilizador desta ocorrência. Há atrasos no voo? O voo está atrasado 1 hora. Centro Comercial Electrónico Aplicação Planeamento de Viagens Rede Informações Companhia aérea Introdução aos Agentes Autónomos Agentes Móveis

41 Utilização de Agentes Móveis
Exemplos de aplicações de agentes móveis: Executar tarefas que consumem muito tempo Melhor preço de um aparelho electrónico numa dada área limite Utilizar a combinação de serviços Monitorização selectiva com reacção automática e notificação Actualização de páginas Web Processamento paralelo e assíncrono em redes com variações de carga Quando a processamento começa a ficar lenta, o agente procura outro computador com menos carga Filtragem e análise dos dados na fonte Procura de informação com determinado conteúdo Redes com pequena largura de banda e/ou computadores temporariamente conectados O agente retorna quando a ligação é estabelecida Correio electrónico inteligente Introdução aos Agentes Autónomos Agentes Móveis

42 Agentes em Computadores Portáteis
Acesso à rede intermitente ou por ligações PPP Quando ligados, têm baixo Bit Rate disponíveis, devido aos Modems e às Wireless Networks Baixa capacidade de processamento e de armazenamento Docking System (AgentTcl) : O computador portátil (P) está desligado da rede O computador A, deseja enviar-lhe um agente e não o encontra na rede Envia o agente para a máquina associada a P (P_Dock) Na próxima ligação o agente é transferido para o portátil P. Introdução aos Agentes Autónomos Agentes Móveis

43 Introdução aos Agentes Autónomos
Segurança PROBLEMAS: Protecção da máquina Limitar recursos atribuídos, como acesso a ficheiros importantes e a tempo de CPU. Protecção de outros agentes Um agente não pode interferir com outros, nem roubar recursos alheios. Protecção do agente Uma máquina não deve ser capaz de interferir com o agente ou de retirar informação importante deste sem o consentimento do mesmo. Deve assegurar-se que informações confidenciais nunca passam por máquinas de uma forma não cifrada. Protecção de um grupo de máquinas Um agente pode consumir uma excessiva quantidade de recursos da rede, mesmo que consuma poucos recursos em cada máquina. Por exemplo, um agente que anda de um lado para outro na rede ou clones de agentes, cada um utiliza poucos recursos, mas no total é uma enorme sobrecarga. Introdução aos Agentes Autónomos Agentes Móveis

44 Introdução aos Agentes Autónomos
Segurança Possíveis ataques: Dados do agente lidos durante a sua transmissão Alteração ou substituição de parte do código sem alterar a autoridade (proprietário) Um agente é interceptado e clonado para fins que não o original Um agente consegue alterar a sua autoridade e identidade e faz-se passar por outro Um recurso é usado exaustivamente, logo fica inacessível a outros agentes Um falso servidor recusa-se a dar os recursos ou executa um agente indevidamente Introdução aos Agentes Autónomos Agentes Móveis

45 Introdução aos Agentes Autónomos
Segurança Garantias desejáveis: Integridade dos dados e dos agentes que são transmitidos Controlo do acesso a recursos e execução correcta dos agentes Autenticação de confiança dos agentes e lugares Manutenção de um historial da execução dos agentes Flexibilidade para uso Garantias impossíveis: Esconder qualquer dado do agente sem uso da encriptação Esconder o facto de um agente estar num determinado lugar ou estar a ser transferido Garantir que a identidade de um agente não foi falsificado Garantir que a máquina não falhe durante a execução do agente Garantir que o servidor irá transmitir o agente ao seu destino correctamente e imediatamente Introdução aos Agentes Autónomos Agentes Móveis

46 Introdução aos Agentes Autónomos
Acções sobre Agentes Acções sobre um agente Create – o agente «nasce» e o seu estado é inicializado Clone – é criado uma cópia (novo Id) Dispatch – o agente é enviado para outro hospedeiro (novo H) Retract – o agente é chamado ao seu lugar hospedeiro de origem Deactivate – execução é congelada e o seu estado armazenado Activate – execução do agente é iniciada ou retomada (novo S) Dispose – agente é destruído e recursos libertados Introdução aos Agentes Autónomos Agentes Móveis

47 Ambientes de Desenvolvimento
Componentes: Linguagem de programação – para programar os agentes Biblioteca de funções específicas – disponibilizam funções específicas para os agentes Interpretador – comparável a um compilador Servidor – gere os agente activos e controla o acesso a recursos Protocolo de transporte – transfere os agentes entre servidores Modelo e mecanismo de Segurança – para proteger os agentes e as máquinas Introdução aos Agentes Autónomos Agentes Móveis

48 Ambientes de Desenvolvimento
Características comuns: Existência de um servidor – para a execução e transferência de agentes Autonomia de movimentos – o itinerário é determinado pelo estado local Serialização do estado – o estado é codificado para ser transportado Re-direccionamento – envio de mensagens são enviadas para a nova localização do agente Funcionalidade dinâmica – para se carregar o código de diversas fontes (servidor, FTP) Introdução aos Agentes Autónomos Agentes Móveis

49 Introdução aos Agentes Autónomos
Sistemas Existentes Sistemas Baseados em JAVA: AgentSpace – INESC/IST Aglet – IBM Concordia – Mitsubishi Cyber Agent – FTP Software Internet System Environment – OSF Sumatra – UMCP Odyssey – General Magic, Inc Voyager – ObjectSpace (ORB 100% Java) Introdução aos Agentes Autónomos Agentes Móveis

50 Introdução aos Agentes Autónomos
Sistemas Existentes Sistemas Baseados noutras linguagens: AgentTcl – Dartmauth College April – Fujitsu Clearlake – Guideware MO – Universidade de Geneva Obliq – DEC SRV TACOMA – Tromsf And COrnell TeleScript – General Magic, Inc Wave – Universidade Surrey Introdução aos Agentes Autónomos Agentes Móveis

51 Introdução aos Agentes Autónomos
Referências “Mobile Agents”, James White URLs The Agent Society AMiTY, claimed to be the “world's-smallest Win95 computer'', from Mitsubishi Electric Receives a mention in Crystaliz, Inc FTP Software's Virtual IP Network and Agent Applications General Magic's Odyssey IBM's Aglets Mitsubishi Electric ITA Horizon Systems Laboratory's Concordia The Mobile Agent Facility Specification ObjectSpace's Voyager Oracle's Mobile Agents White Paper Mobile Agent References MIT Media Lab Software Agents Group Mobile Agents - Process migration technology and its implications Mobile Agents Introdução aos Agentes Autónomos Agentes Móveis

52 Livros sobre Agentes Móveis
N.R. Jennings, M.J. Wooldridge,”Agent Technology: Foundations, Applications, and Markets”, Springer Verlag, 1998 Mark Watson, “Intelligent Java Applications for the Internet and Intranets”, Morgan Kaufmann Publishers, 1997 W. Brenner et al., “Intelligent Software Agents”, Springer Verlag, 1998 William R. Cockayne and Michael Zyda, “Mobile Agents: Explanations and Examples”, Manning, 1997 Radu Popescu-Zeletin (Editor), “Mobile Agents: First International Workshop, Ma'97 Berlin”, Springer Verlag, 1997 Proceedings (Lecture Notes in Computer Science, 1219) D. Lange, “The Aglet Cookbook” Alberto Silva, “Agentes de Software na Internet”, Centro Atlântico, 1999 Introdução aos Agentes Autónomos Agentes Móveis

53 Introdução aos Agentes Autónomos
The End Introdução aos Agentes Autónomos Agentes Móveis


Carregar ppt "Agentes Móveis Instituto Superior Técnico Introdução aos"

Apresentações semelhantes


Anúncios Google