“avcomponent: um framework para virtual private network vrml: virtual reality...

Download “AvComponent: Um Framework para Virtual Private Network VRML: Virtual Reality Model Language X3D:

Post on 24-May-2019

218 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Ps-Graduao em Cincia da Computao

AvComponent: Um Framework para Desenvolvimento

de Componentes de Realidade Virtual em Infraestrutura

de Compartilhamento de Componentes em Nuvem

Por

Daniel Abella Cavalcante Mendona de Souza

Dissertao de Mestrado

Universidade Federal de Pernambuco

posgraduacao@cin.ufpe.br

www.cin.ufpe.br/~posgraduacao

RECIFE

2014

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMTICA

PS-GRADUAO EM CINCIA DA COMPUTAO

DANIEL ABELLA CAVALCANTE MENDONA DE SOUZA

AvComponent: Um Framework para Desenvolvimento de Componentes de Realidade Virtual em Infraestrutura de

Compartilhamento de Componentes em Nuvem

ESTE TRABALHO FOI APRESENTADO PS-GRADUAO EM CINCIA DA COMPUTAO DO CENTRO DE INFORMTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENO DO GRAU DE MESTRE EM CINCIA DA COMPUTAO.

ORIENTADOR: Prof. Dr. Fernando da Fonseca de Souza CO-ORIENTADOR: Prof. Dr. Marcus Salerno de Aquino

RECIFE

2014

Catalogao na fonte Bibliotecria Jane Souto Maior, CRB4-571

S729a Souza, Daniel Abella Cavalcante Mendona de AvComponent: um framework para desenvolvimento de

componentes de realidade virtual em infraestrutura de compartilhamento de componentes em nuvem / Daniel Abella Cavalcante Mendona de Souza. Recife: O Autor, 2014.

86 f.: il., fig., quadro Orientador: Fernando da Fonseca de Souza. Dissertao (Mestrado) Universidade Federal de

Pernambuco. CIn, Cincia da computao, 2014. Inclui referncias.

1. Cincia da computao. 2. Engenharia de software. 3. Computao em nuvem. 4. Realidade virtual. I. Souza, Fernando da Fonseca de (orientador). II. Ttulo. 004 CDD (23. ed.) UFPE- MEI 2015-50

Dissertao de Mestrado apresentada por DANIEL ABELLA CAVALCANTE

MENDONCA DE SOUZA Ps-Graduao em Cincia da Computao do Centro de

Informtica da Universidade Federal de Pernambuco, sob o ttulo AvComponent: Um

Framework para Desenvolvimento de Componentes de Realidade Virtual em

Infraestrutura de Compartilhamento de Componentes em Nuvem orientada pelo

Prof. Fernando da Fonseca de Souza e aprovada pela Banca Examinadora formada pelos

professores:

______________________________________________

Prof. Andr Luis de Medeiros Santos

Centro de Informtica/UFPE

______________________________________________

Prof. Gabriel de Frana Pereira e Silva Departamento de Estatstica e Informtica / UFRPE

_______________________________________________

Prof. Fernando da Fonseca de Souza

Centro de Informtica / UFPE

Visto e permitida a impresso.

Recife, 27 de novembro de 2014.

___________________________________________________

Profa. Edna Natividade da Silva Barros Coordenadora da Ps-Graduao em Cincia da Computao do

Centro de Informtica da Universidade Federal de Pernambuco.

AGRADECIMENTOS

Ao professor Fernando da Fonseca de Souza, pela confiana e pela colaborao

durante a execuo deste trabalho e ao professor Marcus Salerno de Aquino, pela

contribuio na minha insero na rea acadmica, assim como acompanhamento durante

todo este percurso.

Deus, por ter colocado na trajetria da minha vida, pessoas maravilhosas como

minha esposa, Nathaly Abella, meus pais, Eurpedes Sebastio e Elisa Abella, e o meu

irmo, Felipe Abella.

Aos meus amigos professores e alunos da faculdade iDez (Estcio de S), em

especial aos professores Jaildo Pequeno, Karoline Lira e Gerson Domingos.

Por fim, aos meus amigos, Edvalson Ribeiro, Tibrio Lcio, Paulo Andr (Paulo),

Max Davis, Eder Ferreira, Ryan Ribeiro, Csar Rocha e Rodrigo Fujioka.

RESUMO

Cenrios tridimensionais construdos com tcnicas de RV esto sendo usados em sistemas

nas mais diversas reas, em especial em educao. Entretanto, durante o processo de

criao, os ambientes tridimensionais, assim como os componentes de software

desenvolvidos esto destinados plataforma criada. Com intuito de permitir o

compartilhamento de componentes em RV, sejam ambientes tridimensionais ou

componentes de software, apresentado o framework AvComponent, que permite aos mais

diversos sistemas na rea compartilhar seus componentes, assim como obter outros

componentes, podendo ainda aprimor-los. Para contemplar esta necessidade, tcnicas de

Desenvolvimento Baseado em Componentes foram desenvolvidas, em associao com

ferramentas de Computao nas Nuvens, em especial o Banco de Dados nas Nuvens.

Palavras chaves: 1. Computao nas nuvens. 2. Engenharia de software. 3. Reuso de

software. 4. Realidade virtual

ABSTRACT

Tridimensional scenarios built with Virtual Reality techniques are being used in systems in

several areas, especially in education. However, during the creation process, tridimensional

environments and developed software components are limited to the platform it was

originally created. In order to allow sharing of components in Virtual Reality area

(tridimensional environments or software components), is presented the AvComponent

framework that allows several systems in the area share their components as well as obtain

or improve other components. To address this need, Component-based Development

techniques were developed in association with Cloud Computing tools, especially Cloud

Databases.

Keywords: 1. Cloud computing. 2. Software engineering. 3. Software reuse. 4. Virtual

reality

LISTA DE FIGURAS

Figura 1: Apresentao do Jogo Second Life

Figura 2: Camadas de Software no Java 3D

Figura 3: Relao das Caractersticas Essenciais, Modelos de Servio e Modelos de

Implantao

Figura 4: Caractersticas Essenciais de Cloud Computing

Figura 5: Modelos de Servio

Figura 6: Exemplo de Aplicativos no Modelo Software as a Service (SaaS)

Figura 7: Exemplo de Ambientes no Modelo Platform as a Service (PaaS)

Figura 8: Relacionamento entre os Modelos de Implantao

Figura 9: Estrutura Bsica de um Banco de dados como Servio

Figura 10: Classificao de Banco de Dados nas Nuvens

Figura 11: Disseminao das primeiras ideias sobre reuso de software

Figura 12: Processo de Desenvolvimento de Software baseado em DBC proposto por

Sommerville

Figura 13: Arquitetura do NRVA

Figura 14: Ambiente do TSS

Figura 15: Ambiente do ViMeT

Figura 16: Representao do Processo de Desenvolvimento Scrum

Figura 17: Arquitetura do AvComponent

Figura 18: Relao das Tecnologias e Frameworks envolvidos no Desenvolvimento

Figura 19: Arquitetura Interna do Browser

Figura 20: Processo de Associao de uma Task ao Browser

Figura 21: Representao grfica da estrutura do descritor de implantao

Figura 22: Processo de Associao de uma Task ou Ambiente Tridimensional ao Browser

Figura 23: Implementao Mnima para uma Task

Figura 24: Resultado da associao de uma Task simples

Figura 25: Processo de Solicitao de um Ambiente em Base Interna

Figura 26: Arquitetura do VEPersonal

Figura 27: Arquitetura do VEPersonal aps integrao com o AvComponent

Figura 28: Processo de Solicitao de uma Task

Figura 29: Apresentao de um Ambiente pelo VEPersonal

Figura 30: Ambiente Apresentado pelo VEPersonal com TouchSensor Mapeado pelo

AvComponent

Figura 31: Apresentao de uma Task do AvComponent no VEPersonal

Figura 32: Demonstrao do Mdulo de Modelagem Visual de Agentes com o

AvComponent

LISTA DE QUADROS

Quadro 1: Obstculos e Oportunidades em Cloud Computing

Quadro 2: Requisitos chave para um SGBD nas nuvens

Quadro 3: Benefcios e Dificuldades na Abordagem de Reuso de Software

Quadro 4: Requisitos para Estruturao de um Repositrio de Componentes

Quadro 5: Comparativo entre as Ferramentas Analisadas

Quadro 6: Relao dos Papis e Responsabilidades no Processo Scrum

Quadro 7: Exemplo vlido de um descritor de implantao para o browser

Quadro 8: Parte do Ambiente X3D para o Processo de Associao de uma Task ao

Browser

Quadro 9: Arquivo browser.xml para Processo de Associao de uma Task ao Browser

Quadro 10: Descrio dos Testes realizados na Aplicao

LISTA DE ABREVIAES

AV: Ambientes Virtuais

AVA: Ambiente Virtual Adaptativo

API: Application Programming Interface

BD: Banco de Dados

CC: Cloud Computing

DBC: Desenvolvimento Baseado em Componentes

DSL: Domain Specific Languages

DSVL: Domain Specific Visual Language

EAD: Ensino a Distncia

EC2: Amazon Elastic Cloud Computing

ES: Engenharia de Software

GP: Gerncia de Projetos

IAAS: Infrastructure as a Service

JPA: Java Persistence API

MOR: Mapeamento Objeto-Relacional