Agentes Inteligentes: Uma Abordagem Prática com o Java Agent Development Framework

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

Download "Agentes Inteligentes: Uma Abordagem Prática com o Java Agent Development Framework"

Transcrição

1 Agentes Inteligentes: Uma Abordagem Prática com o Java Agent Development Framework Daniel Abella Cavalcante Mendonça de Souza Capítulo 1. Introdução Segundo Russel e Norvig [1], um Agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e agir sobre este ambiente por intermédio de atuadores. Este conceito é ilustrado a seguir. Ilustração 1: Arquitetura básica de um Agente Termos Utilizados O termo percepção se refere às entradas perceptivas do agente em um dado momento, enquanto que, temos uma seqüência de percepções, que diz respeito à história completa de tudo o que o agente já percebeu. Esta distinção entre os termos apresentados é necessária, pois, a escolha de uma ação a ser realizada pelos atuadores do Agente, pode depender da seqüência inteira de percepções observadas até o momento. Em termos matemáticos, afirmamos que o comportamento do agente é descrito pela função de agente, que mapeia qualquer seqüência de percepções a uma dada ação. Função de Agente x Programa de Agente O mapeamento descrito anteriormente na função agente é comumente relacionado a uma tabela, que é infinita, a menos que seja definido um limite sobre a quantidade de percepções que devemos considerar. Entretanto, esta tabela é apenas uma

2 caracterização externa do agente. Internamente, a função de agente é implementada por um programa de agente. Em resumo, a função de agente é uma descrição matemática abstrata; o programa de agente é uma implementação concreta, relacionada à arquitetura do agente. Aplicação Na próxima seção, é apresentada como pode ser desenvolvido um Agente conforme o conceito de Russel e Norvig [1]. 1.1 Implementação de um Agente by Russel Para o desenvolvimento de um Agente Inteligente conforme a definição de Russel será utilizada a linguagem Java e o framework Java Agent Development Framework Jade [2]. Caso o leitor não tenha conhecimento sobre a configuração do ambiente para execução de Agentes ou desconheça conceitos básicos sobre este framework, devem ser consultados respectivamente os apêndices A e B. Então, Are you ready? Prática O primeiro passo para a construção de um Agente conforme a definição de Russel e Norvig, é definir o(s) seu(s) atuador(es) e sensor(es). Em termos de implementação, cada atuador ou sensor presente no agente, significará a criação de um novo Behavior. Iniciaremos pela construção do Sensor do agente intitulado Russel. Sensor Para o exemplo apresentado aqui, projetaremos um agente que perceberá o seu ambiente periodicamente. As ações que o agente realizará durante a percepção do agente é algo que deve corresponder à finalidade do agente. Por exemplo, em um agente intitulado SubmarinoProducts, que atua no oferecimento de produtos ao consumidor, pode constantemente monitorar as ações do usuário no e-commerce, e atualizar no banco de dados as ações do usuário, algo como o apresentado no Quadro 1. Em contrapartida, o atuador deste agente

3 consultaria esta tabela no banco de dados e realizaria uma oferta baseada na quantidade de acessos. Usuário Página Quantidade de Acessos daniel.abella eshop.com/notebook 3000 daniel.abella eshop.com/palmtop 1400 daniel.abella eshop.com/books 13 Quadro 1: Relação de acesso ao usuário Daniel Abella Neste momento, temos que definir se criaremos um comportamento próprio para o sensor (isto é, uma subclasse de SimplerBehavior) ou utilizaremos como base algum dos behaviors disponibilizados pelo framework Jade (por exemplo, CyclicBehavior, TickerBehavior, entre muitos outros). Conforme dito anteriormente, o sensor perceberá o ambiente periodicamente, logo pode ser utilizado como base o comportamento TickerBehavior, disponibilizado pelo framework. Este comportamento permite que o behavior seja chamado de acordo com a periodicidade informada pelo agente (em milisegundos). O código fonte referente ao sensor é apresentado na seqüência. Classe Sensor import jade.core.agent; import jade.core.behaviours.tickerbehaviour; public class Sensor extends TickerBehaviour { public Sensor(Agent agente, long tempo){ super(agente,tempo); protected void ontick(){ //Aqui, voce deve fornecer a implementacao do seu sensor System.out.println("Agente percebendo o ambiente"); //Depois de perceber o ambiente, é designado um Atuador para atuar no ambiente myagent.addbehaviour(new Atuador()); No código fonte apresentado anteriormente, não temos nenhuma percepção do ambiente de fato, apenas a impressão da frase Agente percebendo o ambiente. Ao fim da percepção, é incluído um Atuador que poderá atuar sobre o ambiente. Em substituição a impressão da frase Agente percebendo o ambiente poderíamos ter implementado o comportamento descrito no Quadro 1. Um pseudocódigo que ilustra este cenário é apresentado a seguir.

4 Classe Sensor import jade.core.agent; import jade.core.behaviours.tickerbehaviour; public class Sensor extends TickerBehaviour { public Sensor(Agent agente, long tempo){ super(agente,tempo); protected void ontick(){ String usuarioverificado = obterusuarioautenticado(); String acaousuario = obteracaousuario(usuarioverificado); gravarbancodedados(usuarioverificado,acaousuario); myagent.addbehaviour(new Atuador()); private void gravarbancodedados(string usuarioverificado, String acaousuario) { private String obteracaousuario(string usuarioverificado) {return null; private String obterusuarioautenticado() {return null; Atuador Após a definição do Sensor, trataremos nesta subseção a definição do atuador. Conforme apresentado nos códigos fonte anteriormente, o atuador estava sempre sendo chamado após a realização da atividade do sensor (note que, é sempre colocado no final do método ontick). Baseado nisto, tem-se que o Atuador deve ser chamado apenas uma vez. Isto se deve ao fato que, como o Sensor é chamado periodicamente e este último, por sua vez, sempre realizada a chamada do Atuador. Em momento simular durante o desenvolvimento do Sensor, temos que definir se criaremos um comportamento próprio para o atuador (isto é, uma subclasse de SimplerBehavior) ou utilizaremos como base algum dos behaviors disponibilizados pelo framework Jade (por exemplo, CyclicBehavior, TickerBehavior, entre muitos outros). Neste sentido, o OneShortBehavior pode ser utilizado, pois este implementa um comportamento atômico que é executado uma vez. É apresentado a seguir o código fonte referente ao atuador. Neste exemplo, não temos nenhuma atuação de fato, apenas a impressão da frase Agente Russel atuando no ambiente. Após isto, o método removebehavior é chamado. Este método faz com que o behavior informado como argumento seja removido da execução. Logo,

5 quando temos a chamada da forma removebehavior(this) estamos pedindo para que o próprio Atuador acabe com a sua execução. Classe Atuador import jade.core.behaviours.oneshotbehaviour; public class Atuador extends OneShotBehaviour{ public void action() { System.out.println("Agente Russel atuando no ambiente"); myagent.removebehaviour(this); Em contrapartida ao realizado durante a apresentação do Sensor, é apresentado abaixo o pseudocódigo para um Atuador que representaria o comportamento descrito no Quadro 1. Classe Atuador import jade.core.behaviours.oneshotbehaviour; public class Atuador extends OneShotBehaviour{ public void action() { String usuarioverificado = obterusuarioautenticado(); String secaomaisacessadapelousuario = obtersecaomaisacessadapelousuario(usuarioverificado); String paginaofertassessao = obterofertasdasessao(secaomaisacessadapelousuario); enviar usuario(paginaofertassessao); myagent.removebehaviour(this); private void enviar usuario(string paginaofertassessao) { private String obterofertasdasessao(string secaomaisacessadapelousuario) {return null; private String obtersecaomaisacessadapelousuario(string usuarioverificado) {return null; private String obterusuarioautenticado() {return null;

6 Vídeo Aula e Código Fonte Para melhor compreensão do abordado até este momento, é disponibilizado no site da disciplina uma vídeo-aula que demonstra a criação do Agente Russel. Além disto, é disponibilizado o código fonte produzido. Apêndice A. Configuração do Ambiente para Desenvolvimento de Agentes Inteligentes com o Java Agent Development Framework A ser incluído. Apêndice B. Conceitos básicos sobre o Java Agent Development Framework A ser incluído.

Inteligência Artificial (SI 214) Aula 2 Agentes Inteligentes

Inteligência Artificial (SI 214) Aula 2 Agentes Inteligentes Inteligência Artificial (SI 214) Aula 2 Agentes Inteligentes Prof. Josenildo Silva jcsilva@ifma.edu.br 2012-2015 Josenildo Silva (jcsilva@ifma.edu.br) Este material é derivado dos slides de Hwee Tou Ng,

Leia mais

Agentes - Definição. Inteligência Artificial. Agentes Inteligentes

Agentes - Definição. Inteligência Artificial. Agentes Inteligentes Inteligência Artificial s Inteligentes s - Definição : entidade capaz de perceber e agir em um ambiente, comunicar-se com outros agentes, motivada por um conjunto de inclinações, que pode dispor de representação

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Licenciatura em Computação Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por

Leia mais

Módulo 07 Características Avançadas de Classes

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

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

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 02 Agentes Inteligentes Edirlei Soares de Lima Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de

Leia mais

Uma Experiência com Agentes Inteligentes e Jogos de Cartas

Uma Experiência com Agentes Inteligentes e Jogos de Cartas 1 Uma Experiência com Agentes Inteligentes e Jogos de Cartas Anita Maria da R. Fernandes Daniel de Oliveira Helton Machado Kraus Universidade do Vale do Itajaí Universidade do Vale do Itajaí Universidade

Leia mais

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

Subtipos e Subclasses

Subtipos e Subclasses Subtipos e Subclasses Aula 15 do curso 6.170 15 de outubro de 2001 Sumário 1Subtipos 32 2 Exemplo: Bicicletas 33 3 Exemplo: Quadrado e retângulo 37 4 Princípio de substituição 38 5 Subclasses e subtipos

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

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

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Design Patterns (Factory Method, Prototype, Singleton)

Design Patterns (Factory Method, Prototype, Singleton) DesignPatterns (FactoryMethod,Prototype,Singleton) JoãoAntónioPaz LuísMiguelClaro AlbertoManuelGomes N.º12812 N.º12817 N.º12818 FACTORYMETHOD Padrãoquedefineumainterfaceparacriaçãodeobjectos,masdeixaassubclassesdecidirque

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

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com AGENTES INTELIGENTES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Agentes Inteligentes Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

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

Introdução a Threads Java

Introdução a Threads Java Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org

Leia mais

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e

Leia mais

POO Programação Orientada a Objetos. Classes em Java

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Nível: Intermediário Este tutorial tem como objetivo criar um simples componente que renderiza uma tag label utilizando recursos

Leia mais

TCC04040 Inteligência Artificial. Inteligência Artificial

TCC04040 Inteligência Artificial. Inteligência Artificial Inteligência Artificial Aula 2 Profª Bianca Zadrozny TCC04040 Inteligência Artificial Página web: http://www.ic.uff.br/~bianca/ia Material: Livro texto: Inteligência Artificial, Russell & Norvig, Editora

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Inteligência Artificial Escola de Verão 2008. Laboratório Associado de Computação e Matemática Aplicada LAC

Inteligência Artificial Escola de Verão 2008. Laboratório Associado de Computação e Matemática Aplicada LAC Inteligência Artificial Escola de Verão 2008 Laboratório Associado de Computação e Matemática Aplicada LAC www.lac.inpe.br/~demisio/ia_lac.html Agentes Inteligentes Agente: Qualquer coisa que pode: Agente

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

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Natureza do Software e dos Sistemas

Natureza do Software e dos Sistemas Natureza do Software e dos Sistemas Jorge H C Fernandes Diferença Fundamental entre Engenharia de Software e outras Engenharias! Os materiais são diferentes As teorias fundamentais são diferentes Dificuldades

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

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 Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

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

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 02 Agentes Inteligentes Agentes Inteligentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de

Leia mais

TCC 00.174 Prof.: Leandro A. F. Fernandes www.ic.uff.br/~laffernandes. Conteúdo: Tipos Genéricos

TCC 00.174 Prof.: Leandro A. F. Fernandes www.ic.uff.br/~laffernandes. Conteúdo: Tipos Genéricos Programação de Computadores II TCC 00.174 Prof.: Leandro A. F. Fernandes www.ic.uff.br/~laffernandes Conteúdo: Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições do prof.

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Inteligência Artificial. Agentes Inteligentes

Inteligência Artificial. Agentes Inteligentes Inteligência Artificial Agentes Inteligentes Agentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por meio de atuadores. em busca de um objetivo Exemplos

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

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

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Tutorial. Começando a Criar Aplicativos SMS

Tutorial. Começando a Criar Aplicativos SMS Tutorial Começando a Criar Aplicativos SMS Para começar Neste tutorial você vai entender como criar e integrar um aplicativo SMS usando a Brazapp. Para uma melhor compreensão, passaremos por todos os passos:

Leia mais

2. Energia Eólica em uma Empresa e sua Viabilização

2. Energia Eólica em uma Empresa e sua Viabilização 2. Energia Eólica em uma Empresa e sua Viabilização 2.1. Definições Para utilização de conversores de energia eólica numa empresa, a avaliação exata da vida útil de seus componentes estruturais e de todo

Leia mais

Adicionando Caixas de Verificação no seu Programa Java

Adicionando Caixas de Verificação no seu Programa Java Adicionando Caixas de Verificação no seu Programa Java Priscila Gomes Neste tutorial iremos falar sobre os aspectos básicos de uma caixa de verificação: quais os tipos, quando e como utiliza-las, como

Leia mais

Estudo de Caso 4.1 Coleta de Estatísticas

Estudo de Caso 4.1 Coleta de Estatísticas 4 Estudo de Caso Com o propósito de melhor apresentar a arquitetura NeMaSA, assim como melhor ilustrar seu funcionamento, dois exemplos práticos de testes desenvolvidos sobre a arquitetura proposta serão

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

Classes, Superclasses e Subclasses

Classes, Superclasses e Subclasses Herança Herança A idéia é criar novas Classes construindo-as sobre outras existentes Ao herdar de uma classe, reusamos (herdamos) seus métodos E podemos adicionar novos métodos e campos para adaptar a

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

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Projeto

Leia mais

Android #4. antonio deusany de carvalho junior dj@ime.usp.br

Android #4. antonio deusany de carvalho junior dj@ime.usp.br Android #4 antonio deusany de carvalho junior dj@ime.usp.br Preferências compartilhadas Memória interna Memória externa SQLite Databases Network Connection Preferências compartilhadas Utiliza um framework

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II RELATÓRIO TÉCNICO ADORILSON BEZERRA DE ARAÚJO ANDRÉ GUSTAVO

Leia mais

public void setdata(data d) { data = d;

public void setdata(data d) { data = d; class Data... public class Compromisso private Data data; private int hora; private String descricao; /**java.lang.string*/ public Compromisso() public Compromisso(Data data, int hora, String descricao)

Leia mais

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

2. Sistemas Multi-Agentes (Multi-Agent System - MAS) AORML uma linguagem para modelagem de uma aplicação Multiagentes: Uma Aplicação no Sistema Expertcop. Hebert de Aquino Nery, Daniel Gonçalves de Oliveira e Vasco Furtado. Universidade de Fortaleza UNIFOR

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

Gestão de Serviços em Redes de Computadores com um Agente Inteligente

Gestão de Serviços em Redes de Computadores com um Agente Inteligente Gestão de Serviços em Redes de Computadores com um Agente Inteligente José Elias da Silva Justo sjjusto@gmail.com IFF e UCAM-Campos Annabell del Real Tamariz annabell@uenf.br UENF e UCAM-Campos Resumo:Este

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

Programação Orientada a Objetos em Java. Herança

Programação Orientada a Objetos em Java. Herança Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados

Leia mais

4 Avaliação do Código Gerado

4 Avaliação do Código Gerado Referencial Teórico 4 Avaliação do Código Gerado Nós fizemos alguns exemplos para avaliar a eficiência da especificação proposta, tanto em termos de velocidade de execução quanto de diminuição do tamanho

Leia mais

E-Commerce Master. Versão: 1.0 Data: 05/06/2013 Identificador do documento: EM

E-Commerce Master. Versão: 1.0 Data: 05/06/2013 Identificador do documento: EM E-Commerce Master Versão: 1.0 Data: 05/06/2013 Identificador do documento: EM Histórico de revisões Versão Data Autor Descrição Localização 1.0 05/06/2013 Thyago Ferreira 1.0 05/06/2013 Vilmar de Sousa

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Collaboration Map Collaboration Map. Figura 6.1: Arquitetura da aplicação

Collaboration Map Collaboration Map. Figura 6.1: Arquitetura da aplicação 6 Estudo de caso A utilização de um modelo de componentes orientado a serviços possibilita a construção de aplicações por meio da conexão entre componentes em tempo de execução. O middleware Kaluana utiliza-se

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Linguagem de Modelagem Unificada A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem para especificação, É uma linguagem para

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Documentação Usando o Javadoc

Documentação Usando o Javadoc Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários

Leia mais

Especificação do Trabalho

Especificação do Trabalho Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,

Leia mais

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

Programação Orientada a Objetos em Java. Threads Threads Threads. Threads

Programação Orientada a Objetos em Java. Threads Threads Threads. Threads Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Threads Threads Threads Threads Professor: César Melo Slides baseados

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

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

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II AULA Banco de Dados (Exemplo) Prof. Rodrigo Rocha Prof.rodrigorocha@yahoo.com (Modo Texto) Conectando ao Banco de Dados Entre no Diretório do Mysql mysql u root p criando

Leia mais

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado Sistema Tutor Inteligente baseado em Agentes na Plataforma MOODLE para Apoio às Atividades Pedagógicas da Universidade Aberta do Piauí Prof. Dr. Vinicius Ponte Machado Parnaíba, 14 de Novembro de 2012

Leia mais

1.2 Uma linguagem de programação muito simples

1.2 Uma linguagem de programação muito simples 1 Representando programas como dados 1.1 Introdução Os processadores de linguagem sempre fazem alguma manipulação com programas. Normalmente a entrada para o processador é um programa apresentado na forma

Leia mais

Capítulo 5 Reuso de Classes

Capítulo 5 Reuso de Classes Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

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

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 15 Prof. ISVega Maio de 2004 Arquivos de Texto CONTEÚDO 15.1Processamento

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. Rodrigo Hjort. Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Breve introdução. Uma breve introdução. Simplicidade e Poder. Rápido Dinâmico Robusto

Breve introdução. Uma breve introdução. Simplicidade e Poder. Rápido Dinâmico Robusto Breve introdução Uma breve introdução Rápido Dinâmico Robusto Simplicidade e Poder Linguagem dinâmica Arquitetura Mapeamento Objeto Relacional Convenção DRY YAGNI KISS Groovy MVC Hibernate Sobre configuração

Leia mais

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos OO -Objetos, classes, atributos, métodos, estado, comportamento e identidade (Slide) Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Programas eram lineares e com poucos

Leia mais

Curso - Padrões de Projeto Módulo 2: Padrões de Criação

Curso - Padrões de Projeto Módulo 2: Padrões de Criação Curso - Padrões de Projeto Módulo 2: Padrões de Criação Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais