JADE : Java Agent DEvelopment Framework JADE

Tamanho: px
Começar a partir da página:

Download "JADE : Java Agent DEvelopment Framework JADE"

Transcrição

1 : Java Agent DEvelopment Framework sharon.cselt.it/projects/jade Framework para desenvolvimento de software, no projecto de sistemas multi-agente e aplicações conforme as normas da FIPA Escrito em JAVA, compreende várias packages JAVA Agent Platform Agent AMS DF Message Transport Protocol 2 1

2 Agent Management System (AMS) Supervisão sobre acesso e uso da plataforma. Mantém directoria de identificadores de agentes (AID) e seu estado. Todos os agentes se registam em AMS. Em uma plataforma, existe apenas um AMS. Directory Facilitator (DF) Serviços de páginas amarelas. Quando plataforma é lançada, AMS e DF são criados automaticamente 3 Plataforma pode ter vários containers, onde residem os agentes Containers não estão necessariamente na mesma máquina Em cada plataforma existe um container especial: main container, reside na máquina onde corre o servidor RMI Comunicação Receptor no mesmo container : Passagem como evento Receptor na mesma plataforma, mas noutro container : RMI Receptor numa plataforma diferente : Protocolo IIOP 4 2

3 Suporta mobilidade intra-plataforma e clonagem Plataforma pode estar distribuída através de múltiplas máquinas (em cada máquina está um container ) Agentes podem migrar entre containers domove(location) beforemove() / aftermove() Agentes podem ser clonados doclone(location, String) beforeclone() / afterclone() 5 Execução Alterar a variável CLASSPATH %%\lib\jade.jar;%\lib\jadetools.jar;%%\lib\base64.jar; %%\lib\iiop.jar; Executar o comando: java jade.boot [options] [agentlist] lança main container que inclui AMS e DF [options] -container -host HostName (p.defeito, máquina local) -port PortNumber (p.defeito, 1099) -gui (GUI do RMA)... [agentlist] identificadores de agentes separados por espaços identificador = nome:nome_classe 6 3

4 Execução Lançar agentes na plataforma i. Usando RMA seleccionar container e usar botão Start New Agent ii. A partir da linha de comando, quando se arranca java jade.boot gui nome:nomeclasse (ex: java jade.boot gui ping0:examples.pingagent.pingagent) 7 Execução Múltiplos containers Na mesma máquina Iniciar java jade.boot gui Adicionar novo container com agente java jade.boot container agentid Em máquinas diferentes Iniciar na máquina MCCARTHY java jade.boot gui Adicionar novo container com agente na máquina MARKOV java jade.boot host MCCARTHY -container agentid agente vive na máquina MARKOV, mas pertence à plataforma que corre na máquina MCCARTHY; o seu endereço é 8 4

5 Ferramentas que simplificam a administração da plataforma e desenvolvimento de aplicações Remote Monitoring Agent Dummy Agent Sniffer Agent Introspector Agent Directory Facilitator GUI 9 Remote Monitoring Agent (RMA) Consola gráfica para controlo da plataforma Vizualização do estado de agentes e containers Pode existir mais que um RMA na mesma plataforma Em um container, apenas pode existir um RMA Como executar: Como um agente normal java jade.boot myconsole:jade.tools.rma.rma Usando o argumento -gui java jade.boot gui 10 5

6 (RMA) 11 Dummy Agent Ferramenta de monitoração e debugging Permite enviar, receber e visualizar mensagens ACL Como executar: A partir da linha de comando java jade.boot da:jade.tools.dummyagent.dummyagent A partir do menu do RMA GUI botão Start DummyAgent 12 6

7 (DummyAgent) 13 Sniffer Agent Quando se espia um agente (ou grupo), as mensagens dirigidas ou enviadas a este são visualizadas com notação semelhante a diagramas de sequência UML Quando um agente ou container é criado ou destruído, Sniffer é informado de imediato pelo AMS Como executar: A partir do menu do RMA GUI botão Start Sniffer nome do agente sniffer é atribuído pelo sistema botão Start New Agent Name: XXXX ClassName: jade.tools.sniffer.sniffer 14 7

8 (SnifferAgent) 15 Directory Facilitator (DF) GUI DF fornece serviços de páginas amarelas. Agentes podem registar os seus serviços no DF, ou questionar o DF Em cada plataforma, existe pelo menos um DF Como executar: A partir do menu do RMA GUI Tools Show the DF GUI Introspector Agent Monitoração ciclo de vida de um agente: mensagens enviadas e recebidas e fila de comportamentos. Como executar: A partir do menu do RMA GUI botão Start IntrospectorAgent 16 8

9 (DF Gui) 17 Classe Agent classe base para construção de agentes Início execução do agente 1. É executado o construtor 2. É atribuído um identificador ao agente, que é registado no AMS identificador = nomelocal + maquina:porto + / 3. É executado o método setup() O método setup() é usado para: Modificar dados registados no AMS Atribuir serviços ao agente, e registar o agente em um ou mais domínios (DFs) Adicionar comportamentos (obrigatório pelo menos um). Estes são escalonados assim que termina método setup() 18 9

10 Parar execução do agente Agent.doDelete() pára execução agente Agent.takeDown() método que pode ser reescrito pelo utilizador para qualquer limpeza antes de agente ser destruído. Comunicação Passagem de mensagens assíncrona Trocados objectos da classe ACLMessage Agent.send(msg) envia uma mensagem Agent.receive() recepção mensagem Agent.blockingReceive() recepção mensagem; suspende toda a actividade do agente até que uma mensagem seja recebida 19 Implementação de comportamentos Tarefas dos agentes são implementadas como objectos Behaviour Agent.addBehaviour(Behaviour1) Agent.removeBehaviour(Behaviour1) Existe uma fila de comportamentos. Escalonamento efectuado numa política de ronda. É executado método action() de um comportamento. Quando retorna, é chamado o método done() para verificar se o comportamento terminou a sua tarefa; se sim, este é removido da fila

11 (exemplo) import jade.core.*; import jade.core.behaviours.*; import jade.lang.acl.aclmessage; import jade.domain.fipaagentmanagement.servicedescription; import jade.domain.fipaagentmanagement.dfagentdescription; import jade.domain.dfservice; import jade.domain.fipaexception; public class PingPong extends Agent { class ReceiveMsgReplyBehaviour extends SimpleBehaviour { private boolean finished=false; private int n=0; public ReceiveMsgReplyBehaviour(Agent a) { super(a); } 21 (exemplo) public void action() { ACLMessage msg=blockingreceive(); if (msg!=null) { if (msg.getperformative()!=aclmessage.not_understood){ ACLMessage reply = msg.createreply(); if (msg.getperformative() ==ACLMessage.INFORM) { String content=msg.getcontent(); System.out.println("mensagem recebida:"+content); String replycont; if (content.equals("ping")) replycont="pong"; else replycont="ping"; reply.setcontent(replycont); if (n==10) finished=true; n++; } else reply.setperformative(aclmessage.not_understood); send(reply); } 22 } } 11

12 (exemplo) public boolean done() { return finished; } } // fim de classe ReceiveMsgReplyBehaviour protected void setup() { DFAgentDescription dfd = new DFAgentDescription(); ServiceDescription sd = new ServiceDescription(); sd.settype("agente PingPong"); sd.setname(getname()); dfd.setname(getaid()); dfd.addservices(sd); try { DFService.register(this,dfd); } catch (FIPAException e) { System.out.println(getLocalName() + "erro no registo em DF. " + e.getmessage()); dodelete(); } 23 (exemplo) ReceiveMsgReplyBehaviour Behaviour1 = new ReceiveMsgReplyBehaviour(this); addbehaviour(behaviour1); if (getname().indexof("ping0")==0) { ACLMessage msg = new ACLMessage(ACLMessage.INFORM); msg.setcontent("ping"); AID receiver =new AID("pong0",false); msg.addreceiver(receiver); send(msg); } } // fim do metodo setup() } // fim da classe PingPong 24 12

Jade Java Agent Development Framework

Jade Java Agent Development Framework Jade Java Agent Development Framework http://jade.tilab.com/ Versão atual: 4.0.1 (07/07/2010) 17/08/10 @LES/PUC-Rio 2 Jade é um middleware para o desenvolvimento de sistemas multiagentes Inclui Um ambiente

Leia mais

Centralizado Distribuído

Centralizado Distribuído Universidade Federal de Alagoas Curso de Ciência da Computação O Ambiente Jade: uma introdução ao framework de desenvolvimento para sistemas multiagentes Inteligência Artificial Prof. Rômulo Nunes Motivação

Leia mais

Gerenciador de proj et os; Transport e de m ensagens; Suporte às fases de desenvolvim ento e depuração; Proj et ado para sust ent ar escalabilidade;

Gerenciador de proj et os; Transport e de m ensagens; Suporte às fases de desenvolvim ento e depuração; Proj et ado para sust ent ar escalabilidade; Java Agent Developm ent Fram ew ork 1 O que é jade? É um m iddleware de agentes que im plem enta um a plataform a distribuída e um fram ework de desenvolvim ent o para SMA Desenvolvido pelo CSELT e Univ.

Leia mais

Plataforma para Agentes

Plataforma para Agentes Plataforma para es JATLite - Java Template, Lite O que é o JATLite? http://java.stanford.edu/ http://www.fe.up.pt/~eol/aiad/jatlite/doc/index.html Pacote de programas em Java permitindo: rápida criação

Leia mais

Me. Eng. JOÃO ALVAREZ PEIXOTO. Sistemas Multi-agentes em Java utilizando a plataforma JADE

Me. Eng. JOÃO ALVAREZ PEIXOTO. Sistemas Multi-agentes em Java utilizando a plataforma JADE Me. Eng. JOÃO ALVAREZ PEIXOTO Sistemas Multi-agentes em Java utilizando a plataforma JADE Objetivo: implementar sistemas de manufatura utilizando sistemas multiagentes, a partir da plataforma JADE. Tópicos

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

Leia mais

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

Leia mais

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Universidade Federal do ABC ufabc

Universidade Federal do ABC ufabc Universidade Federal do ABC ufabc André Filipe de Moraes Batista andre.batista@ufabc.edu.br Manual Complementar do Projeto de Pesquisa: Sistemas Multiagentes na Construção de um Middleware para Suporte

Leia mais

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2005 / 2006

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2005 / 2006 UNIVERSIDADE NOVA DE LISBOA Faculdade de Ciências e Tecnologia Departamento de Engenharia Electrotécnica REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2005 / 2006 Licenciatura em Engenharia Electrotécnica e

Leia mais

Construindo Agentes Inteligentes com o JADE e Eclipse Utilizando o Eclipse para construir Agentes Inteligentes em JADE

Construindo Agentes Inteligentes com o JADE e Eclipse Utilizando o Eclipse para construir Agentes Inteligentes em JADE a r t i g o Construindo Agentes Inteligentes com o JADE e Eclipse Utilizando o Eclipse para construir Agentes Inteligentes em JADE Ricardo dos Santos Câmara (rscamara@gmail.com) é mestrando em Informática

Leia mais

Sistema para Gerenciamento de Redes Baseado em Agentes Móveis

Sistema para Gerenciamento de Redes Baseado em Agentes Móveis Universidade Federal Fluminense Instituto de Computação Coordenação do Curso de Pós-Graduação em Computação Curso: Mestrado em Computação Disciplina: Introdução aos Sistemas Multi-Agentes Sistema para

Leia mais

5 Trabalhos Relacionados

5 Trabalhos Relacionados 5 Trabalhos Relacionados Existem diferentes tipos de frameworks de middleware para SMAs, cada um focaliza mais fortemente alguma propriedade de agencia, tal como mobilidade focalizada no framework SOMA

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Implementação de um Sistema Multi-Agente para um Jogo Estratégico de Palavras.

Implementação de um Sistema Multi-Agente para um Jogo Estratégico de Palavras. Implementação de um Sistema Multi-Agente para um Jogo Estratégico de Palavras. Dezembro 2005 Agentes e Inteligência Artificial Distribuída Joana Vieira Valente Simão Cardoso Espinheira Rio Resumo Este

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

JADE: Java Agent Development Framework

JADE: Java Agent Development Framework 1 JADE: Java Agent Development Framework Fábio V. Teixeira Abstract JADE is a software environment that provides a middleware for the development and execution of agent-based applications which can interoperate

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br. Novembro/2005

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br. Novembro/2005 Java Básico Matrícula de Alunos Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Novembro/2005 Objetivos OO: trocar mensagens entre os objetos Exception: tratar exceções Análise: implementar

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos

Leia mais

JADE Java Agent DEvelopment Framework

JADE Java Agent DEvelopment Framework JADE Java Agent DEvelopment Framework Ricardo J. Rabelo rabelo@das.ufsc.br Saulo Popov Zambiasi popov@gsigma.ufsc.br Sumário Parte 1 Introdução Pré-requisitos Download Instalação e Configuração Interface

Leia mais

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

Programa de Computador que funciona em Rede

Programa de Computador que funciona em Rede Programa de Computador que funciona em Rede professor Robinson Vida Noronha 1 Paradigma Um programa rodando em rede é como uma loja. 2 Uma loja é composta por Vendedores Vendedores 3 Um loja deve servir

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

Capítulo 4. Packages e interfaces

Capítulo 4. Packages e interfaces Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias

Leia mais

Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006

Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 NOTAS:

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível. Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Especialização em Engenharia de Software - CEUT

Especialização em Engenharia de Software - CEUT Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de

Leia mais

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services Modelação Engenharia de Software Sistemas Distribuídos Departamento Engenharia Informática Livro de Receitas Framework de aplicações com Web Services 2009-04-17 Versão 1.1 Índice Índice... 2 Nota prévia...

Leia mais

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1. Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a

Leia mais

Invocação de Métodos em Objectos Remotos

Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Invocações de métodos remotas e locais A remote invocation B local C invocation local E invocation local invocation D remote invocation F Page 1 1 Invocação de

Leia mais

Java : Comunicação Cliente-Servidor.

Java : Comunicação Cliente-Servidor. Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a

Leia mais

Capítulo II Modelos de Programação Distribuída

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

Comunicação em Sistemas Distribuídos

Comunicação em Sistemas Distribuídos Comunicação em Sistemas Distribuídos A diferença mais importante entre os Sistemas Distribuídos e os Sistemas Uniprocessadores é a comunicação inter-processo. Nos uniprocessadores esta comunicação é feita

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Computação Paralela Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Dezembro 2005 Fases de desenvolvimento de aplicações paralelas

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this. Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

Manual do Comunicador 1.0 (Externo)

Manual do Comunicador 1.0 (Externo) Manual do Comunicador 1.0 (Externo) Copyright 2013 Efacec Todos os direitos reservados. Não é permitida qualquer cópia, reprodução, transmissão ou utilização deste documento sem a prévia autorização escrita

Leia mais

Um sistema SMS 1 simplificado

Um sistema SMS 1 simplificado 1 Introdução Um sistema SMS 1 simplificado Projecto de Redes de Computadores I - 2007/2008 LEIC IST, Tagus Park 10 de Setembro de 2007 Pretende-se com este projecto que os alunos implementem um sistema

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Invocação Remota MC704

Invocação Remota MC704 Invocação Remota MC704 Aplicações distribuídas Aplicação distribuída: conjunto de processos que cooperam entre si para prover um serviço ou realizar uma computação normalmente processos precisam invocar

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

Java Spaces Exemplos

Java Spaces Exemplos Java Spaces Exemplos Programação com Objetos Distribuídos (C. Geyer) Java Spaces - Exemplos V0 1 Autoria! Autores! Local " Cláudio Geyer " Instituto de Informática " UFRGS " disciplina: Programação com

Leia mais

Sistemas de Telecomunicações

Sistemas de Telecomunicações Departamento de Engenharia Electrotécnica Sistemas de Telecomunicações 2014/2015 Trabalho 1: Aplicação sobre sockets procurador web Mestrado integrado em Engenharia Eletrotécnica e de Computadores http://tele1.dee.fct.unl.pt

Leia mais

Keeper of Knowledge. Capítulo 2 Classes em Java

Keeper of Knowledge. Capítulo 2 Classes em Java Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais

Leia mais

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

2 Sistemas Multi-Agentes Móveis

2 Sistemas Multi-Agentes Móveis 2 Sistemas Multi-Agentes Móveis Sistemas multi-agentes móveis (SMAs móveis) são constituídos por uma plataforma de mobilidade e pelos agentes móveis nela executados. A plataforma define todas as questões

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Capítulo 2. Charm++ 16

Capítulo 2. Charm++ 16 2 Charm++ O Charm++ é uma linguagem orientada a objetos para programação paralela baseada em C++ (34). Ela possui uma biblioteca de execução para suporte a computação paralela que se chama Kernel do Charm

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

Lidando de Forma Eficiente com Validações Locais de Objetos

Lidando de Forma Eficiente com Validações Locais de Objetos Lidando de Forma Eficiente com Validações Locais de Objetos Aprenda a construir um mini-framework para validar objetos locais sem afetar a complexidade do código. Autor Paulo César M. N. A. Coutinho (pcmnac@gmail.com):

Leia mais

Guia e Utilização do Visual Studio 6.0

Guia e Utilização do Visual Studio 6.0 Guia e Utilização do Visual Studio 6.0 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio 6.0. Passo 1: Criação de

Leia mais

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2007/2008 Requisitos para a 1 a entrega Loja Virtual 1 Introdução O enunciado base do projecto conjunto das disciplinas de Engenharia de Software

Leia mais

a) Desenhe os respetivos diagramas de sequência e de colaboração associado a este caso de uso..

a) Desenhe os respetivos diagramas de sequência e de colaboração associado a este caso de uso.. 1. Considere o melhor cenário para o caso de utilização Enviar Fax (o cenário em que tudo corre bem ). Considere um sistema composto pelos seguintes objectos: máquina que envia; máquina que recebe; uma

Leia mais

Desenvolvendo Aplicações Java Utilizando WebSphere MQ

Desenvolvendo Aplicações Java Utilizando WebSphere MQ Desenvolvendo Aplicações Java Utilizando WebSphere MQ Otavio Rodolfo Piske angusyoung@gmail.com 1. Introdução... 3 2. Preparação do Ambiente... 3 Requerimentos... 3 Download e Instalação do WebSphere MQ...

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

Inteligência de Gestão de Redes e Serviços (2011/12)

Inteligência de Gestão de Redes e Serviços (2011/12) Departamento de Ciências e Tecnologias da Informação Inteligência de Gestão de Redes e Serviços (2011/12) Laboratório 1 (versão 3.0): Criação de serviços usando Parlay/OSA Notas prévias à realização do

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Desenvolvimento Android. http://www.larback.com.br

Desenvolvimento Android. http://www.larback.com.br Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

LEIC/LERC 2012/13, 1º

LEIC/LERC 2012/13, 1º Número: Nome: Página 1 de 10 LEIC/LERC 2012/13, 1º Exame de Sistemas Distribuídos, 5 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo

Leia mais

Disciplina: INF1005 - Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010

Disciplina: INF1005 - Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010 1. Execute o MS-Visual Studio 2010. Experimente o caminho: Start All Programs Microsoft Visual Studio 2010 Microsoft Visual Studio

Leia mais

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Padrão Arquitetura em Camadas

Padrão Arquitetura em Camadas Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização

Leia mais

Implementação de Classe e Auto-Relacionamento em Java

Implementação de Classe e Auto-Relacionamento em Java UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

UNIDADE IV ENTERPRISE JAVABEANS

UNIDADE IV ENTERPRISE JAVABEANS UNIDADE IV ENTERPRISE JAVABEANS MODELO J2EE COMPONENTES DE Camada de Negócios NEGÓCIOS JAVA SERVLET, JSP E EJB Nos capítulos anteriores, foi mostrado como desenvolver e distribuir aplicações servlet e

Leia mais

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31 O comando switch c Professores de ALPRO I Faculdade de Informática PUCRS 04/2012 ALPRO I (FACIN) O comando switch 04/2012 1 / 31 Sumário 1 Relembrando... 2 Comando de Seleção (Parte III) Menus e o comando

Leia mais