SlideShare a Scribd company logo
Visualization of Software Architectures in Virtual
Reality and Augmented Reality
Andreas Schreiber1, Lisa Nafeie1,2, Artur Baranowski1,2,
Peter Seipel1, Martin Misiak2
1 Intelligent and Distributed Systems
German Aerospace Center (DLR)
Cologne, Germany
2 TH Köln – University of Applied
Sciences, Cologne, Germany
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 1
Intelligent and Distributed Systems – Research Topics
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 2
Machine
Learning
BlockchainsWorkflows &
Provenance
Distributed
Systems
Software
Analytics
</>
Software
Engineering
Large Software Systems for Simulation, Data Analytics, System Design, ...
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 3
OSGi-based Applications
Large applications at DLR are
based on OSGi (Eclipse RCP)
• RCE: Distributed Design
and Simulation
• VirSat: Satellite Design
Developed by Teams
• >5 members
• Usually high labor turnover
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 4
Our Use Cases
• Getting an impression of the
dimensions of the application
• Introducing a new member of the
development team
• Starting to work on a new module
• Checking for abnormalities in
the architecture
OSGi
Module system and service platform for Java
• Bundles
• Normal components (JARs) with extra
manifest headers
• Contain packages, which contain
classes
• Services
• Java objects with Java interfaces
• Connect bundles dynamically
• Dependencies
• Import and Export of code between
bundles
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 5
Source: D. Seider, A. Schreiber, T. Marquardt and M. Brüggemann, "Visualizing
Modules and Dependencies of OSGi-Based Applications," 2016 IEEE Working
Conference on Software Visualization (VISSOFT), Raleigh, NC, 2016, pp. 96-100.
Repository Mining – Scanning GIT Repositories with jQAssistant
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 6
Data Mining
Repository
git
OSGi Application
Graph Database
Neo4j
.MF
Java XML
Visualization
VR IslandViz
Unity3D / C#
Devices
Oculus Rift /
HTC Vive
Scanning and
Analysis
JQAssistant
L. Nafeie and A. Schreiber, “Visualization of Software Components and Dependency
Graphs in Virtual Reality”. 24th ACM Symposium on Virtual Reality Software and
Technology (VRST 2018), Tokyo, Japan, pp. 133:1-133:2
Data Model – Meta Graph in Neo4j
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 7
Analyzing and Querying – CYPHER Graph Query Language (Neo4j)
CYPHER „Query“ with one „Clause“
MATCH
(a)-[r:RELATIONSHIP_TYPE]->(b)
RETURN a, r, b
Nodes in our data model
• Packages: PackageFragment
• Classes: CompilationUnit
Relationships in our data model
• Dependencies: EXPORTS, IMPORTS
• Service implementations and
dependencies:
HAS_SERVICE_COMPONENT,
HAS_IMPLEMENTATION_CLASS, …
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 8
MATCH
(pf:PackageFragment)-[c:CONTAINS]->
(cu:CompilationUnit),
()-[e:EXPORTS]->(),
()-[i:IMPORTS]->(),
()-[hs:HAS_SERVICE_COMPONENT]->(),
()-[hi:HAS_IMPLEMENTATION_CLASS]->(),
()-[ps:PROVIDES_SERVICE]->(),
()-[hfh:HAS_FRAGMENT_HOST]->(),
()-[hba:HAS_BUNDLE_ACTIVATOR]->(),
()-[rb:REQUIRES_BUNDLE]->()
RETURN pf,c,cu,e,i,hs,hi,ps,hfh,hba,rb
Software Visualization
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 9
Source: L. Merino, M. Ghafari and O. Nierstrasz, "Towards Actionable Visualisation
in Software Development," 2016 IEEE Working Conference on Software Visualization
(VISSOFT), Raleigh, NC, 2016, pp. 61-70.
Island Metaphor
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 10
Classes
Multi-storey buildings with a new
storey for every n lines of codes
Packages
Continuous regions
Bundles
Islands with multiple regions;
each island with distinct shape
Dependencies
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 11
Ports
Incoming and outgoing package
dependencies
Arrows
Strength and direction of a package
dependency
Services
OSGi service interfaces and service
components
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 12
Visualization in Virtual Reality
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 13
Source: M. Misiak, D. Seider, S. Zur, A. Fuhrmann, and A. Schreiber, ”Immersive
Exploration of OSGi-based Software Systems in Virtual Reality," 25th IEEE
Conference on Virtual Reality and 3D User Interfaces (IEEE VR 2018), Reutlingen,
Germany, 2018.
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 14
Virtual Table
Services and Service Dependencies
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 15
Navigation
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 16
Virtual Tablet
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 17
Visualization in Augmented Reality
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 18
Information for Selected Bundles – Wire Frame and Information Panel
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 19
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 20
Interaction in AR – „Air Tap“ Gesture and Voice Control
Exploration of Software Systems – Example Tasks for RCE
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 21
Selecting
Bundles
Showing
Bundle
dependencies
Exploring
Service
dependencies
Showing
Services
Current and Future Work
General work for all visualizations
• User studies
(with eye tracking and questionnaires)
• Natural language interaction
(digital assistants and chatbots)
• Support for multiple users
Specific visualizations and visual concepts
• Software history (evolution)
• Understanding of rationale, intent, and
implication
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 22
> IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 23
Thank You!
Questions?
Andreas Schreiber (@onyame)
Head of Department
Andreas.Schreiber@dlr.de
Lisa Nafeie (@LisaNafeie)
Student Assistant Software Visualization
Lisa.Nafeie@dlr.de
DLR Intelligent and Distributed Systems
http://www.DLR.de/sc/ivs

More Related Content

Similar to Visualization of Software Architectures in Virtual Reality and Augmented Reality

IRJET- Data Analytics and Visualization through R Programming
IRJET-  	  Data Analytics and Visualization through R ProgrammingIRJET-  	  Data Analytics and Visualization through R Programming
IRJET- Data Analytics and Visualization through R Programming
IRJET Journal
 
SVD Based Blind Video Watermarking Algorithm
SVD Based Blind Video Watermarking AlgorithmSVD Based Blind Video Watermarking Algorithm
From Microservices to Serverless. A new hype or a new hope?
From Microservices to Serverless. A new hype or a new hope?From Microservices to Serverless. A new hype or a new hope?
From Microservices to Serverless. A new hype or a new hope?
Davide Taibi
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
IRJET Journal
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
IRJET Journal
 
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
Your Business, as APIs  Leveraging Abstractions to Drive the Experience Economy Your Business, as APIs  Leveraging Abstractions to Drive the Experience Economy
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
Asanka Abeysinghe
 
Visualizing the Maturing Global API Ecosystem
Visualizing the Maturing Global API EcosystemVisualizing the Maturing Global API Ecosystem
Visualizing the Maturing Global API Ecosystem
SaeidHeshmatisafa1
 
WebEng_202107
WebEng_202107WebEng_202107
WebEng_202107
KAISTWebEng
 
IRJET - A Framework for Tourist Identification and Analytics using Transport ...
IRJET - A Framework for Tourist Identification and Analytics using Transport ...IRJET - A Framework for Tourist Identification and Analytics using Transport ...
IRJET - A Framework for Tourist Identification and Analytics using Transport ...
IRJET Journal
 
Ijciet 10 01_183
Ijciet 10 01_183Ijciet 10 01_183
Ijciet 10 01_183
IAEME Publication
 
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same SpanIRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
IRJET Journal
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
Matt McLarty
 
An Overview of Open Source Solutions in Cloud Computing
An Overview of Open Source Solutions in Cloud ComputingAn Overview of Open Source Solutions in Cloud Computing
An Overview of Open Source Solutions in Cloud Computing
IRJET Journal
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
Philipp Leitner
 
Big data visualization allotting by r and python with gui tools
Big data visualization  allotting by r and python with gui toolsBig data visualization  allotting by r and python with gui tools
Big data visualization allotting by r and python with gui tools
SK Ahammad Fahad
 
Engineering 4.0: Digitization through task automation and reuse
Engineering 4.0:  Digitization through task automation and reuseEngineering 4.0:  Digitization through task automation and reuse
Engineering 4.0: Digitization through task automation and reuse
CARLOS III UNIVERSITY OF MADRID
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 
IRJET- Data Device Dashboard Design
IRJET- Data Device Dashboard DesignIRJET- Data Device Dashboard Design
IRJET- Data Device Dashboard Design
IRJET Journal
 

Similar to Visualization of Software Architectures in Virtual Reality and Augmented Reality (20)

IRJET- Data Analytics and Visualization through R Programming
IRJET-  	  Data Analytics and Visualization through R ProgrammingIRJET-  	  Data Analytics and Visualization through R Programming
IRJET- Data Analytics and Visualization through R Programming
 
SVD Based Blind Video Watermarking Algorithm
SVD Based Blind Video Watermarking AlgorithmSVD Based Blind Video Watermarking Algorithm
SVD Based Blind Video Watermarking Algorithm
 
From Microservices to Serverless. A new hype or a new hope?
From Microservices to Serverless. A new hype or a new hope?From Microservices to Serverless. A new hype or a new hope?
From Microservices to Serverless. A new hype or a new hope?
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Resume_ALOK
Resume_ALOKResume_ALOK
Resume_ALOK
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
 
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
Your Business, as APIs  Leveraging Abstractions to Drive the Experience Economy Your Business, as APIs  Leveraging Abstractions to Drive the Experience Economy
Your Business, as APIs Leveraging Abstractions to Drive the Experience Economy
 
Visualizing the Maturing Global API Ecosystem
Visualizing the Maturing Global API EcosystemVisualizing the Maturing Global API Ecosystem
Visualizing the Maturing Global API Ecosystem
 
WebEng_202107
WebEng_202107WebEng_202107
WebEng_202107
 
IRJET - A Framework for Tourist Identification and Analytics using Transport ...
IRJET - A Framework for Tourist Identification and Analytics using Transport ...IRJET - A Framework for Tourist Identification and Analytics using Transport ...
IRJET - A Framework for Tourist Identification and Analytics using Transport ...
 
Ijciet 10 01_183
Ijciet 10 01_183Ijciet 10 01_183
Ijciet 10 01_183
 
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same SpanIRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
IRJET- Cost Comparison of different Grid Patterns of Floor Slab of Same Span
 
Vancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff SessionVancouver Microservices Meetup - Kickoff Session
Vancouver Microservices Meetup - Kickoff Session
 
An Overview of Open Source Solutions in Cloud Computing
An Overview of Open Source Solutions in Cloud ComputingAn Overview of Open Source Solutions in Cloud Computing
An Overview of Open Source Solutions in Cloud Computing
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
Big data visualization allotting by r and python with gui tools
Big data visualization  allotting by r and python with gui toolsBig data visualization  allotting by r and python with gui tools
Big data visualization allotting by r and python with gui tools
 
Engineering 4.0: Digitization through task automation and reuse
Engineering 4.0:  Digitization through task automation and reuseEngineering 4.0:  Digitization through task automation and reuse
Engineering 4.0: Digitization through task automation and reuse
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
IRJET- Data Device Dashboard Design
IRJET- Data Device Dashboard DesignIRJET- Data Device Dashboard Design
IRJET- Data Device Dashboard Design
 

More from Andreas Schreiber

Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructure
Andreas Schreiber
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace Center
Andreas Schreiber
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket Scientists
Andreas Schreiber
 
Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data Science
Andreas Schreiber
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using Comics
Andreas Schreiber
 
Quantified Self Comics
Quantified Self ComicsQuantified Self Comics
Quantified Self Comics
Andreas Schreiber
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Andreas Schreiber
 
Reproducible Science with Python
Reproducible Science with PythonReproducible Science with Python
Reproducible Science with Python
Andreas Schreiber
 
Python at Warp Speed
Python at Warp SpeedPython at Warp Speed
Python at Warp Speed
Andreas Schreiber
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self Data
Andreas Schreiber
 
Open Source im DLR
Open Source im DLROpen Source im DLR
Open Source im DLR
Andreas Schreiber
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The Rest
Andreas Schreiber
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris Data
Andreas Schreiber
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & Exposition
Andreas Schreiber
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermann
Andreas Schreiber
 
Big Python
Big PythonBig Python
Big Python
Andreas Schreiber
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Andreas Schreiber
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanion
Andreas Schreiber
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Andreas Schreiber
 
Informatik für die Welt von Morgen
Informatik für die Welt von MorgenInformatik für die Welt von Morgen
Informatik für die Welt von Morgen
Andreas Schreiber
 

More from Andreas Schreiber (20)

Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructure
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace Center
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket Scientists
 
Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data Science
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using Comics
 
Quantified Self Comics
Quantified Self ComicsQuantified Self Comics
Quantified Self Comics
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
 
Reproducible Science with Python
Reproducible Science with PythonReproducible Science with Python
Reproducible Science with Python
 
Python at Warp Speed
Python at Warp SpeedPython at Warp Speed
Python at Warp Speed
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self Data
 
Open Source im DLR
Open Source im DLROpen Source im DLR
Open Source im DLR
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The Rest
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris Data
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & Exposition
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermann
 
Big Python
Big PythonBig Python
Big Python
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-Sensoren
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanion
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiter
 
Informatik für die Welt von Morgen
Informatik für die Welt von MorgenInformatik für die Welt von Morgen
Informatik für die Welt von Morgen
 

Recently uploaded

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 

Recently uploaded (20)

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 

Visualization of Software Architectures in Virtual Reality and Augmented Reality

  • 1. Visualization of Software Architectures in Virtual Reality and Augmented Reality Andreas Schreiber1, Lisa Nafeie1,2, Artur Baranowski1,2, Peter Seipel1, Martin Misiak2 1 Intelligent and Distributed Systems German Aerospace Center (DLR) Cologne, Germany 2 TH Köln – University of Applied Sciences, Cologne, Germany > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 1
  • 2. Intelligent and Distributed Systems – Research Topics > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 2 Machine Learning BlockchainsWorkflows & Provenance Distributed Systems Software Analytics </> Software Engineering
  • 3. Large Software Systems for Simulation, Data Analytics, System Design, ... > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 3
  • 4. OSGi-based Applications Large applications at DLR are based on OSGi (Eclipse RCP) • RCE: Distributed Design and Simulation • VirSat: Satellite Design Developed by Teams • >5 members • Usually high labor turnover > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 4 Our Use Cases • Getting an impression of the dimensions of the application • Introducing a new member of the development team • Starting to work on a new module • Checking for abnormalities in the architecture
  • 5. OSGi Module system and service platform for Java • Bundles • Normal components (JARs) with extra manifest headers • Contain packages, which contain classes • Services • Java objects with Java interfaces • Connect bundles dynamically • Dependencies • Import and Export of code between bundles > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 5 Source: D. Seider, A. Schreiber, T. Marquardt and M. Brüggemann, "Visualizing Modules and Dependencies of OSGi-Based Applications," 2016 IEEE Working Conference on Software Visualization (VISSOFT), Raleigh, NC, 2016, pp. 96-100.
  • 6. Repository Mining – Scanning GIT Repositories with jQAssistant > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 6 Data Mining Repository git OSGi Application Graph Database Neo4j .MF Java XML Visualization VR IslandViz Unity3D / C# Devices Oculus Rift / HTC Vive Scanning and Analysis JQAssistant L. Nafeie and A. Schreiber, “Visualization of Software Components and Dependency Graphs in Virtual Reality”. 24th ACM Symposium on Virtual Reality Software and Technology (VRST 2018), Tokyo, Japan, pp. 133:1-133:2
  • 7. Data Model – Meta Graph in Neo4j > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 7
  • 8. Analyzing and Querying – CYPHER Graph Query Language (Neo4j) CYPHER „Query“ with one „Clause“ MATCH (a)-[r:RELATIONSHIP_TYPE]->(b) RETURN a, r, b Nodes in our data model • Packages: PackageFragment • Classes: CompilationUnit Relationships in our data model • Dependencies: EXPORTS, IMPORTS • Service implementations and dependencies: HAS_SERVICE_COMPONENT, HAS_IMPLEMENTATION_CLASS, … > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 8 MATCH (pf:PackageFragment)-[c:CONTAINS]-> (cu:CompilationUnit), ()-[e:EXPORTS]->(), ()-[i:IMPORTS]->(), ()-[hs:HAS_SERVICE_COMPONENT]->(), ()-[hi:HAS_IMPLEMENTATION_CLASS]->(), ()-[ps:PROVIDES_SERVICE]->(), ()-[hfh:HAS_FRAGMENT_HOST]->(), ()-[hba:HAS_BUNDLE_ACTIVATOR]->(), ()-[rb:REQUIRES_BUNDLE]->() RETURN pf,c,cu,e,i,hs,hi,ps,hfh,hba,rb
  • 9. Software Visualization > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 9 Source: L. Merino, M. Ghafari and O. Nierstrasz, "Towards Actionable Visualisation in Software Development," 2016 IEEE Working Conference on Software Visualization (VISSOFT), Raleigh, NC, 2016, pp. 61-70.
  • 10. Island Metaphor > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 10 Classes Multi-storey buildings with a new storey for every n lines of codes Packages Continuous regions Bundles Islands with multiple regions; each island with distinct shape
  • 11. Dependencies > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 11 Ports Incoming and outgoing package dependencies Arrows Strength and direction of a package dependency Services OSGi service interfaces and service components
  • 12. > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 12
  • 13. Visualization in Virtual Reality > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 13 Source: M. Misiak, D. Seider, S. Zur, A. Fuhrmann, and A. Schreiber, ”Immersive Exploration of OSGi-based Software Systems in Virtual Reality," 25th IEEE Conference on Virtual Reality and 3D User Interfaces (IEEE VR 2018), Reutlingen, Germany, 2018.
  • 14. > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 14 Virtual Table
  • 15. Services and Service Dependencies > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 15
  • 16. Navigation > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 16
  • 17. Virtual Tablet > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 17
  • 18. Visualization in Augmented Reality > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 18
  • 19. Information for Selected Bundles – Wire Frame and Information Panel > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 19
  • 20. > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 20 Interaction in AR – „Air Tap“ Gesture and Voice Control
  • 21. Exploration of Software Systems – Example Tasks for RCE > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 21 Selecting Bundles Showing Bundle dependencies Exploring Service dependencies Showing Services
  • 22. Current and Future Work General work for all visualizations • User studies (with eye tracking and questionnaires) • Natural language interaction (digital assistants and chatbots) • Support for multiple users Specific visualizations and visual concepts • Software history (evolution) • Understanding of rationale, intent, and implication > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 22
  • 23. > IEEE Aerospace 2019 > A. Schreiber, L. Nafeie, A. Baranowski, P. Seipel, M. Misiak • Visualization of Software Architectures in Virtual Reality and Augmented Reality > 03.03.2019DLR.de • Chart 23 Thank You! Questions? Andreas Schreiber (@onyame) Head of Department Andreas.Schreiber@dlr.de Lisa Nafeie (@LisaNafeie) Student Assistant Software Visualization Lisa.Nafeie@dlr.de DLR Intelligent and Distributed Systems http://www.DLR.de/sc/ivs