SlideShare uma empresa Scribd logo
1 de 23
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

Mais conteúdo relacionado

Semelhante a Visualization of Software Architectures in Virtual Reality and Augmented Reality

Semelhante a 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
 

Mais de Andreas Schreiber

Mais de 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
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Último (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

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