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

Post on 22-Apr-2015

122 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

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.

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.

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.

II

IdentificadorIdentificador

Interface

Implementation

State

Principals

Propriedades de Agentes

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.

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.

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.

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.

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.

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).

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.

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.

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.

Principals

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

• Para agentes, existem pelo menos dois principals:

- Manufacturer

- Proprietário

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).

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.

ResoucesResouces

Agents

Place

Engine

Host

Place e Engine

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.

Place

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

• Existem quatro papéis importantes para places:

Engine, Resources,

Localização, Principals

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.

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.

Host

Engines

Places

Agents

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.

Engines

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

Recursos

Localização

Principals

Comportamento do Agente

• Dois aspectos:

- Criação do agente.

- Destruição do agente.

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.

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.

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:

NETWORK

Transfer Data

Encode Data

Suspend Execution

Serialize Agent

Sender

Resume Execution

Deserialize Agent

Decode Data

Receice Data

Receiver

Agent Transfer

Agent Agent

Class Code Class Code

Class Code

ORIGIN DESTINATION

SERVER

(b) (a)

(c)

NOW-TYPE MESSAGE

COMUNICAÇÃO SÍNCRONA

SENDER

RECEIVER

COMUNICAÇÃO

ASSÍNCRONA

FUTURE –TYPE

MESSAGE

SENDER

RECEIVER

ONE WAY – TYPE MESSAGE

SENDER

RECEIVER

top related