Agentes Móveis Marcelo Bezerra dAmorim Sumário n Motivação n Introdução ao Paradigma de...
Transcript of Agentes Móveis Marcelo Bezerra dAmorim Sumário n Motivação n Introdução ao Paradigma de...
Agentes MóveisAgentes Móveis
Marcelo Bezerra d’AmorimMarcelo Bezerra d’Amorim
SumárioSumário
MotivaçãoMotivação Introdução ao Paradigma de Introdução ao Paradigma de
Agentes MóveisAgentes Móveis VantagensVantagens Conceitos de Agentes MóveisConceitos de Agentes Móveis TecnologiasTecnologias AplicaçõesAplicações
MotivaçãoMotivação
Para o encontro do dia dos namorados, João Para o encontro do dia dos namorados, João pretende ir ao teatro com sua esposa. Para pretende ir ao teatro com sua esposa. Para isto, João, um analista de sistemas muito isto, João, um analista de sistemas muito ocupado, quer reservar os `tickets` da peça ocupado, quer reservar os `tickets` da peça de Falabela antecipadamente e agendar um de Falabela antecipadamente e agendar um pedido de flores do campo para sua esposa.pedido de flores do campo para sua esposa.
MotivaçãoMotivação
1 - Criação do agente e Transporte1 - Criação do agente e Transporte
2 - Autorização para negociar.2 - Autorização para negociar.
3 - Negociação e `Commitment`3 - Negociação e `Commitment`
4 - Próximo Local.4 - Próximo Local.
5 - ( 2, 3 e 4 ) até completar o seu objetivo.5 - ( 2, 3 e 4 ) até completar o seu objetivo.
Introdução ao ParadigmaIntrodução ao Paradigma
RPC ( Remote Procedure Call ) - Originou-se da RPC ( Remote Procedure Call ) - Originou-se da necessidade de comunicação entre necessidade de comunicação entre computadores (desde 1970). computadores (desde 1970).
Afirmou-se com o surgimento da arquitetura Afirmou-se com o surgimento da arquitetura Internet e necessidades em SDInternet e necessidades em SD
Pode ser visto como extensão do paradigma Pode ser visto como extensão do paradigma cliente/servidorcliente/servidor
Introdução ao ParadigmaIntrodução ao Paradigma
Antiga abordagem utilizada:Antiga abordagem utilizada: RPC como forma de comunicaçãoRPC como forma de comunicação Problema: overheadProblema: overhead
Nova abordagem - Mobile Agents:Nova abordagem - Mobile Agents: Comunicação através de programação Comunicação através de programação
remota (RP)remota (RP) Permite Permite não apenasnão apenas a chamada de a chamada de
procedimentos remotos.procedimentos remotos.
RPC X RPRPC X RP
Vantagens de Agentes Vantagens de Agentes MóveisMóveis
Vantagens Tática:Vantagens Tática: PerformancePerformance OffLine.OffLine.
Vantagens Estratégicas:Vantagens Estratégicas: Customização: Facilitam a extensão das Customização: Facilitam a extensão das
funcionalidades dos agentes para um uso funcionalidades dos agentes para um uso particularparticular
Conceitos EnvolvidosConceitos Envolvidos
Lugares (places)Lugares (places) Viagens (travels)Viagens (travels) Encontros (meetings)Encontros (meetings) Conexões Conexões
(connections)(connections) Autorização Autorização
(authorities)(authorities) Permissões (permits)Permissões (permits)
LugaresLugares
ViagensViagens
Transação na rede reduzida a uma instruçãoTransação na rede reduzida a uma instrução
EncontrosEncontros
Agentes podem se encontrar se estão no Agentes podem se encontrar se estão no mesmo lugarmesmo lugar
Um encontro permite um agente chamar os Um encontro permite um agente chamar os procedimentos do outro.procedimentos do outro.
EncontrosEncontros Instrução requer:Instrução requer:
– Petição: dados que especificam o agente a ser encontradoPetição: dados que especificam o agente a ser encontrado– Termos do encontro: tempo de início do encontro, ...Termos do encontro: tempo de início do encontro, ...
ConexõesConexões
Acontece quando dois agentes em lugares Acontece quando dois agentes em lugares diferentes se comunicamdiferentes se comunicam
Instrução requer:Instrução requer: Um alvo: Especifica o agente distanteUm alvo: Especifica o agente distante O lugar onde o agente resideO lugar onde o agente reside Termos da conexão: o tempo de duração, a qualidade Termos da conexão: o tempo de duração, a qualidade
de serviço que deve ser provido, ...de serviço que deve ser provido, ...
ConexõesConexões Permite que usuários troquem informações a Permite que usuários troquem informações a
distancia. RP + RPCdistancia. RP + RPC
AutoridadesAutoridades
Agentes personificam pessoas e empresas.Agentes personificam pessoas e empresas.
Servem como base para a Servem como base para a autenticação e autenticação e autorização dos agentes.autorização dos agentes.
Agentes e Lugares podem discernir a Agentes e Lugares podem discernir a autorização mutuamente.autorização mutuamente.
Não podem esconder nem falsificar suas Não podem esconder nem falsificar suas autorizações.autorizações.
AutoridadesAutoridades A autorização de um agente é verificada quando ele A autorização de um agente é verificada quando ele
viaja de uma viaja de uma regiãoregião para outra da rede. para outra da rede.
PermissãoPermissão Uma permissão é um dado que dá capacidades Uma permissão é um dado que dá capacidades
ao agenteao agente Um agente ou lugar pode discernir suas Um agente ou lugar pode discernir suas
capacidades, mas não podem incrementá-lascapacidades, mas não podem incrementá-las As capacidades podem ser dadas para duas As capacidades podem ser dadas para duas
finalidades:finalidades:– Permitir executar uma certa instruçãoPermitir executar uma certa instrução– Permitir o uso de um determinado recurso com Permitir o uso de um determinado recurso com
limitaçõeslimitações
PermissãoPermissão
Permissões limitam os efeitos de agentes Permissões limitam os efeitos de agentes maliciosos e incorretos.maliciosos e incorretos.
TecnologiasTecnologias
Plataforma que fornece aos agentes a capacidade de mover-se livre e facilmente sem afetar sua execução, utilizando várias L.P., em ambientes heterogêneos e de forma segura.
TecnologiasTecnologias
LinguagemLinguagem– CompletaCompleta– DinâmicaDinâmica– PersistentePersistente– Portável ( Estado e Comportamento )Portável ( Estado e Comportamento )– SeguraSegura
TecnologiasTecnologias
EngineEngine– Implementa máquina virtual.Implementa máquina virtual.– Provê interface para recursos da plataforma.Provê interface para recursos da plataforma.
Outros ambientesOutros ambientes Armazenamento de dadosArmazenamento de dados TransporteTransporte
TecnologiasTecnologias
Ambientes para construção de Ambientes para construção de agentes móveisagentes móveis– TelescriptTelescript– Agent TCLAgent TCL– Agents for Remote Access (ARA)Agents for Remote Access (ARA)– AgletsAglets
TelescriptTelescript
Primeiro e mais difundidoPrimeiro e mais difundido
Provê um modo automático e interativo para Provê um modo automático e interativo para acesso a uma rede de computadores usando acesso a uma rede de computadores usando agentes móveisagentes móveis
Foco comercial - Comércio EletrônicoFoco comercial - Comércio Eletrônico
Telescript (cont.)Telescript (cont.)
Linguagem (Telescript Language)Linguagem (Telescript Language)– CompletaCompleta– OOOO– DinâmicaDinâmica– PersistentePersistente– Portável e SeguraPortável e Segura– Communication CentricCommunication Centric
Comandos BásicosComandos Básicos– go, travel, meet, connection, name, permitgo, travel, meet, connection, name, permit
Telescript (cont.)Telescript (cont.) EngineEngine
– Storage APIStorage API– Transport APITransport API– External External
Application APIApplication API
Armazenamento
Lugares e Agentes
Telescript Engine
APIs
AplicaçõesExternas Transporte
Telescript (cont.)Telescript (cont.)
ProtocoloProtocolo– TCP/IPTCP/IP– X.25X.25– SMTPSMTP
Lugares e Agentes
Telescript Engine
APIs
AplicaçõesExternas
Armazenamento
Agente de Transporte
Agente de Codificação
AgletsAglets
Aglets é um dos primeiros sistemas completo Aglets é um dos primeiros sistemas completo para agentes na Internet.para agentes na Internet.
É um ambiente visual para construção de É um ambiente visual para construção de aplicações de rede que usam agentes móveis.aplicações de rede que usam agentes móveis.
Linguagem - Linguagem - JavaJava Protocolo - Protocolo - Agent Transfer Protocol (ATP)Agent Transfer Protocol (ATP) EngineEngine - Composição de vários produtos - Composição de vários produtos
AplicaçõesAplicações Executar tarefas complexas ou tediosas (ex. busca de informação na Executar tarefas complexas ou tediosas (ex. busca de informação na
rede).rede). Representar pessoas ou organizações, incorporando as suas Representar pessoas ou organizações, incorporando as suas
autoridadesautoridades Executar autonomamente durante um longo período de tempo (dias-Executar autonomamente durante um longo período de tempo (dias-
meses).meses). Ser ativados de um computador móvel e retornar ao mesmo na Ser ativados de um computador móvel e retornar ao mesmo na
próxima conexão.próxima conexão. Ser usados em redes com conexões instáveis ou com pequena largura Ser usados em redes com conexões instáveis ou com pequena largura
de banda.de banda. Interagir com outros agentes de outros usuários.Interagir com outros agentes de outros usuários. Acessar recursos e dados em máquinas remotas.Acessar recursos e dados em máquinas remotas. Monitorar o estado de um sistema ou de uma base de dados.Monitorar o estado de um sistema ou de uma base de dados. ........
ReferênciasReferências
Cockaine, W.: Mobile Agents, Manning & Cockaine, W.: Mobile Agents, Manning & Prentice Hall, 1998.Prentice Hall, 1998.
Knapik, M. e Johnson, J. : Developing Knapik, M. e Johnson, J. : Developing Intelligent Agents for Distributed Systems, Intelligent Agents for Distributed Systems, McGraw Hill, 1998.McGraw Hill, 1998.