A NON-INTRUSIVE SOLUTION FOR DISTRIBUTED VISUALIZATION AND COLLABORATION IN A VISUALIZER

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO === CONSELHO NACIONAL DE DESENVOLVIMENTO CIENTÍFICO E TECNOLÓGICO === Neste trabalho apresentamos o design e implementação de visualização distribuída e colaboração para um visualizador 3D imersivo. Começamos apresentando, em um alto nível de abstra...

Full description

Bibliographic Details
Main Author: ALEXANDRE VALDETARO PORTO
Other Authors: ALBERTO BARBOSA RAPOSO
Language:English
Published: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO 2013
Online Access:http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=23953@1
http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=23953@2
Description
Summary:PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO === CONSELHO NACIONAL DE DESENVOLVIMENTO CIENTÍFICO E TECNOLÓGICO === Neste trabalho apresentamos o design e implementação de visualização distribuída e colaboração para um visualizador 3D imersivo. Começamos apresentando, em um alto nível de abstração, nosso design de um visualizador genérico. O design segue a abordagem MVC, isolando todos os objetos de negócios na camada de baixo da aplicação para torná-la modular e extensível, permitindo assim a mais fácil prototipagem de funcionalidades e isolamento de algoritmos complexos da lógica de negócios. Este design como solução surgiu da necessidade real de um visualizador de implementação monolítica, cuja manutenção e aprimoramento se encontravam com alta complexidade devido à mistura entre a lógica de aplicação e os diversos algoritmos de visualização e distribuição. Esperamos que nosso design possa ser reutilizado como inspiração para outros visualizadores que queiram reduzir a complexidade e o custo do desenvolvimento de novas funcionalidades de negócios. Sobre este design, então, apresentamos o design e implementação detalhados de um módulo que provê visualização distribuída e colaboração para o visualizador. Este módulo é não intrusivo porque não requer qualquer mudança na arquitetura da aplicação, e esta pode se tornar distribuída apenas pela inclusão do módulo. Este módulo serve como prova de conceito para o nosso design, por solucionar um problema clássico de distribuição e sincronismo em um visualizador de maneira transparente para a lógica de negócios. Ainda implementamos um visualizador exemplo com este design e nele conectamos o módulo proposto, onde verificamos ambos o sincronismo da visualização distribuída e a consistência da colaboração entre múltiplos nós, avaliamos também o impacto no desempenho causado pela visualização distribuída. === In this work, we present the design and implementation of distributed visualization and collaboration for a, immersive 3D visualizer. We start by presenting, on a high abstraction level, our design of a generic visualizer. The design follows an MVC approach, isolating all the business objects in the lowest level of the application, making it modular and extensible, therefore providing an easier prototyping of functionality and the isolation of complex business logic algorithms. This design as a solution came from the real necessity of a visualizer with a monolithic implementation, whose maintainability and improvement are impaired due to a high complexity because of the coupling between the business logic and the diverse visualization and distribution algorithms. Our hope is that our design can be reused as an inspiration for other visualizers that wish to reduce the complexity and cost of the development of new business functionality. On top of this design, then, we present the detailed design and implementation of a module that provides distributed visualization and collaboration to the visualizer. This module is non intrusive because it requires no changes to the application architecture, and the application can become distributed just by the inclusion of the module. This module serves as a proof of concept for our design as it solves a classic problem of distribution and synchronism in a visualizer in a way that is transparent to the business logic. Also, we implemented an example visualizer with our design and our proposed module, where we veried both the synchronism of the distributed visualization and the consistency of the collaboration among multiple nodes, we also evaluated the performance impact caused by the distributed visualization.