Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit

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

Download "Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit"

Transcrição

1 Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit Dennis José da Silva Faculdade de Computação e Informática Universidade Presbiteriana Mackenzie São Paulo, Brasil dennisjosesilva@gmail.com Ismar Frango Silveira Faculdade de Computação e Informática Universidade Presbiteriana Mackenzie São Paulo, Brasil ismafrango@gmail.com Abstract Currently there is a tendency in digital games development with unconventional interface (no joystick, no keyboard and no mouse) it can be see through devices as Microsoft Kinect, Sony PlayStation Move and Nintendo Wii. Normally these interfaces are based in player body movement. The augment reality is a technology are using in a lot of areas as an alternative way of interactions of traditional ones. The project analyzes several ways to integrate heterogeneous system in several levels. In the project was developed a software layer that make the communication between the augment reality API Artoolkit and the Microsoft XNA game engine. The project explore the problems found in its developing and propose a game as a concept proof. Keywords: Games, Augmented Reality, Heterogeneous Systems I. INTRODUÇÃO A indústria de jogos eletrônicos está se dedicando cada vez mais ao desenvolvimento de dispositivos com interações não convencionais, isso pode ser notado por meio de investimentos de grandes empresas e nos produtos gerados por esses investimentos como Sony Playstation Move [1], Nintendo Wii [2], e Microsoft Kinect [3]. Em todos esses dispositivos o jogador não fica restrito ao pressionar de botões, mas também joga movimentando o seu corpo, o Microsoft Kinect diferentemente dos outros o jogador não necessita de nenhum controle apenas o sensor que captura movimento de seu corpo. A realidade aumentada é uma tecnologia com foco na interação que vem sendo usada por diversas áreas inclusive Fotometria [4], Psicologia [5], Educação [6], Arquitetura [7]. Com a realidade aumentada é possível interagir com objetos virtuais no mundo real, por meio de uma câmera o usuário consegue visualizar sua interação com objetos tridimensionais gerados por computador. Uma das principais ferramentas para desenvolvimento de aplicativos com Realidade Aumentada é a API em linguagem C ARToolkit. O projeto propõe integrar a game engine XNA (ferramenta utilizada para facilitar o desenvolvimento de jogos digitais em linguagem C#) com a ARToolkit para disponibilizar um framework capaz de criar aplicativos de realidade aumentada que possa usufruir dos recursos de uma game engine. Por se tratar de duas ferramentas já existentes foi necessário um estudo sobre integração de sistemas, cujo objetivo é realizar a comunicação entre sistemas existentes, ou ainda a reutilização de um sistema que já está em uso em um novo sistema. Essa integração pode ocorrer por meio de dois sistemas heterogêneos, ou seja, dois sistemas que possuem incompatibilidade em hardware e/ou software. II. INTEGRAÇÃO DE SISTEMAS Em algumas situações a utilização de sistemas existentes para o desenvolvimento de novos aplicativos pode ser uma boa opção, visto que a reutilização de sistemas tem varias vantagens como o pré-conhecimento do funcionamento do sistema, economia de tempo o encapsulamento de código, entre outros. Porém existem algumas dificuldades em se integrar dois sistemas, já que a necessidade do desenvolvimento de um canal para comunicação entre os sistemas podem trazer algumas barreiras. Para esse canal é necessário que os formatos de saída e entrada estejam de acordo com os sistemas a serem integrados. Esta padronização traz a necessidade de adaptações, considerando ainda que o canal pode encontrar diversos níveis de heterogeneidade (figura 1) que podem aumentar a complexidade de seu desenvolvimento.

2 Figura 1: Graus de heterogeneidade de sistemas (hardware, sistema operacional, linguagem de programação, e plataforma). A heterogeneidade pode ser classificada em diversos níveis: Hardware: Ocorre quando se deseja integrar dois sistemas que estejam em hardware diferentes, esse grau de heterogeneidade geralmente ocorre em sistemas distribuídos onde sistemas computacionais estão espalhadas por uma rede ou pela internet. Sistema operacional: Atualmente existe uma infinidade de sistemas operacionais que podem conter aplicativos ou sistemas específicos e eventualmente é necessários desenvolver aplicativos que utilize recursos de outro sistema que esteja em execução em outro sistema operacional. Linguagem de programação: Atualmente é possível encontrar diversas linguagens de programação com características especificas e paradigmas diferentes. Sistemas implementados em um linguagem deve se comunicar com outro programa escrito em outra linguagem neste nível de heterogeneidade. Plataforma de programação: São plataformas necessárias para executar um software especifico, geralmente as plataformas contem um compilador que gera código para uma maquina virtual responsável por executar o programa em uma maquina real. As plataforma mais conhecidas atualmente são Oracle Java e Microsoft.Net. Existem técnicas para integração que podem envolver um ou mais nível de heterogeneidade, as técnicas discutidas abaixo procuram resolver problemas de integração em sistemas com características heterógenas: Java JNI: Tecnologia empregada na integração de linguagens nativas como C e C++ com linguagem Java, em JNI são desenvolvidas classes e funções que são compiladas em uma dll e carregadas na execução de um programa Java [8]. RPC e RMI: São tecnologias para implementação de chamadas de função e métodos remotos respectivamente. As duas técnicas são semelhantes mas RPC esta vinculado a chamada de funções como em C e RMI é orientado a objetos e possui o conceito de objeto distribuído. São utilizados para integração de sistemas em maquinas diferentes utilizando uma rede local [9]. Web Service: É uma técnica de integração de sistemas na web, com o Web Service é possível ter um sistema sendo executado em uma maquina que pode ser acessada via internet. O Web Service funciona em cima do protocolo SOAP que define formatos de mensagens em XML utilizados pelos sistemas em integração. Além de possuir essa caraterísticas de distribuição o Web Service é uma técnica que pode integrar sistemas em todos os níveis de heterogeneidade discutidos [9]. Integração via baixo nível (Microsoft CLR): O sistema Microsoft.Net Framework possui diversas linguagens que podem ser integradas entre si. Isso é possível por que todas as linguagens geram códigos para a mesma maquina virtual que os executa. Uma possibilidade de integração é a utilização de CLI C++ (C++ com recursos de.net) para realizar a comunicação entre.net e um biblioteca de baixo nível em linguagem C. III. ARQUITETURA DE INTEGRAÇÃO O desenvolvimento do projeto iniciou-se definindo a tecnologia de integração via baixo nível utilizando a plataforma Microsoft.Net, essa técnica foi escolhida por apresentar melhor adequação as tecnologias utilizadas no projeto e de suprir os requisitos de maneira eficiente. Com base em um modelo já pronto foi proposto uma adaptação do mesmo, apresentado na imagem a seguir:

3 dependentes. Para seu desenvolvimento foi realizado um estudo sobre os tipos de matrizes e suas utilizações em computação gráfica. Neste estudo foram levantados os tipos de matrizes: Transformação: Matrizes que definem as operações de translação, rotação e escala. Projeção: Matriz que define o mapeamento de objetos 3D em 2D. Visualização: Matriz de transformação global que é aplicada a todos os objetos da cena com o objetivo de simular uma câmera. Figura 1: Mecânica de funcionamento, adaptado de Silva e Silveira, 2011 [10] Nesta arquitetura a camada de integração realiza a comunicação entre a ARToolkit e XNA. O XNA será a interface com o desenvolvedor que utilizará classes da camada de integração para acessar funcionalidades da ARToolkit. A camada de integração é composta por classes em C# e em CLI C++, as classes em C# utilizam as classes CLI C++ que consumem funções da linguagem C da ARToolkit e suas estruturas. O fluxo de utilização deste modelo inicia-se com o desenvolvedor utilizando classes para a administração de câmera (carregamento de arquivo de configuração) e a inicialização de objetos do tipo marcador. Essas duas classes se comunicam e conseguem informar a matriz de View do objeto que será renderizado no marcador por meio de cálculos da ARToolkit. O Diagrama de pacotes e componentes da Figura 3 explicita o modelo arquitetural desenvolvido. Figura 2: Diagrama de pacotes e componentes O primeiro pacote desenvolvido foi o de transformação, visto que o mesmo possui o maior número de componentes Após o estudo inicial, foi realizada uma analise de como as ferramentas a serem integradas representam matrizes. No XNA uma matriz é representada por uma estrutura (struct), que em C# guarda similaridades com classes C++ em nível mais profundo que structs ANSI C trata-se, na realidade, de value objects, instancias que sofrem passagem de parâmetro por copia e não por referencia, ao contrario do que ocorre com instancias de classes (a menos que explicitamente indicado). Instancias da struct XNA::Matrix interagem em mais alto nível com objetos da classe XNA::Model, usada para controle de Modelos 3D. A classe XNA::Model é organizada em um conjunto de objetos do tipo ModelMesh que possui um conjunto de objetos XNA::Effect, a classe XNA::Effect é utilizada para a manipulação dos modelos e a utilização em shaders, quando não tem uma classe XNA::Effect especifica é comum utilizar a classe XNA::BasicEffect que possui atributos para as matrizes de visualização (View), projeção (Projection) e transformação (World). A inicialização do modelo com os dados desejados sem o uso de uma shader especifica pode ser realizado com os métodos de criação de matrizes de transformação, projeção e visualização da struct XNA::Matrix. Após o levantamento da representação de matrizes no XNA, o mesmo estudo foi realizado na ARToolkit. Sendo verificado que a ARToolkit representa suas matrizes com uma variável do tipo double[3][4], ou seja, um vetor bidimensional com tamanho 3x4. Também foi observado que a ARToolkit não inclui diretamente os valores da ultima linha de um matriz com coordenadas homogêneas, mas, quando ela passa essa informação para o OpenGL esses valores são preenchidos. Foi possível identificar, no nível de programação em OpenGL um ponto de integração que poderia ser trabalhado para o uso no XNA. Como a ideia da camada de integração é utilizar XNA para renderização e a manipulação dos modelos 3D, os trechos onde são usados funções do OpenGL deveriam ser eliminados e/ou substituídos pela integração com o XNA. A solução proposta foi desenvolver uma classe em CLI C++ (Transformation::AdpMatrix) que possui atributos que representam a matriz tanto em um vetor de double para a utilização e armazenamento de dados da ARToolkit e um array bidimensional que é utilizado em C#. Essa classe possui uma interface utilizável em C# e CLI C++. Assim a classe em CLI C++ é agregada a uma classe em C#

4 responsável por representar a matriz do XNA e para a classe de adaptação em CLI C++ conforme figura abaixo. Figura 3: Diagrama de classes do pacote Tranformation e sua relação com o XNA. O pacote ARUtil, foi desenvolvido como um pacote de utilidades que tem como objetivo manipular elementos essenciais da ARTookit por meio do XNA, suas funções incluem controlar padrões (descritos em arquivo), controlar elementos da câmera física (leitura de configurações, leitura de frames, etc.). Com essas funcionalidades levantas foi possível iniciar o design das classes. A ARTookit é uma API desenvolvida em linguagem C, portanto não possui o conceito de classes, ela trabalha apenas com funções e estruturas, a ideia inicial foi realizar um design de classes para ARTookit. Assim como no pacote Transformation, este pacote possui um conjunto de classes implementado em CLI C++ que realiza a conversão da linguagem C# para a linguagem C da ARTookit e viceversa e um conjunto de classes implementado em linguagem C# que realiza a conversão dos tipos de dados do XNA para classes em CLI C++. Apesar de fazerem parte do mesmo pacote as funcionalidades de câmera e marcadores, são distintas, porém as funcionalidades do marcador possuem dependências diretas com as da câmera, portanto o primeiro conjunto de classes a serem desenvolvidas foram as referentes à câmera. O desenvolvimento de classes iniciou-se com o design das mesmas, apesar da dependência dos marcadores as classes das duas categorias foram desenvolvidas separadamente. Para a conversão dos parâmetros das funções e estruturas da ARToolkit foram desenvolvidas varias classes agregadas que representariam a estrutura de dados da ARTookit (figura 5). Figura 4: Diagrama de classes do pacote ARUtil. Como as ferramentas utilizadas utilizam linguagem de programação em paradigmas diferentes foi necessário uma adaptação da estrutura de dados da ARToolkit para uma representação baseadas em classes e objetos do paradigma orientado a objetos. Classes para representação de distorção e equações foram criadas oposto a utilização de arrays da ARToolkit. As funções utilizadas pela ARToolkit foram adaptadas para métodos dentro da estrutura de classes desenvolvida, os parâmetros utilizados pelas funções da ARToolkit são adaptados para os atributos da classe onde a função foi agregada, isso pode ser observado pela classe de câmera e o método para leitura de parâmetros: void AdpCamera::LoadParam() { ARParam arp; if(arparamload(tocstr(cparamfile), 1, &arp) > 0) throw gcnew ARParamLoadException(); param = gcnew AdpCameraParam(arp); } Neste exemplo a cparamfile é um atributo da classe de câmera que representa o arquivo com parâmetros para câmera utilizadas pela ARToolkit, esse atributo é utilizado como parâmetro para a função da ARToolkit que lê os parâmetros descritos no arquivo e retorna uma estrutura de parâmetros que é transformado em um objeto da classe AdpCameraParam. Essa relação entre atributos, parâmetros, funções e métodos são encontradas diversas vezes no framework implementado. IV. ARGEOMETRIC: O JOGO DE DEMONSTRAÇÃO A ultima etapa do projeto foi o desenvolvimento de um jogo, utilizando os recursos desenvolvidos nesta integração. O ARGeometric é um jogo simples desenvolvido com o framework criado no projeto, seu maior objetivo é demonstrar recurso em uma aplicação real utilizando XNA e ARTookit integrados, o desenvolvimento do jogo iniciou-se com um rascunho de Game Design (documentação para desenvolvimento de jogos) onde foi definido a mecânica e as regras do jogo. O jogo consiste de uma mesa totalmente virtual, com buracos em formatos geométricos (circulo, quadrado e triangulo), essa mesa fica parada no cenário e o jogador deve levar objetos virtuais (cubo, prisma e esfera) com auxilio de marcadores de realidade aumentada até o buraco correspondente, a ideia é que o jogador associe um objeto volumétrico com a forma geométrica alocada na mesa. O jogo foi desenvolvido, utilizando a IDE Microsoft Visual Studio Então foram adicionadas referencias das dlls da ARTookit e do framework desenvolvido, sendo possível o uso das classes desenvolvidas no projeto dentro do desenvolvimento do jogo. O jogo possui uma mecânica simples, somente para fins de testes das funcionalidades da camada de software desenvolvida, não foram avaliados gráficos ou usabilidade (figura 6).

5 Figura 5: Tela principal do jogo ARGeometric. O jogo não possui gráficos com grande qualidade, mas foi capaz de interagir com os marcadores conforme o proposto. A jogabilidade não convencional é difícil de controlar no começo, mas a partir desse jogo pode se trabalhar mais os recursos da camada de integração proposta. V. CONCLUSÃO E TRABALHOS FUTUROS O trabalho apresentou diversas técnicas para a integração de sistemas e bibliotecas, e por meio da integração de baixo nível (a nível de plataforma) foi desenvolvido um framework funcional capaz de trabalhar com duas ferramentas em linguagens de programação diferentes. O framework desenvolvido, trabalha com o desenvolvimento de aplicações de Realidade Aumentada utilizando como base a ARToolkit ferramenta amplamente conhecida e utilizada na área, juntamente com a XNA que possui diversos recursos adicionais em relação a tradicional utilização da ARToolkit com a OpenGL. Outra característica do framework e a similaridade dos métodos das classes desenvolvidas com as funções da ARToolkit, que pode facilitar o desenvolvimento de aplicações de Realidade Aumentada para pessoas que já desenvolvem com a ARToolkit. No desenvolvimento da camada de integração foram propostos dois pacotes não implementados nesta primeira publicação, o pacote Graphics teve uma implementação superficial somente para dar suporte os pacotes já implementados nesta fase que necessitavam da interação do pacote Graphics para sua utilização em uma aplicação real. O pacote Graphics tem como objetivo adaptar o frame de vídeo, ou seja, uma imagem da ARToolkit em uma imagem manipulável para o XNA (converter um variável do tipo ARUint8* da ARToolkit para uma do tipo Texture2D do XNA). Outro pacote proposto não desenvolvido foi o pacote Input que tinha como objetivo fornecer uma interface mais fácil de manipular no XNA para o controle de entrada de dados via marcadores, identificando rotações, detecções e movimentação de marcadores. Sua relação com o XNA seria a mesma da de uma classe de Input da mesma utilizando métodos como GetState, entre outros. REFERENCIAS [1] Sony Inc.. Sony Playstation Move, Retrieved from Visited June, 2 nd [2] Microsoft Corp. Kinect Retrieved from Visited June 2 nd [3] Nintendo. Site oficial do console Nintendo Wii. Internet. Disponível na internet em Acessado em 04/04/2011. [4] M. Takemura. Photometric Inconsistency on a Mixed-Reality Face in Strategy, p , [5] S. Nilsson, B. Johansson. A Cognitive Systems Engineering Perspective on the Design of Mixed Reality systems. Systems Engineering, p , [6] C. Stapleton, C. E. Hughes. The art of Nurturing Citizen Scientists through Mixed Reality. Digital media, [7] T. Kakuta. Shading and Shadowing of Architecture in Mixed Reality in Virtual Reality, p.0-1, [8] S. Liang. The Java Native Interface Programming s Guide and Specification. Addison-Wesley [9] G. Coulouris et al.. Distributed systems: concepts and design. 4th ed. Harlow: Addison-Wesley, xiv, 927 p. (International computer science series). [10] D. J. Silva, I. F. Silveira. Realidade Misturada aplicada a Jogos digitais: Um jogo de Realidade Misturada para comemoração de 140 anos de Mackenzie in Jornada de Iniciação Cientifica e Mostra de Pós-Graduação Mackenzie

Jogos Educacionais com Realidade Aumentada: Desafios de Integração e Possibilidades na Construção de Objetos de Aprendizagem

Jogos Educacionais com Realidade Aumentada: Desafios de Integração e Possibilidades na Construção de Objetos de Aprendizagem Jogos Educacionais com Realidade Aumentada: Desafios de Integração e Possibilidades na Construção de Objetos de Aprendizagem Dennis José da Silva e Ismar Frango Silveira Faculdade de Computação e Informática

Leia mais

Curso online de Fundamentos em Android. Plano de Estudo

Curso online de Fundamentos em Android. Plano de Estudo Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos

Leia mais

Desenvolvimento de um Escalonador de Cenas para motores de jogos

Desenvolvimento de um Escalonador de Cenas para motores de jogos Desenvolvimento de um Escalonador de Cenas para motores de jogos Lucas Pinheiro Otaviano Andre 1 1 Instituto Metrópole Digital Universidade Federal do Rio Grande do Norte (UFRN) lpoandre@inf.ufrgs.br Abstract.

Leia mais

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado

Leia mais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

6 Arquitetura do Sistema

6 Arquitetura do Sistema 6 Arquitetura do Sistema Nos capítulos anteriores são apresentados diversos aspectos relacionados com a geração das histórias (conteúdo, geração, níveis de interatividade, diversidade), que têm como apoio

Leia mais

Prof. Me. Sérgio Carlos Portari Júnior

Prof. Me. Sérgio Carlos Portari Júnior Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

MUSEU VIRTUAL: Mostra Virtual baseada em realidade aumentada

MUSEU VIRTUAL: Mostra Virtual baseada em realidade aumentada ÁREA TEMÁTICA: (marque uma das opções) ( ) COMUNICAÇÃO ( ) CULTURA ( ) DIREITOS HUMANOS E JUSTIÇA ( x ) EDUCAÇÃO ( ) MEIO AMBIENTE ( ) SAÚDE ( ) TECNOLOGIA E PRODUÇÃO ( ) TRABALHO 1 MUSEU VIRTUAL: Mostra

Leia mais

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal... Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24

Leia mais

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19 ÍNDICE GERAL SOBRE O LIVRO XI 1 INTRODUÇÃO 1 1.1 GERAÇÃO DIGITAL NATIVE 2 1.2 ALGORITMIA E PROGRAMAÇÃO DE COMPUTADORES 2 1.3 COMPUTAÇÃO EM NUVEM 4 1.4 PROGRAMAÇÃO DE DISPOSITIVOS MÓVEIS 6 1.5 PROGRAMAÇÃO

Leia mais

RV PlanoVision Viewer

RV PlanoVision Viewer RV PlanoVision Viewer Visualizador de Realidade Virtual com Estereoscopia Horizontal e Rastreamento de Cabeça Djalma Lúcio Soares da Silva Sumário I.Introdução... 3 II.Relatório... 4 1.Objetivo... 4 2.Arquitetura...

Leia mais

Documento de Arquitetura de Software- SGE

Documento de Arquitetura de Software- SGE Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO EM REALIDADE VIRTUAL PARA MODELOS ÓSSEOS ATRAVÉS DO UNITY

DESENVOLVIMENTO DE UM APLICATIVO EM REALIDADE VIRTUAL PARA MODELOS ÓSSEOS ATRAVÉS DO UNITY DESENVOLVIMENTO DE UM APLICATIVO EM REALIDADE VIRTUAL PARA MODELOS ÓSSEOS ATRAVÉS DO UNITY Luis T. G. Pinto 1, Lucas M. Zonta 2, Alexandre M. L. Ferreira 2, Marcus V. C. Calca³, José Rafael Pilan 3. 1

Leia mais

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado

Leia mais

MICROSCÓPIO VIRTUAL UTILIZANDO REALIDADE AUMENTADA

MICROSCÓPIO VIRTUAL UTILIZANDO REALIDADE AUMENTADA 1 ÁREA TEMÁTICA: ( ) COMUNICAÇÃO ( ) CULTURA ( ) DIREITOS HUMANOS E JUSTIÇA ( X ) EDUCAÇÃO ( ) MEIO AMBIENTE ( ) SAÚDE ( ) TECNOLOGIA E PRODUÇÃO ( ) TRABALHO MICROSCÓPIO VIRTUAL UTILIZANDO REALIDADE AUMENTADA

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Daniel Ribeiro Trindade

Daniel Ribeiro Trindade Daniel Ribeiro Trindade 1 o Novas soluções para ambiente imersivos: o Mais baratas. o Ocupam menos espaço. o Menor custo e mais facilidade de manutenção. 2 o O custo de produção de software para esses

Leia mais

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS Heitor Augusto Schmitt Prof. Dalton S. dos Reis FURB - Universidade Regional de Blumenau DSC - Departamento de Sistemas e Computação

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Módulo. de captura, filtragem e redirecionamento de mensagens DirectX. Giovani Chaves Orientador: Mauro Marcelo Mattos

Módulo. de captura, filtragem e redirecionamento de mensagens DirectX. Giovani Chaves Orientador: Mauro Marcelo Mattos Módulo de captura, filtragem e redirecionamento de mensagens Giovani Chaves Orientador: Mauro Marcelo Mattos Sumário Módulo de captura, filtragem e redirecionamento de mensagens Módulo de captura, filtragem

Leia mais

Ciência da Computação

Ciência da Computação Ciência da Computação TCC em Re-vista 2010 35 OLIVEIRA, Gabriel Ozeas de 5. Integrando aplicações heterogêneas com arquitetura orientada a serviços e serviços web. 2010. 115 f. Trabalho de Conclusão de

Leia mais

4 Framework Proposto para Construção de Mediadores

4 Framework Proposto para Construção de Mediadores 41 4 Framework Proposto para Construção de Mediadores Neste capitulo apresentamos um framework que implementa a estratégia para enriquecimento de dados a partir de informações da Deep Web, descrita no

Leia mais

Projeto Interface Interativa Inclusiva.

Projeto Interface Interativa Inclusiva. Projeto Interface Interativa Inclusiva. Alunos: Ícaro Manoel Quelis Alves João Henrique Branquinho Rocha Pedro Henrique Chagas Alves Professores Orientadores: Ailton Luiz Dias Siqueira Junior André Luiz

Leia mais

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais João Gabriel Lima Moraes 1 ;Victor Travassos Sarinho 2 1. Bolsista PIBIC/CNPq, Graduando em Engenharia de Computação, Universidade

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

VisEdu-MAT: Visualizador de material educacional, módulo de matemática

VisEdu-MAT: Visualizador de material educacional, módulo de matemática VisEdu-MAT: Visualizador de material educacional, módulo de matemática José Ricardo Krauss Orientador: Dalton Solano dos Reis FURB Universidade Regional de Blumenau DSC Departamento de Sistemas e Computação

Leia mais

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor. 176 4.3.2.1 Componentes: Implementação Para atingir o objetivo de ser distribuído e elástico, adotou-se o padrão SOA e estilo REST na construção e comunicação entre os componentes, resultando na divisão

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Daniel Pereira prof. Dalton S. dos Reis

Daniel Pereira prof. Dalton S. dos Reis Daniel Pereira prof. Dalton S. dos Reis FURB - Universidade Regional de Blumenau DSC - Departamento de Sistemas e Computação Grupo de Pesquisa em Computação Gráfica e Entretenimento Digital 2012/I1 - http://www.inf.furb.br/gcg/

Leia mais

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM Rafael Marisco Bertei 2, Vinícius Maciel 3, Josué Toebe 4 1 Projeto

Leia mais

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única

Leia mais

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC: 2 TinyOS e NesC O framework de programação mais utilizado em redes de sensores sem fio é composto pelo sistema operacional TinyOS [11] e pela linguagem de programação NesC [12]. A linguagem NesC foi definida

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: COMPUTAÇÃO GRÁFICA - Semestre 2009/1 CÓDIGO: INF01009 PRÉ-REQUISITO: INF01047 Fundamentos

Leia mais

Tecnologia e Administração

Tecnologia e Administração Tecnologia e Administração A TI como parte integrante da empresa impõe a necessidade dos Administradores conhecerem melhor seus termos técnicos e sua aplicação no negócio. Gerentes e Administradores com

Leia mais

3 Trabalhos relacionados

3 Trabalhos relacionados 3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns

Leia mais

Ambientes de Desenvolvimento Avançados

Ambientes de Desenvolvimento Avançados Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav Aula 1 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 Aula de Apresentação e de Introdução 2 1

Leia mais

UTILIZAÇÃO DE REALIDADE MISTURADA NO DESENVOLVIMENTO DE OBJETOS DE APRENDIZAGEM. Sobral CE Maio 2013

UTILIZAÇÃO DE REALIDADE MISTURADA NO DESENVOLVIMENTO DE OBJETOS DE APRENDIZAGEM. Sobral CE Maio 2013 UTILIZAÇÃO DE REALIDADE MISTURADA NO DESENVOLVIMENTO DE OBJETOS DE APRENDIZAGEM Sobral CE Maio 2013 Anderson Barbosa Rodrigues Faculdades INTA andersonbarbosa@nitead.com.br André Alves Bezerra Faculdades

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Exemplos de Sistemas Distribuídos Tendências em Sistemas Distribuídos

Leia mais

Sérgio Koch Van-Dall

Sérgio Koch Van-Dall PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS

Leia mais

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Professor: Laboratório de Programação com Games. Anselmo Montenegro  Conteúdo: - Introdução. Instituto de Computação - UFF Laboratório de Programação com Games Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução 1 Objetivo do curso Desenvolver habilidades de programação através da construção de vídeo

Leia mais

Desenvolvedor Android: Avançado. Plano de Estudo

Desenvolvedor Android: Avançado. Plano de Estudo Desenvolvedor Android: Avançado Plano de Estudo Descrição do programa A Certificação Android fornece as ferramentas necessárias para projetar e implementar aplicativos para dispositivos Android, com base

Leia mais

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente 1 Introdução Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente referentes a jogos e entretenimento digital.

Leia mais

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil brunocostasilva62@hotmail.com,

Leia mais

Realidade Aumentada aplicada ao ensino da simetria molecular

Realidade Aumentada aplicada ao ensino da simetria molecular Realidade Aumentada aplicada ao ensino da simetria molecular Matheus Gaspar Reis 1, Alan Salvany Felinto 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 86057-680

Leia mais

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Teclado Virtual. MAC0420/MAC5744 Introdução Computação Gráfica. IME Instituto de Matemática e Estatística USP Universidade de São Paulo

Teclado Virtual. MAC0420/MAC5744 Introdução Computação Gráfica. IME Instituto de Matemática e Estatística USP Universidade de São Paulo Teclado Virtual MAC0420/MAC5744 Introdução Computação Gráfica - IME Instituto de Matemática e Estatística USP Universidade de São Paulo Grupo Cristina Fang Daniel M. G. Clua Paulo Cheque Vivian D. Betoni

Leia mais

Curso Online de E-commerce. Plano de Estudo

Curso Online de E-commerce. Plano de Estudo Curso Online de E-commerce Plano de Estudo Descrição do programa O programa oferece metodologias e técnicas necessárias para a implementação de soluções web baseadas no CMS para o suporte, estratégias

Leia mais

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR Departamento de Sistemas e Computação FURB Curso de Ciência da Computação Trabalho de Conclusão de Curso 2016/1 FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR Acadêmico:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS Aluno: Marcos Paulo Moraes Orientador: André Silva Pimentel Introdução A nanotecnologia está associada a diversas áreas de pesquisa

Leia mais

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP Aluno: Abel Luiz Cechinel Orientador: Paulo Fernando da Silva Sumário Introdução; Fundamentação Teórica; Desenvolvimento; Conclusão;

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Porte do Engine de Física ODE para a Plataforma Pocket PC

Porte do Engine de Física ODE para a Plataforma Pocket PC UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA Porte do Engine de Física ODE para a Plataforma Pocket PC Proposta de Trabalho de Graduação Aluno: Daliton da Silva (ds2@cin.ufpe.br) Orientadora:

Leia mais

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real Fundamentos de Computação Gráfica Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real Renato Deris Prado Tópicos principais 1. Introdução e Objetivos Sistemas de visualização em tempo

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

Fundamentos de Processamento Gráfico. Aula 7. Realidade Virtual. Profa. Fátima Nunes. Material baseado em:

Fundamentos de Processamento Gráfico. Aula 7. Realidade Virtual. Profa. Fátima Nunes. Material baseado em: Fundamentos de Processamento Gráfico Aula 7 Realidade Virtual Criação de Mundos Virtuais 3D Interativos com Java3D Profa. Fátima Nunes Material baseado em: NUNES, F. L. S. ; CORRÊA, C. G.. Interação com

Leia mais

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR n n n n Cliente-servidor Código móvel Agentes de software Processos pares Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Arquiteturas em Sistemas Distribuídos Cliente- Servidor Client invocation

Leia mais

CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA.

CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA. CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE) Bolsista: Jeremias Ponciano da Silva E mail: jeremiason2911@gmail.com

Leia mais

Microsoft Visual Studio Community 2013

Microsoft Visual Studio Community 2013 Microsoft Visual Studio Community 2013 Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio FUNDAMENTOS DE ENGENHARIA DE SOFTWARE Professor: Paulo Vencio Bibliografia: Como o assunto é cobrado: Conceito de forma geral Bibliografia Específica Aplicação do Conceito Conteúdo Programático: Conceito

Leia mais

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA Julio Cesar do Carmo Junior 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Informática para Gestão, Faculdade de Tecnologia, Botucatu, SP, Brasil. E-mail:

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material

Leia mais

Professor Leo Larback Esta apresentação pode ser baixada livremente no site

Professor Leo Larback Esta apresentação pode ser baixada livremente no site C# Professor Leo Larback Esta apresentação pode ser baixada livremente no site www.larback.com.br C# - Definições C# é uma linguagem orientada a objeto que permite aos desenvolvedores construírem uma variedade

Leia mais

Computação Gráfica e Áreas Correlatas

Computação Gráfica e Áreas Correlatas INF 1366 Computação Gráfica Interativa Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Computação Gráfica e Áreas Correlatas processamento de imagens Imagem

Leia mais

Principais conceitos de CORBA

Principais conceitos de CORBA Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem

Leia mais

3 Uma Arquitetura Distribuída via WEB

3 Uma Arquitetura Distribuída via WEB 24 3 Uma Arquitetura Distribuída via WEB Neste capítulo será apresentada a Arquitetura de Ambiente Distribuído no qual está implementado o Gerador VRML (VRMLGer) e o fluxo de dados que há entre as diferentes

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD.

APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD. APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD. Álvaro Álvares de Carvalho Cesar Sobrinho Centro Universitário - CESMAC Apresentador Leonardo Melo

Leia mais

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Especificação da Projeto de Laboratório de Programação Parte 1 Salvador, 2009 Universidade Federal da Bahia Instituto

Leia mais

António Costa. Paulo Roma Cavalcanti

António Costa. Paulo Roma Cavalcanti Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Leia mais

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Comentários: Desenvolvimento de Sistemas Rogério Araújo Comentários: Desenvolvimento de Sistemas Rogério Araújo rgildoaraujo@gmail.com 1 Técnico de informática no Ministério Público Federal Professor da Equipe Itnerante Desenvolvimento de Sistemas Certificações

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL MARCUS VINÍCIUS LACERDA FAGUNDES Mini-Seminário - Java Reflection API Salvador-BA

Leia mais

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,

Leia mais