![Page 1: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/1.jpg)
Agentes Inteligentes e Agentes Inteligentes e Sistemas Multi-agenteSistemas Multi-agente
(UE11) Agentes Móveis (UE11) Agentes Móveis
![Page 2: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/2.jpg)
QuestõesQuestões
O que é um Agente móvel? Que tipo de sistemas (aplicações) posso construir
usando agentes móveis? Que ferramentas há para o auxílio na construção de
agentes móveis?
![Page 3: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/3.jpg)
O que é um Agente Móvel? (1/2)O que é um Agente Móvel? (1/2)
Agente Móvel:o não está ligado ao sistema que o iniciou;o livre para viajar entre hosts numa rede;o uma vez criado numa máquina/sistema hospedeiros, ele pode
transportar o seu estado e código consigo para outras máquinas/sistemas na rede, onde continua a sua execução.
Estado:o valores dos atributos do agente necessários para que ele
continue a sua execução após o transporte Código:
o dentro de um contexto orientado a objectos, o código das classes necessárias para que o agente se possa executar
![Page 4: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/4.jpg)
O que é um Agente Móvel? (2/2)O que é um Agente Móvel? (2/2)
Definição de um Agente Móvelo um agente móvel é um agente que não está ligado
permanentemente ao sistema que o iniciou enquanto processo;o possui a habilidade única de se transportar de um sistema para
outro numa rede, mantendo o seu contexto original antes do transporte;
o esta habilidade para viajar, permite que o agente móvel possa mover-se para o sistema que contém o recurso com o qual o agente deseja interagir;
o pode portanto tirar vantagem disso para estar na mesma máquina ou rede onde busca informações, e com isso ser muito mais eficiente na sua tarefa.
![Page 5: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/5.jpg)
Aplicações de Agentes Móveis Aplicações de Agentes Móveis (1/2)(1/2)
Automação de processos Aplicações Internet Comércio electrónico
o agentes podem percorrer a rede e negociar em nome de quem os enviou
Procura de informação distribuída
o ao invés de concentrar a procura num só site, distribui agentes pela rede para efectuarem a procura
Assistente Pessoal
o assistentes podem efectuar tarefas na rede em nome de seus criadores
![Page 6: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/6.jpg)
Aplicações de Agentes (2/2)Aplicações de Agentes (2/2) Negociação Segura
o agentes podem mover-se para sites seguros com a finalidade de negociar
Processamento Paralelo
o agentes podem gerir processos paralelos Serviços de Telecomunicações via Rede
o agentes podem reconfigurar uma rede de telecomunicações de forma dinâmica, mantendo-a coesa
Aplicações de Workflow e Groupware
o agentes móveis podem cooperar em nome de co-participantes de um grupo de trabalho
![Page 7: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/7.jpg)
IdeiaIdeia
Originalmente surge com Jim White que propõe uma linguagem para agentes móveis chamada Telescript TM da General Magic.
![Page 8: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/8.jpg)
IdeiaIdeia
Client Service
Network
PC Server
Client Service
Network
PC Server
![Page 9: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/9.jpg)
IdeiaIdeia
Client Service
Network
PC Server
Client Service
Network
PC Server
Client
![Page 10: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/10.jpg)
Conceitos: LocaisConceitos: Locais
Locais:Locais: um local oferece um serviço aos agentes móveis para estes entrarem
Shopping app Electronic Shopping CenterNetworkDirectory Ticketron
![Page 11: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/11.jpg)
Conceitos: Agentes e ViagensConceitos: Agentes e Viagens
Agentes ocupam um certo local Um agente pode mover-se de local para local preservando o seu estado Cada agente é independente dos outros agentes
Cada agente move mover-se de um local para outro podendo usar os serviços localmente no sítio em que se encontra e voltar para trás quando necessário.
Shopping app Electronic Shopping CenterNetworkDirectory Ticketron
Go
![Page 12: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/12.jpg)
Conceitos: Agentes e ViagensConceitos: Agentes e Viagens
Agentes ocupam um certo local Um agente pode mover-se de local para local preservando o seu estado Cada agente é independente dos outros agentes
Cada agente move mover-se de um local para outro podendo usar os serviços localmente no sítio em que se encontra e voltar para trás quando necessário.
Shopping app Electronic Shopping CenterNetworkDirectory Ticketron
![Page 13: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/13.jpg)
Conceitos: MeetingConceitos: Meeting
Shopping app Electronic Shopping CenterDirectory Ticketron
![Page 14: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/14.jpg)
Conceitos: AutoridadeConceitos: Autoridade
Segundo a tecnologia Telescript é possivel delegar autoridade em agentes (e de um agente noutro agente)
Além disso os agentes podem ter permits (permissões) para entrar em determinados locais ou não.
![Page 15: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/15.jpg)
HistorialHistorial
Equipa liderada por Steve Schramm criou a tecnologia e implementou os servidores
Na AT&T uma equipa liderada por Alex Gillon usou a tecnologia para criar o serviço AT&T Personal Link.
Uma outra equipa da General Magic criou Motorola Envoy.
.... O que se passa agora....?
![Page 16: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/16.jpg)
Plataformas de AgentesPlataformas de Agentes
Plataformas de agentes móveis:o Ferramentas que suportam e ajudam a criação de agentes
móveis, fornecendo uma estrutura que facilita a sua implementação.
![Page 17: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/17.jpg)
Plataformas de Agentes MóveisPlataformas de Agentes Móveis
Agent Tcl
Concordia
Odyssey
Voyager
Aglets
![Page 18: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/18.jpg)
Agent Tcl (1/5)Agent Tcl (1/5) Plataforma desenvolvida no Dartmouth College, Hanover
- USA Funcionalidades suportadas:
o Migração de agenteso Comunicação de agenteso Utilização de várias linguagens (actualmente Tcl/Tk)o Vários mecanismos de transporte (actualmente TCP/IP)
![Page 19: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/19.jpg)
Agent Tcl (2/5)Agent Tcl (2/5)
A arquitectura tem 4 níveis distintos:
o Agenteso Interpretadoro Servidoro API de transporte
![Page 20: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/20.jpg)
Agent Tcl (3/5)Agent Tcl (3/5) Existem dois tipos de comunicação:
![Page 21: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/21.jpg)
Agent Tcl (4/5)Agent Tcl (4/5) Um agente pode ser programado em qualquer linguagem para a
qual exista interpretador (compatível) A única linguagem suportada é o Tcl A migração é transparente para o programador Servidor:
o Presente em todas as máquinas capazes de executar agenteso Leve, pois parte das funcionalidades são atribuídas a agentes
específicos (Gestão de recursos, tolerância a faltas, comunicação local, etc.)
![Page 22: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/22.jpg)
Agent Tcl (5/5)Agent Tcl (5/5) Vantagens:
o “Leve”o Simpleso Largamente disponível (mesmo o código fonte)o Extensívelo Embebível noutras aplicações
Desvantagens:o Tcl não é uma linguagem potente
![Page 23: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/23.jpg)
Concordia (1/3)Concordia (1/3) Desenvolvido pela Mitsubishi Framework de desenvolvimento e gestão de agentes
móveis em Java Componentes:
o Agent Managero Security Managero Persistence Managero Inter-Agent Communication Managero Queue Managero Directory Managero Administration Managero Agent Tool Library
![Page 24: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/24.jpg)
Concordia (2/3)Concordia (2/3) Agent Manager:
o providencia a infra-estrutura de comunicação que permite a mobilidade dos agentes
Security Manager:o protege os recursos e garante a segurança e integridade dos
agentes e dos seus dados Persistence Manager:
o mantém o estado dos agentes e objectos que transitam na rede. Permite a reiniciação de um agente, no caso de uma falha no servidor
Inter-Agent Comunication Manager:o gere o registo e notificação de eventos entre agentes. Permite
eventos do tipo Multicast (múltiplos destinatários)
![Page 25: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/25.jpg)
Concordia (3/3)Concordia (3/3) Queue Manager:
o responsável pela sequenciação e envio garantido entre servidores Concordia
Directory Manager:o providencia um serviço de nomes para aplicações e agentes
Administration Manager:o providencia administração remota de um sistema Concordia.
Somente um em toda a rede Agent Tool Library:
o ferramentas de desenvolvimento do Concordia: APIs Concordia (Administration APIs, Lightweight Agent Transport APIs, Service Bridge API, etc.) e classes de agentes necessárias para o desenvolvimento de agentes móveis usando o Concordia
![Page 26: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/26.jpg)
Odyssey (1/2Odyssey (1/2)) Sistema de Agentes implementado como um conjunto de
bibliotecas de classes Java que providencia suporte a aplicações de agentes móveis
Principiais classes:o classe Agento classe Worker, derivada de Agent
Agent:
o Java Thread Worker:
o conjunto de tarefas e conjunto de destinos
![Page 27: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/27.jpg)
Odyssey (2/2)Odyssey (2/2) Place:
o contexto onde se executa um agente o agentes movem-se de Place a Placeo pode ter controlo de acessoo primeiro place criado: BootPlace
• quando destruído, destrói todo o sistema de agentes Outras Classes:
o Ticketo Meanso Petitiono ProcessName
![Page 28: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/28.jpg)
Voyager (1/2)Voyager (1/2) Linha de produtos da Objectspace para o desenvolvimento de aplicações
distribuídas Principais Componentes:
o Voyager ORB (Free)o Voyager ORB Professional
• ORB + Serviçoso Voyager Management Consoleo Voyager Securityo Voyager Transactionso Voyager Application Server
![Page 29: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/29.jpg)
Voyager (2/2)Voyager (2/2) Recursos:
o habilitação remota de classes
o criação remota de classeso carregamento dinâmico de
classeso mensagens remotaso gestão de excepçõeso garbage-collection
distribuídoo agregação dinâmicao CORBAo mobilidade
o agentes móveis autónomoso activação dinâmica e
persistênciao applets e servletso multicasto publish-subscribeo RMIo Timerso Thread Poolingo mensagens avançadaso segurança
![Page 30: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/30.jpg)
O que são Aglets? (1/8)O que são Aglets? (1/8) Aglets são agentes móveis programados em Java, baptizadas com
o nome da sua workbench (Aglets Workbench ou AWB) Aglet = applet + agente AWB:
o Plataforma de construção de aplicações baseadas em agentes móveiso Tecnologia de agentes móveis 100% pure Javao Desenvolvida no IBM Tokyo Research Laboratory
Java Aglet API (J-AAPI):
o Destinada a programadores de aplicações agenteo define métodos para a criação, gestão de mensagens, despacho,
retorno, activação, desactivação, clonagem e eliminação de aglets.
![Page 31: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/31.jpg)
AWB (2/8)AWB (2/8) A AWB disponibiliza várias ferramentas de suporte às aglets:
o Um construtor visual de Aglets – “Tazza”o Um gestor visual de Aglets – “Tahiti”o Um construtor/lançador de Aglets para a WWW – “Fiji”o Fornece ainda um conjunto de bibliotecas de classes Java para
a construção dos agentes J-AAPI – Classes/Interfaces:
o Aglet: define os métodos básicos o Aglet Context: trata mensagens e interacção com o exterioro Aglet Proxy: evita o acesso aos métodos da classeo Itinerary: especifica o plano de viagem da agleto Message: para comunicação síncrona e assíncrona
![Page 32: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/32.jpg)
AWB (3/8)AWB (3/8) Na arquitectura da AWB temos dois tipos de serviços:
o Aglet Viewers:o Pequenos, existentes usualmente em utilizadores
o Aglet Servers:o Servidores poderosos, operados por prestadores de serviços
![Page 33: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/33.jpg)
AWB (4/8) Para criar uma aglet basta implementar a classe abstracta Aglet e
implementar os métodos que são executados:o onCreation() – sempre que o agente for criadoo onDisposing() – sempre que o agente é destruídoo onDispatching() – sempre que o agente se move para outro
servidoro onArrival() – sempre que o agente chega a um servidoro onDeactivation() – sempre que o agente é desactivado o onActivaction() – sempre que o agente é activadoo onDialog() – define como o agente responde a pedidos de
diálogoo run() – código principal do agente
![Page 34: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/34.jpg)
AWB (5/8)AWB (5/8) Mobilidade:
o A captura/restauração do estado é baseada na seriação de objectos do Java
o A migração é iniciada através da invocação do método dispatch()
o Os agentes indicam o destino através de itineraries
![Page 35: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/35.jpg)
AWB (6/8)AWB (6/8) Comunicação:
o Baseada na classe Message da J-AAPIo Depois da criação a mensagem é enviada para o proxyo O receptor trata a mensagem através do método
handleMessageo Existe um gestor de mensagens que suporta o controlo de
concorrência para as mensagens recebidas Envio de uma mensagem:
AgletProxy proxy = new AgletProxy ( );Message yourName = new Message ( “What is your name?” );Proxy.sendMessage(yourName);
o Recepção de uma mensagem:
public boolean handleMessage ( Message msg ) {if ( “your name?” ).equals( msg.kind ) ) {
msg.sendReply ( “Leonel” );return true;
}else return false;
![Page 36: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/36.jpg)
AWB (7/8)AWB (7/8)
Segurança:o O Modelo de Segurança do AWB é baseado no Modelo de
Segurança do Java e funciona por camadas:o Camada 1 – Segurança ao nível do códigoo Camada 2 – Segurança ao nível de acesso às classeso Camada 3 – Segurança ao nível de dados (encriptação)
o O Gestor de Segurança reconhece dois tipos de aglets:o Aglets Trusted (Confiáveis)o Aglets Untrusted (Desconfiáveis)
o O servidor decide se confia ou não numa aglet através da sua informação de autenticação
o Dependendo da confiança, o servidor garante acesso a certos recursos
![Page 37: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/37.jpg)
AWB (8/8)AWB (8/8) Vantagens:
o Os agentes são em Javao Agentes muito “leves”o Bibliotecas bem estruturadas para várias utilizaçõeso Ambiente já totalmente operacionalo Suporte de Segurança
Desvantagens:
o Não há código fonte disponívelo Ainda não é comercial/suporte ainda não definido
![Page 38: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/38.jpg)
Comparação entre Plataformas de Comparação entre Plataformas de Agentes Móveis (1/3)Agentes Móveis (1/3)
![Page 39: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/39.jpg)
Comparação entre Plataformas de Comparação entre Plataformas de Agentes Móveis (2/3)Agentes Móveis (2/3)
![Page 40: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/40.jpg)
Conclusões (1/2)Conclusões (1/2)o Futuramente os agentes poderão ser bastante úteis para os utilizadores
humanos, realizando tarefas em nome desses utilizadores (e.g. compras online, pesquisa de informação, pagamento de contas, etc.)
o Agentes móveis são agentes que não estão confinados à máquina que os criou. Estes agentes são livres para navegarem numa rede “saltando” de servidor em servidor
o Em cada instante os agentes móveis tentam interagir com os recursos que acham mais adequados. Se um servidor fica muito “pesado” computacionalmente, o agente abandona-o para localizar um outro servidor onde possa continuar a sua execução
Os agentes tornam muito mais fácil o desenvolvimento de vários tipos de sistemas complexos
Os agentes não são os “salvadores da pátria”. Apenas são apropriados na implementação de um certo tipo de aplicações (agent-based applications). Noutros domínios outras tecnologias serão mais apropriadas
![Page 41: Agentes Inteligentes e Sistemas Multi-agente (UE11) Agentes Móveis](https://reader037.vdocuments.site/reader037/viewer/2022102809/56813484550346895d9b62e8/html5/thumbnails/41.jpg)
Conclusões (2/2Conclusões (2/2))
No entanto, ainda não há uma plataforma de facto que seja a melhor e mais usada no mercado.
As plataformas existentes são ainda bastante limitadas.