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

Slides:



Advertisements
Apresentações semelhantes
MODELO OSI Prof. Baroni Cel.:
Advertisements

Capitulo 6: Entrada e Saída
A Interface entre Processadores e Periféricos
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Barramentos Introdução.
Diagrama de Classes.
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Orientação a Objetos: Encapsulamento e Classificação
Sistema para Gerenciamento de Redes Baseado em Agentes Móveis
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Repositório de Interfaces em CORBA
Metodologias Orientadas a Agentes
Interação Cliente Servidor
Modelagem e simulação de sistemas
Agentes Móveis Marcelo Bezerra dAmorim Sumário n Motivação n Introdução ao Paradigma de Agentes Móveis n Vantagens n Conceitos de Agentes Móveis n Tecnologias.
Concepts and Capabilities
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Diagrama de Classes.
Linguagem de Programação
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Mobilidade Cláudia Ribeiro.
TÉCNICAS DE PROGRAMAÇÃO II
JAVA: Conceitos Iniciais
Programação Orientada a Objetos em Delphi
Polimorfismo em C#.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Princípios de Orientação à Objetos
Aula prática 13 Orientação a Objetos – C++ Parte 1
Sistemas Distribuídos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Chamada Remota de Procedimentos
Funcionalidade e Protocolos da Camada de Aplicação
Classes, Objetos, Atributos e Métodos JAVA
Concorrência e Java RMI
Mole: Um Sistema de Agentes Móveis Baseado em Java Curso de Ciência da Computação Departamento de Informática Disciplina de Tópicos Especiais em Computação.
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto. Java RMI.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Aula prática 14 Orientação a Objetos – C++ Parte 2
Projeto de Linguagens de Programação
PROGRAMAÇÃO ORIENTADA A OBJETOS
RMI - JAVA.
ASDK API Aglet API Aglet Event. API Aglet É um pacote Java ( com.ibm.aglet ) que contém classes e interfaces necessárias à programação da interface entre.
Introdução às Java Threads
X.400 Liane Tarouco. Sistemas de mensagens Sistemas e serviços de tratamento de mensagens habilitam os usuários a trocar mensagens na base do armazena-e-envia.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Análise e Projeto de Sistemas
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Desenvolvimento de Software Dirigido a Modelos
Construtores e Destrutores
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Engenharia de Software e Sistemas
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
Introdução a Orientação a Objetos
Diagrama de Objetos.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Engenharia de Software Orientada a Objetos
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Tipo Abstrato de Dados (TAD) Estrutura de Dados Professor: Rodrigo Alves Sarmento Professor: André Cypriano.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

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.

I I Identificador 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.

Resouces 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 Class Code ORIGINDESTINATION 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