elementos de um sistema de agentes móveis agentes e places comportamento de agentes comunicação...

41
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Upload: internet

Post on 22-Apr-2015

122 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Elementos de um Sistema de Agentes Móveis

Agentes e Places

Comportamento de Agentes

Comunicação

Padronização OMG/MASIF

Page 2: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Introdução

• Objetivo: entendimento dos elementos de um sistema de agentes móveis.

• O modelo conceitual básico de agentes móveis: baseado sobre dois conceitos:

Agente e Place• Essências do comportamento de um agente: Criação, liberação, transferência sobre a rede, e conceitos de comunicação de agentes.• Breve overview do MASIF

Page 3: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Agente e Place

• Os dois conceitos fundamentais no modelo de agentes móveis são agente e seu ambiente de execução, o qual chamaremos de place.

• Agente: um agente móvel é uma entidade que tem cinco atributos:

identificador, interface, estado,

implementação e principals.

Page 4: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Agente

• Quando o agente se move na rede, ele leva estes atributos com ele.

• State: necessário para que o agente retorme a execução após a viagem.

• Implementação: necessária para execução de agente independente de localização.

Page 5: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Agente

• Interface: necessária para a comunicação do agente.

• Identificador: necessário para reconhecer e localizar agentes viajando na rede.

• Principals: necessários para determinar responsabilidade legal e moral.

Page 6: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Agentes

• Hipótese básica: agentes são construídos de acordo aos princípios da programação orientada -a-objeto.

• Conceitos da OO:

classe, instanciação, estado, variável de

instância.

Page 7: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

II

IdentificadorIdentificador

Interface

Implementation

State

Principals

Propriedades de Agentes

Page 8: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Estado / State

• Quando um aglet viaja, ele transporta seu estado com ele.

• No sentido de retomar execução no host destino.

• O estado do agente, em qualquer tempo é um “snapshot” de sua execução.

• O estado pode ser partido entre o estado de execução e o estado de objeto.

Page 9: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Estado

• Estado de execução é o o seu estado de runtime (incluindo o contador de programa e a pilha).

• Estado do Objeto é o valor das variáveis de instância no objeto.

Page 10: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Estado

• Agentes não são sempre requeridos capturar e transportar seu estado de execução com ele, no sentido de retomar execução no host destino.

• Em muitos casos, uma aproximação será suficiente.

Page 11: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Estado

• Os valores das variáveis de instância podem auxiliar o agente, a determinar o que fazer quando ele retoma execução no destino.

Page 12: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Estado

• Esta é uma aproximação apropriada para agentes baseados em Java que geralmente não podem acessar seu estado de execução.

• Java não provê acesso à informação da pilha.

Page 13: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Implementação

• Um agente necessita código para executar.

• Quando ele migra, ele tem a opção de executar seu código de implementação, ou chegar no destino, vendo qual código já está lá, e recuperar qualquer código faltando, através da rede (código sob demanda).

Page 14: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Interface

• Um agente provê uma interface que permite outros agentes interagirem com ele.

• Uma interface é uma assinatura de métodos que permite outros agentes e aplicações acessarem métodos sobre o agente, permitindo agentes se comunicarem.

Page 15: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Identificador

• Todo agente tem um identificador que é único durante seu tempo de vida.

• Agentes requerem identificadores de modo que eles possam ser identificados e localizados.

Page 16: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Principals

• Um principal é uma entidade cuja identidade pode ser autenticada por qualquer sistema que o principal pode tentar acessar.

• Um principal pode ser um indivíduo, uma organização ou uma corporação.

Page 17: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Principals

• Uma identidade consiste de um nome e possivelmente outros atributos.

• Para agentes, existem pelo menos dois principals:

- Manufacturer

- Proprietário

Page 18: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Principals

• Manufacturer: o autor (isto é, o provedor da implementação do agente).

• Proprietário: o principal que tem a responsabilidade legal e moral para o comportamento do agente (por exemplo, o criador do aglet).

Page 19: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Place

• O ambiente no qual os agentes operam.

• Agentes viajam entre places.

• A visão mais comum de um place é aquela de um contexto no qual um agente pode executar.

• Ver figura PLACE AND ENGINE.

Page 20: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

ResoucesResouces

Agents

Place

Engine

Host

Place e Engine

Page 21: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Place

• Pode-se considerar como um ponto de entrada onde agentes visitantes podem executar.

• Um place provê um conjunto de serviços, uniforme, que o agente pode contar, independente de sua localização específica.

Page 22: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Place

• Pode-se considerar como o sistema operacional para o agente.

• Existem quatro papéis importantes para places:

Engine, Resources,

Localização, Principals

Page 23: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Engines

• Em um sistema de agentes móveis, o engine é identificado como a máquina virtual Java e o sistema operacional da máquina.

• Máquina Virtual e sistema operacional para um ou mais places e seus agentes.

• Places não podem eles próprios executarem agentes.

Page 24: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Engines

• A engine define uma estrutura hierárquica.

• Um dado computador em uma rede pode hospedar múltiplos engines; cada engine pode reter múltiplos places, e cada place contém múltiplos agentes.

• Ver figura The Agent Model Pyramid.

Page 25: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Host

Engines

Places

Agents

Page 26: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Engines

• O fato que um engine pode conter mais do que um place, requer que places tenham nomes únicos dentro de um engine.

• Alguns sistemas de agentes podem não ter o conceito de place explícito.

Page 27: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Engines

• Em tais sistemas pode-se considerar a própria engine como um tipo de place.

Page 28: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Recursos

Page 29: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Localização

Page 30: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Principals

Page 31: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Comportamento do Agente

• Dois aspectos:

- Criação do agente.

- Destruição do agente.

Page 32: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Criação e Destruição

• Um agente é criado em um place.

• A criação pode ser iniciada ou por um outro agente residindo no mesmo place ou por um outro agente ou um sistema que não é de agentes fora do place.

Page 33: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Criação e Destruição

• Ao criador é requerido autenticar-se ao place, estabelecendo a autoridade e credenciais que o novo agente possuirá.

• O criador supre também argumentos de inicialização para o agente sendo criado.

Page 34: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Criação e Destruição

• A definição de classe necessária para instanciar o agente pode estar presente no host local ou em um host remoto, ou se necessário, pode ser provido pelo criador.

• O processo de criação envolve três etapas:

Page 35: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF
Page 36: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

NETWORK

Transfer Data

Encode Data

Suspend Execution

Serialize Agent

Sender

Resume Execution

Deserialize Agent

Decode Data

Receice Data

Receiver

Agent Transfer

Page 37: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

Agent Agent

Class Code Class Code

Class Code

ORIGIN DESTINATION

SERVER

(b) (a)

(c)

Page 38: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

NOW-TYPE MESSAGE

COMUNICAÇÃO SÍNCRONA

SENDER

RECEIVER

Page 39: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

COMUNICAÇÃO

ASSÍNCRONA

FUTURE –TYPE

MESSAGE

SENDER

RECEIVER

Page 40: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF

ONE WAY – TYPE MESSAGE

SENDER

RECEIVER

Page 41: Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF