1 16-06-2014introdução aos agentes autónomos agentes móveis instituto superior técnico...

53
12-06-22 Introdução aos Agentes Autónomos Agentes Móveis 1 Instituto Superior Técnico Instituto Superior Técnico Introdução aos Agentes Autónomos Agentes Móveis Pedro António, M5157 pantonio @est. ipcb . pt 2002/2003

Upload: internet

Post on 18-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

1

Instituto Superior TécnicoInstituto Superior TécnicoIntrodução aos

Agentes Autónomos

Agentes MóveisPedro António, M5157

[email protected]

2002/2003

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

2

Paradigma dos Agentes MóveisParadigma 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 actualOrganizaçã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”

R e d eC lie n te S e rv id o r

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

3

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Exemplo 1Apagar 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.

R e d eC lie n te S e rv id o r

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

4

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Abordagem novaAlternativa 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

R e d e

C lie n te

A g e n te

S e rv id o r

A g e n teC ó d ig o e e s ta d o

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

5

Paradigma dos Agentes MóveisParadigma 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 + estadoRepresentação do computador emissor no computador receptor

“ongoing interaction does not requires ongoing communication”

R e d e

C lie n te

A g e n te

S e rv id o r

A g e n teC ó d ig o e e s ta d o

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

6

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Exemplo 2Um 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.

R e d e

C lie n te

A g e n te

S e rv id o r

A g e n teC ó d ig o e e s ta d o

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

7

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Vantagens técnicasDesempenho

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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

8

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Vantagens estratégicasPersonalizaçã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.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

9

Paradigma dos Agentes MóveisParadigma 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

10

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Proveito a tirar dos agentes móveisLibertaçã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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

11

Paradigma dos Agentes MóveisParadigma dos Agentes Móveis

Desvantagens dos agentes móveisOs 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.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

12

ConceitosConceitos

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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

13

ConceitosConceitos

LocaisRede 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ónicoInformaçõ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çãoShopping

AplicaçãoShopping Rede

Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

14

ConceitosConceitos

AgentesConjunto 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çãoShopping

AplicaçãoShopping Rede

Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

15

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

DeslocamentoPermite 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çãoShopping

AplicaçãoShopping Rede

Rede

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

16

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

EncontrosUm 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çãoShopping

AplicaçãoShopping Rede

Rede

Bla, bla, bla

Bla, bla, bla

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

17

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

LigaçõesPermite 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çãoShopping

AplicaçãoShopping Rede

Rede

Bla, bla, bla

Bla, bla, bla

Bla, bla, bla

Bla, bla, bla

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

18

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

AutoridadesUm 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çãoShopping

AplicaçãoShopping Rede

Rede

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

19

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

PermissõesAs 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çãoShopping

AplicaçãoShopping Rede

Rede

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

20

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

Mobilidade do agenteO 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çãoShopping

AplicaçãoShopping Rede

Rede

Um bilhete para o Senhor dos

Anéis.

Sim, senhor.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

21

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

BilheteiraBilheteira

FloristaFlorista

ConceitosConceitos

Mobilidade do agenteO 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çãoShopping

AplicaçãoShopping Rede

Rede

Sim, senhor.

Uma flor murcha, por

favor.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

22

TecnologiaTecnologia

A tecnologia Telescript implementa os conceitos mencionados anteriormente.

Componentes:Linguagem de programação dos agentes e locais

Motor ou interpretador

Protocolos de comunicação

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

23

TecnologiaTecnologia

LinguagemPermite 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

24

TecnologiaTecnologia

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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

25

TecnologiaTecnologia

ProtocolosPermite estabelecer a comunicação entre dois motores.

Instrução go

Variedade de redes de transporteTCP/IP (Internet); X.25 (interface das companhias telefónicas); Correio electrónico

Os protocolos Telescript operam em 2 níveisO 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çãodo agente

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

26

Modelo de Objectos TelescriptModelo de Objectos Telescript

Estrutura do objectoTudo é tratado como um objecto.

Um objecto possui uma interface externa e uma implementação interna.

Interface do objectoAtributos – características externas visíveis

Públicos/Privados

Operações – tarefas que o objecto realizaPúblicas/Privadas

Argumentos

Resultado da operação com valor de retorno/Gerar excepções

Implementação do objectoPropriedade – 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 atributosVariáveis – estado dinâmico do método

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

27

Modelo de Objectos TelescriptModelo de Objectos Telescript

Classificação do objectoTal 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

28

Modelo de Objectos TelescriptModelo de Objectos Telescript

Manipulação do objectoA 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/desprotegidasUm método não pode alterar um objecto cuja referência seja protegida.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

29

Programação de um LocalProgramaçã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çãoShopping

AplicaçãoShopping Rede

Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

ArmazémArmazém

O preço do Leitor de

DVD desceu para €100!

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

30

Programação de um LocalProgramaçã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çãoShopping

AplicaçãoShopping Rede

Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

ArmazémArmazém

O preço do Leitor de

DVD desceu para €100!

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

31

Programação de um LocalProgramação de um Local

Classe Entrada no catálogoImplementa 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

32

Programação de um LocalProgramação de um Local

Classe ArmazémImplementa 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álogoAgente de shopping obtém uma referência protegida

Agente do armazém obtém uma referência desprotegida

PropriedadeCatálogo – Dicionário com o par produto/entrada no catálogo

Classe Redução de preçoImplementa 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

33

Programação de um AgenteProgramação de um Agente

O agente da aplicação de shopping é implementado por duas classes definidas pelo utilizador:

Shopper; Produto Indisponível

Classe ShopperImplementa 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

34

Programação de um AgenteProgramação de um Agente

Classe ShopperOperaçõ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 agenteArgumentos: agente, classe, petição

Excepção se o encontro for impossível

Obter Relatório – retorna o preço actual do produto desejadoExcepçã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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

35

Programação de um AgenteProgramação de um Agente

Classe Shopper (Cont.)

Agente vaipara o

Armazém

Verifica oPreço Actualdo Produto

Actualiza Preço Actual

Preço Actual>

Preço Desejado

Retorna

Liberta recursos(eventos)

Agente vaipara o localde origem

Encontro como Cliente

Aguarda que oCliente termine

o encontro

goHomegoShopping

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

36

Programação de um AgenteProgramação de um Agente

Classe Produto IndisponívelImplementa 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

37

Utilização de Agentes MóveisUtilização de Agentes Móveis

ExemploMarcar 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çãoPlaneamentode Viagens

AplicaçãoPlaneamentode Viagens

Rede Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

Companhia aéreaCompanhia aérea

Voos para ParisData da viagem 3/12/2002Meio de pagamento VISA

Número de Confirmação. Itinerário da sua viagem.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

38

Utilização de Agentes MóveisUtilizaçã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çãoPlaneamentode Viagens

AplicaçãoPlaneamentode Viagens

Rede Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

Companhia aéreaCompanhia aérea

Mostre-me o caminho para casa.

HomeName e HomeAddress

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

39

Utilização de Agentes MóveisUtilizaçã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çãoPlaneamentode Viagens

AplicaçãoPlaneamentode Viagens

Rede Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

Companhia aéreaCompanhia aérea

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

40

Utilização de Agentes MóveisUtilizaçã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çãoPlaneamentode Viagens

AplicaçãoPlaneamentode Viagens

Rede Rede

Centro Comercial ElectrónicoCentro Comercial Electrónico

InformaçõesInformações

Companhia aéreaCompanhia aérea

Há atrasos no voo?

O voo está atrasado 1

hora.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

41

Utilização de Agentes MóveisUtilizaçã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çosMonitorizaçã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 fonteProcura 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

42

Agentes em Computadores PortáteisAgentes em Computadores Portáteis

Computadores PortáteisAcesso à 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.

R e d e

P

P _ D o c k

A

N e w A d re s s

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

43

SegurançaSeguranç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 agentesUm agente não pode interferir com outros, nem roubar recursos alheios.

Protecção do agenteUma 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áquinasUm 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.

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

44

SegurançaSeguranç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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

45

SegurançaSeguranç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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

46

Acções sobre AgentesAcções sobre Agentes

Acções sobre um agenteCreate – 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

< Id ,S ,H >

< Id ,S 1 ,H >

< Id ,S ,H 1 >

H o s p e d e iro 1 H o s p e d e iro 2

< Id 1 ,S ,H >

C re a te

D e s tro y

C lo n e

A c tiv a teD e a c tiv a te

D is p a tc h

R e tra c t

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

47

Ambientes de DesenvolvimentoAmbientes 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

48

Ambientes de DesenvolvimentoAmbientes 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)

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

49

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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

50

Sistemas ExistentesSistemas 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

51

ReferênciasReferências

“Mobile Agents”, James WhiteURLs

The Agent Society http://www.agent.org/ AMiTY, claimed to be the “world's-smallest Win95 computer'', from Mitsubishi Electric Receives a mention in http://www.japantimes.co.jp/features/ccorner/cc96/cc961023.html Crystaliz, Inc http://www.crystaliz.com/ FTP Software's Virtual IP Network http://www.ftp.com/product/whitepapers/vip_wp.htm and Agent Applications http://www.ftp.com/product/whitepapers/4agent.htm General Magic's Odyssey http://www.genmagic.com/ IBM's Aglets http://www.trl.ibm.co.jp/aglets/index.html Mitsubishi Electric ITA Horizon Systems Laboratory's Concordia http://www.meitca.com/HSL/Projects/Concordia The Mobile Agent Facility Specification http://www.genmagic.com/agents/MAF/ ObjectSpace's Voyager http://www.objectspace.com/Voyager/ Oracle's Mobile Agents White Paper http://www.oracle.com/products/networking/mobile_agents/html/whitepaper.html Mobile Agent References http://www.infosys.tuwien.ac.at/Research/Agents/ref.html MIT Media Lab Software Agents Group http://agents.www.media.mit.edu/groups/agents/ Mobile Agents - Process migration technology and its implications http://www.davidreilly.com/topics/software_agents/mobile_agents/ Mobile Agents http://www.geckil.com/~harvest/agents/index.html

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

52

Livros sobre Agentes MóveisLivros 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

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

11-04-23 Introdução aos Agentes AutónomosAgentes Móveis

53

The EndThe End