Java e Agentes Mveis z Implementao de Sistemas
- Slides: 20
Java e Agentes Móveis z Implementação de Sistemas de Agentes Móveis y diversos desafios técnicos, principalmente com respeito ao ambiente onde os agentes devem operar y além da capacidade de mobilidade, os agentes devem ter a capacidade de rodar de maneira segura z Principais Requisitos y Portabilidade: chegando a um servidor, um agente deve ser capaz de ser executado y Comunicação via Rede: o mecanismo de acesso a rede deve ser simples e confiável y Segurança no Servidor: proteção para o servidor (sandbox) e para o agente
Java e Agentes Móveis z Java e os Requisitos y Portabilidade x. Java utiliza uma máquina virtual x. Programas são enviados na forma de bytecodes y Comunicação via Rede x. Java provê acesso simples à rede xserialização e RMI y Segurança no Servidor x. Security Manager: quais recursos um programa Java pode acessar xmáquina virtual possui um verificador de bytecodes: • impede o uso de sequências de código proibidas
IBM Aglets z Aglet Workbench y Tecnologia de agentes móveis 100% Pure Java y Desenvolvido no IBM Tokyo Research Laboratory z Aglets y objetos Java que podem mover-se de um host para outro z Java Aglet API (J-AAPI) y define métodos para a criação, gerenciamento de mensagens, despacho, retorno, ativação, desativação, cloneamento e descarte de aglets. y API é independente de plataforma, e utiliza o JDK 1. 1 z Agent Transfer Protocol (ATP) y protocolo a nível de aplicação para sistemas baseados em agentes distribuídos
IBM Aglets z ATP - Métodos Padrões para Requisição y Dispatch: requisita à agência destino que reconstrua o agente que é enviado como conteúdo da requisição, e inicie sua execução. Se a requisição tiver sucesso, o emissário deve terminar o agente localmente e liberar os recursos por ele alocados y Retract: requisita à agência destino que envie de volta o agente especificado na requisição. O destinatário deve então enviar o agente, e se a transferência tiver sucesso, terminar localmente o agente, liberar seus recursos y Fetch: requisita o envio de informações (semelhante ao GET do HTTP) y Message: usado para passar mensagens para o agente especificado e receber uma mensagem de resposta deste
IBM Aglets z Servidor de Agentes (Agência) y Tahiti y usa a porta 434 para comunicação, configurável y para transferência entre agências, usa o ATP y usa uma GUI para monitorar e controlar aglets executando no servidor z Recursos y iniciar novos aglets, verificar os aglets que estão rodando no sistema, enviar, requisitar e matar aglets y informações sobre uso de memória, threads e mensagens de log
IBM Aglets z Principais Classes y Aglet xclasse abstrata que define os métodos fundamenais para agentes móveis xtodo agente móvel deve extender a classe Aglet xvariável Aglet. Info armazena atributos e informações sobre o criador e o host onde o Aglet foi criado y Aglet. Proxy xutilizada para permitir a comunicação entre aglets x. Aglets nunca são acessados diretamente, mas somente por meio de seu Proxy y Message xclasse utilizada para a comunicação entre Aglets
IBM Aglets z Mecanismo de Troca de Mensagens y Todo aglet deve implementar o método handle. Message y método recebe um objeto do tipo Message z Tipos de Mensagens y Now-type: mensagem síncrona e bloqueante y Future-type: mensagem assíncrona e não-bloqueante. Método retorna um objeto Future. Reply y Oneway-type: mensagem assíncrona e não-bloqueante. Difere da mensagem future-type porque é colocada no final da fila, mesmo que seja mandada para o próprio aglet, e não tem um valor de retorno y Normalmente, se um aglet manda uma mensagem para si próprio, esta é colocada no início da fila e não no final, para evitar deadlocks.
IBM Aglets z Mecanismos de Segurança y autenticação de usuários e domínios y verificação da integridade após a comunicação y mecanismo de autorização similar ao security model do JDK 1. 2 z Mecanismo de Transferência y utiliza a API de comunicação, que abstrai a comunicação entre sistemas de agentes y derivado do MASIF z Garbage-Collection y Aglets nunca são afetados pelo mecanismo de garbagecollection y necessitam ser explicitamente destruídos
Mitsubishi Concordia z Concordia y framework de desenvolvimento e gerenciamento de agentes móveis em Java y consiste de múltiplos componentes, todos eles escritos em Java z Concordia System y Java Virtual Machine y Concordia Server y Pelo menos um agente em um nó de rede z Usualmente y vários servidores Concordia, um em cada nó de rede
Componentes do Concordia z Agent Manager y provê a infra-estrutura de comunicação que permite a mobilidade dos agentes. Abstrai a interface de rede z Security Manager y protege recursos e garante a segurança e integridade dos agentes e seus dados. Pode ser configurado via uma GUI z Persistence Manager y mantém o estado de agentes e objetos em trânsito pela rede. Permite a reinicialização de um agente no caso de uma falha no servidor z Inter-Agent Comunication Manager y gerencia o registro, postagem e notificação de eventos entre agentes. Permite eventos do tipo Multicast (múltiplos destinatários)
Componentes do Concordia z Queue Manager y responsável pelo sequenciamento e envio garantido entre servidores Concordia z Directory Manager y provê um serviço de nomes para aplicações e agentes z Administration Manager y provê administração remota de um sistema Concordia. Somente um em toda a rede z Agent Tool Library y 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
Desenvolvimento de Agentes Concordia z Desenvolvimento pode ser feito de maneiras diferentes y normalmente, extende-se a class Agent, que possui todos os métodos necessários para um agente ser executado e viajar pela rede y movimentação do agente é especificada por meio de um itinerário, composto de uma lista de destinos y cada destino, indica o nome de uma máquina na rede para onde o agente deve viajar, e o nome do método do agente que deve ser executado quando o agente chegar ao seu destino y um objeto Agent. Transporter é utilizado para iniciar, receber e executar agentes Concordia y diversas classes de agentes podem ser criadas x. Collaborator. Agent x. Secure. Agent xetc.
General Magic Odyssey z Odyssey y Sistema de Agentes implementado como um conjunto de bibliotecas de classes Java que provê suporte a aplicações de agentes móveis z Principais Classes y classe Agent y classe Worker, derivada de Agent z Agent y Java Thread z Worker y conjunto de tarefas e conjunto de destinos
General Magic Odyssey z Place y contexto onde um agente executa y agentes se movem de Place a Place y pode ter controle de acesso y primeiro place criado: Boot. Place xquando destruído destrói todo o sistema de agentes z Outras Classes y Ticket y Means y Petition y Process. Name z Interfaces y Agent. System, Finder, Transport
Objectspace Voyager z Voyager y Linha de produtos da Objectspace para o desenvolvimento de aplicações distribuídas z Principais Componentes y Voyager ORB (Free) y Voyager ORB Professional x. ORB + Serviços y Voyager Management Console Security Transactions Application Server
Objectspace Voyager z Recursos y habilitação remota de classes y criação remota de classes y carregamento dinâmico de classes y mensagens remotas y gerenciamento de excessões y garbage-collection distribuído y agregação dinâmica y CORBA y mobilidade y agentes móveis autônomos y ativação dinâmica e persistência y applets e servlets
Objectspace Voyager z Recursos y Serviço de nomes unificando diversos outros disponíveis comercialmente y multicast y publish-subscribe y RMI y Timers y Thread Pooling y Mensagens Avançadas y Segurança
Comparação entre Sistemas de Agentes
Comparação entre Sistemas de Agentes
Comparação entre Sistemas de Agentes
- Agentes depresores de la actividad de agua
- Mustaciones
- Agentes de socialización
- Bacteriolitico
- Agentes quimicos
- Agente reflejo simple
- Mutagenos quimicos
- Agentes generadores de suelo
- Agentes cognitivos
- Agentes economicos
- Tabla de comisiones agentes de seguros
- Agentes economicos del mercado
- Que son los agentes economicos
- Agente reflejo simple
- Agentes honoríficos
- Calor seco flameado
- Quienes son los agentes superavitarios
- Agentes surfactantes
- Agentes do intemperismo
- Agentes modeladores do relevo
- Formas farmaceuticas liquidas