A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Framework Aglets (para Agentes Móveis) Roseli Honorio.

Apresentações semelhantes


Apresentação em tema: "Framework Aglets (para Agentes Móveis) Roseli Honorio."— Transcrição da apresentação:

1 Framework Aglets (para Agentes Móveis) Roseli Honorio

2 O que é um Agente? Um agente é uma entidade autônoma, que toma decisões sozinha sem a interferência de um sistema ou outra entidade. Um agente deve ser capaz de interagir com o ambiente à sua volta e com outros agentes, escolhendo confiar e cooperar ou não com os mesmos. (http://pt.wikipedia.org/wiki/Agente )http://pt.wikipedia.org/wiki/Agente

3 O que é IAD? A inteligência artificial distribuída (IAD) é um subcampo da inteligência artificial que tem investigado modelos de conhecimento, assim como, técnicas de comunicação e raciocínio, que agentes computacionais devem necessitar para participar em sociedades compostas por computadores e pessoas. (www.inf.ufrgs.br/~pjaques/papers/dissertacao/cap3.html)

4 Como é dividida a IAD? Resolução distribuída de problemas; Sistemas Multi-Agentes

5 Resolução Distribuída de Problemas – (DPS) Resolução de um problema em particular; Não podem ser usados em qualquer outro tipo de problema, mesmo que seja semelhante; Número de agentes fixos; Possui visão especifica e incompleta do problema; Devem cooperar entre si para chegar a solução;

6 Sistemas Multi-Agentes Nestes sistemas os agentes são entidades autônomas que têm conhecimento da sua própria existência e da existência de outros agentes e, portanto, colaboram um com os outros para atingirem um objetivo comum dentro de um ambiente.

7 Sistemas Multi-Agentes (outro conceito) Os Sistemas Multi-agentes constituem uma sociedade de agentes, cada um interagindo entre si, com suas tarefas definidas e com um conhecimento prévio sobre o ambiente em que irão atuar.

8 Grupos de Agentes Reativos: somente reagem aos estimulos recebidos do ambiente, não possuem memória de suas ações e agem como se fossem insetos; Cognitivos: ao contrário dos reativos, possuem memória e conhecimento de outros agentes e de seu ambiente e devem ter e/ou respeitar algumas características;

9 Características dos Agentes Percepção: capacidade de perceber mudanças no ambiente em que estão inseridos; Ação: ações tomadas conforme seus objetivos dentro do ambiente; Comunicação: uma das ações necessárias para que o agente alcance seus objetivos, ou seja, é através da comunicação com outro agente que ele mudará seu estado atual para um outro estado, mais próximo de seu objetivo final; Representação: alguma representação simbólica de seu conhecimento em relação a outros agentes e seu ambiente;

10 Características dos Agentes Motivação: uma representação não somente de conhecimento, mas também de desejos, crenças e intenções do agente em relação a outro agente ou do ambiente onde ele está inserido, por iniciativa própria; Deliberação: a capacidade de decidir entre o estado atual e novo estado, conforme seu conhecimento e sua motivação; Raciocínio e Aprendizagem – utilizando técnicas de modelagem do conhecimento aplicadas à Inteligência Artificial, pode-se criar agentes com um certo nível de Raciocínio e Aprendizagem.

11 Agentes Móveis - Conceitos São processos computacionais capazes de navegar numa rede (possivelmente na WEB) interagindo com hosts externos colhendo informações em auxilio ao usuário e a ele retornando quando finaliza a tarefa de sua responsabilidade. São programas que podem ser despachados de um computador e transferidos para outro computador, continuando sua execução.

12 Arquitetura Agente Móveis Agente Sistema Operacional Software Base Base de Dados real lógico migração

13 Agente Móveis - Estrutura Estado - necessário para continuar a execução após a locomoção; Implementação - código que dá comportamento ao agente; Interface - para que possa haver comunicação entre agentes; Identificador - único e imutável; e, Autoridades - autor e dono.

14 Agentes Móveis - Aplicação no controle de tráfego aéreo; no controle de linhas de produção; no gerenciamento de negócios; em ambientes de aprendizagem; no entretenimento; no comércio eletrônico; e, em aplicações para a internet em geral.

15 Agentes Móveis - Vantagens Redução do tráfego de rede; Oculta a latência da rede; Encapsulamento de protocolo; Execução assíncrona e autônoma; Adaptação dinâmica; Independência de plataforma; Robustez e tolerância a falhas;

16 Aglets Aglets é uma plataforma baseada em um applet Java para o desenvolvimento de agentes moveis. Onde alguns métodos de comportamento do agente já estão definidos, e pode-se criar novos estendendo a classe afim de criar novas funcionalidades. (http://aglets.sourceforge.net/home.htm)http://aglets.sourceforge.net/home.htm Aglets foram desenvolvidos no laboratório da IBM em Tokyo, por Mitsuro Oshima and Danny Lange. O nome original do projeto era AWB – Aglets WokBench, mas simplificaram para Aglets. A IBM é responsável pela versão 1.x, já a versão 2.x é totalmente desenvolvida opensource e esta no site Sorceforge.net (http://aglets.sourceforge.net/home.htm)http://aglets.sourceforge.net/home.htm

17 Elementos Básicos O modelo aglet define um conjunto de abstrações e o comportamento necessário para influenciar a tecnologia de agentes móveis em redes de longa distância, como a Internet, ou em redes locais que sigam a mesma tecnologia.

18 Elementos Básicos (cont...) Abstrações Aglet; Context; Identifier; Message; Proxy; Comportamentos Creation Cloning Disposal Dispatching Retraction Activation Deactivation Messaging

19 Visão Geral da API Aglet

20 Principais Abstrações Aglet: É um objeto java capaz de mover-se em uma rede de computadores; 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.

21 Principais Abstrações Context: Um contexto é um lugar de trabalho do aglet. Corresponde aproximadamente ao conceito de place. O ambiente no qual os aglets operam. O sistema operacional para o aglet. Lugar no qual um aglet pode executar. É um objeto estacionário que provê o meio para manter e gerenciar aglets rodando em um ambiente de execução uniforme, onde o host é seguro contra aglets maliciosos.

22 Principais Abstrações (cont...) Identificador; É ligado a cada aglet. É globalmente único e imutável durante o tempo de vida do aglet. Message: É um objeto transmitido entre aglets para troca de informações;

23 Comportamento Instanciação de um aglet: A partir de sua instanciação: (creation) Através de uma cópia de um aglet existente (cloning) Destruição de um aglet: Disposal

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

25 O Ciclo de Vida de um Aglet Aglet Class File Disk Storage Activate Dispatch Retract Clone Create Deactivate Dispose Context AContext B

26 O Modelo de Eventos para Aglets O modelo de programação aglet é baseado em evento. O modelo permite ao programador plug in listerners customizados (especializados) dentro de um aglet. Listeners detém eventos particulares no ciclo de vida de um aglet e permite ao programador tomar uma ação, por exemplo, quando um aglet está sendo despachado.

27 O Modelo de Eventos Aglet MobilityListener CloneListener PersistencyListener Clone Events Mobility Events Persistency Events Existem três tipos de listeners :

28 O Modelo de Eventos Clone Listener Ouve eventos de clonagem. Customizar este listener para tomar ações específicas quando: (a) um aglet é para ser clonado, (b) quando o clone é realmente criado, ou (c) após a clonagem ter tomado lugar.

29 O Modelo de Eventos Mobility Listener Ouve eventos de mobilidade. Usa-se este listener para tomar ação quando: (a) um aglet é despachado para outro contexto; (b) um aglet é retracted de um outro contexto; (c) o aglet, realmente, chega em um novo contexto.

30 O Modelo de Eventos Persistence Listener Ouve para eventos persistentes. Permite ao programador tomar ação quando: (a) um aglet é para ser desativado, ou (b) após ele ter sido ativado.

31 O Modelo de Comunicação Aglet Aglets se comunicam por passagem de messagem. A facilidade de passar mensagem permite aglets a criar e trocar mensagens em modos flexíveis. Por default, um aglet não manipula mensagens concorrentemente. Isto significa que todas as mensagens são manipuladas uma-a-uma.

32 O Modelo de Comunicação Aglet São componentes do modelo de comunicação: Aglet Proxy Message Future Reply Reply Set

33 O Modelo de Comunicação do Aglet Aglet/Aplication Proxy Aglet Message Reply Message Reply

34 O Modelo de Comunicação Aglet Aglet Proxy Message Uma mensagem é um objeto trocado entre aglets. É permitido a passagem de mensagem assícrona, bem como, a passagem de mensagem síncrona entre aglets. Passagem de mensagem pode ser usado por aglets para colaborar e trocar informação em um modo acoplado fracamente.

35 O Modelo de Comunicação Aglet Future replay É usado em envio de mensagem assíncrono, como uma manipulação que permite o sender de uma mensagem receber um reply assincronamente. Reply Set Um reply set pode conter múltiplos reply futuros e é usado para obter resultados quando também torna-se disponíveis. Com este objeto, o sender pode também escolher para obter o primeiro resultado e ignorar respostas subseqüentes.

36 Aglet Package – The Aglet API É um pacote Java consistindo de classes e interfaces. Mais notadamente com as classes: - Aglet - AgletProxy - AgletContext - Message - FutureReply - AgletID

37 Aglet Package – The Aglet API Usa-se para criar e operar aglets. Contém métodos: - inicializar um aglet - manipular mensagens - despachar ou expedir um aglet - desativar ou ativar - retirar ou recolher (retracting) - clonagem - desfazer-se de um aglet (disposing)

38 API Aglet Simples Flexível É um pacote Java consistindo de classes e interfaces. Nome completo do pacote: com.ibm.aglet


Carregar ppt "Framework Aglets (para Agentes Móveis) Roseli Honorio."

Apresentações semelhantes


Anúncios Google