Visualization of Software Architectures in Virtual Reality and Augmented Reality

Software architecture is abstract and intangible. Tools for visualizing software architecture can help to comprehend the implemented architecture but they need an effective and feasible visual metaphor, which maps all relevant aspects of a software architecture and fits all types of software. We present the visualization of component-based software architectures in Virtual Reality (VR) and Augmented Reality (AR). We describe how to get all relevant data for the visualization by data mining on the whole source tree and on source code level of OSGi-based projects. The data is stored in a graph database for further analysis and visualization. The software visualization uses an island metaphor, which represents every module as a distinct island. The whole island is displayed in the confines of a virtual table, where users can explore the software visualization on multiple levels of granularity by performing navigational tasks. Our approach allows users to get a first overview about the complexity of an OSGi-based software system by interactively exploring its modules as well as the dependencies between them.

[1]  Pourang Irani,et al.  Diagramming information structures using 3D perceptual primitives , 2003, TCHI.

[2]  Andreas Schreiber,et al.  An Open Source Software Directory for Aeronautics and Space , 2014, OpenSym.

[3]  Andreas Schreiber,et al.  Visualizing Software Architectures in Virtual Reality with an Island Metaphor , 2018, HCI.

[4]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[5]  Hong Yul Yang,et al.  A Solar System Metaphor for 3D Visualisation of Object Oriented Software Metrics , 2004, InVis.au.

[6]  Andreas Schreiber,et al.  Enabling a Conceptual Data Model and Workflow Integration Environment for Concurrent Launch Vehicle Analysis , 2018 .

[7]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[8]  P. M. Fischer,et al.  Open source software framework for applications in aeronautics and space , 2012, 2012 IEEE Aerospace Conference.

[9]  Arnulph Fuhrmann,et al.  Immersive Exploration of OSGi-Based Software Systems in Virtual Reality , 2018, 2018 IEEE Conference on Virtual Reality and 3D User Interfaces (VR).

[10]  Jock D. Mackinlay,et al.  Information visualization using 3D interactive animation , 1993, CACM.

[11]  Andreas Schreiber,et al.  Interactive Visualization of Software Components with Virtual Reality Headsets , 2017, 2017 IEEE Working Conference on Software Visualization (VISSOFT).

[12]  Robert P. Biuk-Aghai,et al.  Enhanced Hexagon-Tiling Algorithm for Map-Like Information Visualisation , 2015, VINCI.

[13]  Jason Jerald,et al.  The VR Book: Human-Centered Design for Virtual Reality , 2015 .

[14]  Jason Leigh,et al.  Visualizing object-oriented software in virtual reality , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[15]  Richard Müller,et al.  Towards an Open Source Stack to Create a Unified Data Source for Software Analysis and Visualization , 2018, 2018 IEEE Working Conference on Software Visualization (VISSOFT).

[16]  Waldo R. Tobler,et al.  Experiments In Migration Mapping By Computer , 1987 .

[17]  Vladimir L. Averbukh,et al.  Visualization Metaphors , 2001, Programming and Computer Software.

[18]  Oscar Nierstrasz,et al.  Overcoming Issues of 3D Software Visualization through Immersive Augmented Reality , 2018, 2018 IEEE Working Conference on Software Visualization (VISSOFT).

[19]  Wilhelm Hasselbring,et al.  Exploring software cities in virtual reality , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[20]  Pavol Návrat,et al.  Searching and exploring software repositories in virtual reality , 2017, VRST.

[21]  Frank Dannemann,et al.  Implementing model-based system engineering for the whole lifecycle of a spacecraft , 2017 .

[22]  Olivier Zendra,et al.  Visualization of the Static Aspects of Software: A Survey , 2011, IEEE Transactions on Visualization and Computer Graphics.

[23]  Doreen Seider,et al.  Visualizing Modules and Dependencies of OSGi-Based Applications , 2016, 2016 IEEE Working Conference on Software Visualization (VISSOFT).

[24]  Katashi Nagao,et al.  The world through the computer: computer augmented interaction with real world environments , 1995, UIST '95.

[25]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 2000, Sci. Comput. Program..

[26]  Mohammad Ghafari,et al.  CityVR: Gameful Software Visualization , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[27]  Rym Mili,et al.  Software Engineering - Introduction , 2001, Software Visualization.

[28]  Michele Lanza,et al.  Visualizing Software Systems as Cities , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[29]  Gokhan Tur,et al.  Intent Determination and Spoken Utterance Classification , 2011 .

[30]  Colin Ware,et al.  Evaluating stereo and motion cues for visualizing information nets in three dimensions , 1996, TOGS.

[31]  Pavol Návrat,et al.  VR City: Software Analysis in Virtual Reality Environment , 2017, 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C).

[32]  Nick Pawlowski,et al.  Rasa: Open Source Language Understanding and Dialogue Management , 2017, ArXiv.

[33]  Henry Been-Lirn Duh,et al.  An “independent visual background” reduced balance disturbance envoked by visual scene motion: implication for alleviating simulator sickness , 2001, CHI.

[34]  T A Furness,et al.  The use of an independent visual background to reduce simulator side-effects. , 1999, Aviation, space, and environmental medicine.