1 / 33

O Modelo Aglet

O Modelo Aglet. Elementos Básicos Modelo de Eventos Modelo de Comunicação. Introdução. Desenvolvido por IBM Japão Objetivos Fornecer um modelo simples e compreensivo de programação de agentes móveis. Disponibilizar mecanismos de comunicação poderosos e dinâmicos.

Download Presentation

O Modelo Aglet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. O Modelo Aglet Elementos Básicos Modelo de Eventos Modelo de Comunicação

  2. Introdução • Desenvolvido por IBM Japão • Objetivos • Fornecer um modelo simples e compreensivo de programação de agentes móveis. • Disponibilizar mecanismos de comunicação poderosos e dinâmicos. • Projetar uma arquitetura de agentes móveis que permite extensibilidade e reusabilidade.

  3. Introdução • Modelo projetado para se beneficiar das características de agentes em Java, enquanto sobrepujando algumas das deficiências no sistema de linguagem. • Aglet é um objeto móvel que tem sua própria thread de controle, é dirigido a evento e se comunica por passagem de mensagem.

  4. Introdução • Características dos aglets • Autonomia • Habilidade social • Mobilidade • Persistência • Reatividade

  5. O Modelo Aglet Elementos Básicos Modelo de Eventos Modelo de Comunicação

  6. Abstrações Aglet Context Identifier Message Proxy Comportamento Creation Cloning Disposal Dispatching Retraction Activation Deactivation Messaging Elementos Básicos

  7. Principais Abstrações • Aglet • É um objeto Java capaz de mover-se em uma rede de computadores. • Context • É um objeto estacionário que provê o meio para manutenção e gerenciamento de aglets em execução.

  8. Principais Abstrações • Identifier • É um valor global e imutável dado a um aglet a fim de identificá-lo univocamente. • Message • É um objeto transmitido entre aglets para troca de informações.

  9. Principais Abstrações • Proxy • É um objeto representante de um aglet, que serve como protetor do aglet, quanto ao acesso direto a seus métodos públicos. • Provê transparência de localização para o aglet, isto é, oculta o aglet de sua localização real.

  10. Comportamento • Instanciação de um aglet • A partir de sua criação (creation) • Através de cópia de um aglet existente (cloning) • Destruição de um aglet • Disposal

  11. Comportamento • Mobilidade • Ativa (dispatching) • Passiva (retraction) • Economia de recursos • Activation • Deactivation • Troca de informações • Messaging

  12. Operações • Creation • Toma lugar em um contexto. • É atribuído um identificador ao novo aglet. • É inserido dentro do contexto e inicializado. • O aglet inicia a execução logo após ser inicializado com sucesso.

  13. Operações • Cloning • Produz uma cópia quase idêntica do aglet original, no mesmo contexto. • A única diferença é o identificador atribuído e o fato que a execução reinicia no novo aglet. • Threads de execução não são clonadas.

  14. Operações • Disposal • Execução do aglet é finalizada. • Remoção do aglet de seu contexto corrente.

  15. Operações • Dispatching • Operação é solicitada no host corrente. • Aglet é removido do contexto corrente e inserido (“pushed”) no contexto destino (código + estado). • No destino, reinicia a execução (thread de execução não migra – mobilidade fraca).

  16. Operações • Retraction • Operação é solicitada no host remoto. • A retração de um aglet “pull” (puxa) ele a partir do seu contexto corrente e o insere dentro do contexto, no qual a retração foi solicitada.

  17. Operações • Deactivation • A desativação de um aglet corresponde a, temporariamente, parar sua execução e armazenar seu estado em memória secundária.

  18. Operações • Activation • A ativação de um aglet o restaura no mesmo contexto.

  19. Dispose Clone Dispatch Retract Deactivate Create Activate Ciclo de Vida de um Aglet Context A Context B Aglet Aglet Class File Disk Storage

  20. Context A Context B Dispose Clone Dispatch Aglet Aglet Retract Deactivate Activate Create Class File Disk Storage Ciclo de Vida de um Aglet

  21. O Modelo Aglet Elementos Básicos Modelo de Eventos Modelo de Comunicação

  22. Modelo de Eventos • O modelo de programação aglet é baseado em eventos. • O modelo permite ao programador “plug in” listerners personalizados (especializados) dentro de um aglet. • Listenersdetêm eventos particulares no ciclo de vida de um aglet e permitem ao programador tomar uma ação.

  23. Modelo de Eventos • Tipos de eventos e respectivos listeners Aglet CloneListener Clone Events MobilityListener Mobility Events PersistencyEvents PersistencyListener

  24. Modelo de Eventos • CloneListener • Ouve eventos de clonagem • Personaliza-se este listener para tomar ações específicas • Antes da clonagem • Depois da clonagem

  25. Modelo de Eventos • MobilityListener • Ouve eventos de mobilidade • Personaliza-se este listener para tomar ações específicas • Antes do despacho • Durante retração • Depois que o aglet chegou em um novo contexto

  26. Modelo de Eventos • PersistencyListener • Ouve eventos persistentes • Personaliza-se este listener para tomar ações específicas • Antes da desativação • Após ativação

  27. O Modelo Aglet Elementos Básicos Modelo de Eventos Modelo de Comunicação

  28. Modelo de Comunicação • Aglets se comunicam por passagem de mensagem. • A facilidade de passar mensagem permite aos aglets criar e trocar mensagens de forma flexível. • Por padrão, um aglet não manipula mensagens concorrentemente.

  29. Modelo de Comunicação • Componentes do modelo de comunicação • Aglet • Proxy • Message • Future Reply • Reply Set

  30. Aglet/Aplication Message Message Proxy Aglet Reply Reply Modelo de Comunicação

  31. Componentes • Aglet • Proxy • Message • Uma mensagem é um objeto trocado entre aglets. • É permitida a passagem de mensagem assícrona, bem como, a passagem de mensagem síncrona entre aglets. • Passagem de mensagem pode ser usada por aglets para colaborar e trocar informação em um modo acoplado fracamente.

  32. Componentes • Future Reply • É usado em envio de mensagem assíncrono, como uma manipulação que permite ao remetente de uma mensagem receber uma resposta (reply) assincronamente.

  33. Componentes • Reply Set • Pode conter múltiplos reply futuros e, é usado para obter resultados quando se tornam disponíveis. • Com este objeto, o remetente pode escolher obter o primeiro resultado e ignorar respostas subseqüentes.

More Related