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

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

1 16-06-2014Introdução aos Agentes Autónomos Agentes Móveis Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157.

Apresentações semelhantes


Apresentação em tema: "1 16-06-2014Introdução aos Agentes Autónomos Agentes Móveis Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157."— Transcrição da apresentação:

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

2 Introdução aos Agentes Autónomos Agentes Móveis 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

3 Introdução aos Agentes Autónomos Agentes Móveis 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.

4 Introdução aos Agentes Autónomos Agentes Móveis 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

5 Introdução aos Agentes Autónomos Agentes Móveis 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

6 Introdução aos Agentes Autónomos Agentes Móveis 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.

7 Introdução aos Agentes Autónomos Agentes Móveis 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.

8 Introdução aos Agentes Autónomos Agentes Móveis 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.

9 Introdução aos Agentes Autónomos Agentes Móveis 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

10 Introdução aos Agentes Autónomos Agentes Móveis 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

11 Introdução aos Agentes Autónomos Agentes Móveis 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.

12 Introdução aos Agentes Autónomos Agentes Móveis Conceitos A primeira implementação comercial de agentes móveis foi o Telescript technology TM 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)

13 Introdução aos Agentes Autónomos Agentes Móveis 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) Aplicação Shopping Aplicação Shopping Rede Centro Comercial Electrónico Informações Bilheteira Florista

14 Introdução aos Agentes Autónomos Agentes Móveis 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 Aplicação Shopping Aplicação Shopping Rede Centro Comercial Electrónico Informações Bilheteira Florista

15 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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) Aplicação Shopping Aplicação Shopping Rede

16 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede Bla, bla, bla

17 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede Bla, bla, bla

18 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede

19 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede

20 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede Um bilhete para o Senhor dos Anéis. Sim, senhor.

21 Introdução aos Agentes Autónomos Agentes Móveis Centro Comercial Electrónico Informações Bilheteira Florista 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. Aplicação Shopping Aplicação Shopping Rede Sim, senhor. Uma flor murcha, por favor.

22 Introdução aos Agentes Autónomos Agentes Móveis 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

23 Introdução aos Agentes Autónomos Agentes Móveis 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

24 Introdução aos Agentes Autónomos Agentes Móveis 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

25 Introdução aos Agentes Autónomos Agentes Móveis 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 Armaz.Transp. Apl. Externas Transporte do agente Codificação do agente

26 Introdução aos Agentes Autónomos Agentes Móveis 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

27 Introdução aos Agentes Autónomos Agentes Móveis 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

28 Introdução aos Agentes Autónomos Agentes Móveis 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.

29 Introdução aos Agentes Autónomos Agentes Móveis 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 Aplicação Shopping Aplicação Shopping Rede Centro Comercial Electrónico Informações Armazém O preço do Leitor de DVD desceu para 100!

30 Introdução aos Agentes Autónomos Agentes Móveis 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 Aplicação Shopping Aplicação Shopping Rede Centro Comercial Electrónico Informações Armazém O preço do Leitor de DVD desceu para 100!

31 Introdução aos Agentes Autónomos Agentes Móveis 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

32 Introdução aos Agentes Autónomos Agentes Móveis 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

33 Introdução aos Agentes Autónomos Agentes Móveis 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

34 Introdução aos Agentes Autónomos Agentes Móveis 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

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

36 Introdução aos Agentes Autónomos Agentes Móveis 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

37 Introdução aos Agentes Autónomos Agentes Móveis 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. Aplicação Planeamento de Viagens Aplicação Planeamento de Viagens Rede Centro Comercial Electrónico Informações Companhia aérea Voos para Paris Data da viagem 3/12/2002 Meio de pagamento VISA Número de Confirmação. Itinerário da sua viagem.

38 Introdução aos Agentes Autónomos Agentes Móveis 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. Aplicação Planeamento de Viagens Aplicação Planeamento de Viagens Rede Centro Comercial Electrónico Informações Companhia aérea Mostre-me o caminho para casa. HomeName e HomeAddress

39 Introdução aos Agentes Autónomos Agentes Móveis 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. Aplicação Planeamento de Viagens Aplicação Planeamento de Viagens Rede Centro Comercial Electrónico Informações Companhia aérea

40 Introdução aos Agentes Autónomos Agentes Móveis 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. Aplicação Planeamento de Viagens Aplicação Planeamento de Viagens Rede Centro Comercial Electrónico Informações Companhia aérea Há atrasos no voo? O voo está atrasado 1 hora.

41 Introdução aos Agentes Autónomos Agentes Móveis 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

42 Introdução aos Agentes Autónomos Agentes Móveis 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.

43 Introdução aos Agentes Autónomos Agentes Móveis 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.

44 Introdução aos Agentes Autónomos Agentes Móveis 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

45 Introdução aos Agentes Autónomos Agentes Móveis 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

46 Introdução aos Agentes Autónomos Agentes Móveis 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

47 Introdução aos Agentes Autónomos Agentes Móveis 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

48 Introdução aos Agentes Autónomos Agentes Móveis 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)

49 Introdução aos Agentes Autónomos Agentes Móveis 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)

50 Introdução aos Agentes Autónomos Agentes Móveis 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

51 Introdução aos Agentes Autónomos Agentes Móveis 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

52 Introdução aos Agentes Autónomos Agentes Móveis 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

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


Carregar ppt "1 16-06-2014Introdução aos Agentes Autónomos Agentes Móveis Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157."

Apresentações semelhantes


Anúncios Google