1 / 53

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

Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157 pantonio@est.ipcb.pt 2002/2003. 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.

keanu
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157 pantonio@est.ipcb.pt 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. 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 Rede Aplicação Shopping 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 Rede Aplicação Shopping 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 Informações Bilheteira Florista Rede 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 Informações Bilheteira Florista Rede 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 Informações Bilheteira Florista Rede Aplicação Shopping 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 Telescriptverifica 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 Informações Bilheteira Florista Rede 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 Informações Bilheteira Florista Rede 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 Informações Bilheteira Florista Rede 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 Informações Bilheteira Florista Rede Aplicação Shopping Introdução aos Agentes Autónomos Agentes Móveis

  22. 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. 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. 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. 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 Rede Aplicação Shopping 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 Rede Aplicação Shopping 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 Informações Companhia aérea Rede Aplicação Planeamento de Viagens 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 Informações Companhia aérea Rede Aplicação Planeamento de Viagens 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 Rede Aplicação Planeamento de Viagens 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 Informações Companhia aérea Rede Aplicação Planeamento de Viagens 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 • 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. 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. 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. 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. 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. 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. 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

More Related