Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visualization of OSGi based Software Architectures in Virtual Reality - Lisa Nafeie (DLR)

26 views

Published on

OSGi Community Event 2018 Presentation by Lisa Nafeie (DLR)

Abstract: Classic software architecture visualizations such as UML diagrams are widely used in practice but are not always the best solution, for example to get an high level overview of large component-based software systems. In this talk, we show other suitable technologies for software visualization to understand complex software architectures. Especially, we show how to visualize OSGi based software architectures in Virtual Reality (VR) using VR headsets.

We address the question, how software visualizing can help during the development process and what are the resulting benefits for developers and software testers. We focus on four aspects: Development, evaluation, quality assurance, and visualization technology. We demonstrate software visualization using the software ”IslandViz”, which visualizes OSGi based software systems using an island metaphor, where islands on a virtual water level represents OSGi bundles, regions on the islands represents packages, and buildings represents classes. We describe how to get all relevant data for the visualization by repository mining on the whole source tree and data mining on source code level. We store all data in a graph database for further analysis and visualization.

Through software visualization we were able to answer many important questions, which have already taken a lot of time in development and test-phases. In addition, it’s very important to make the software architecture tangible, which makes it easier way to talk about technical problems in teams formed by people with different knowledge, communications skills, and backgrounds.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Visualization of OSGi based Software Architectures in Virtual Reality - Lisa Nafeie (DLR)

  1. 1. Visualization of OSGi based Software Architectures in Virtual Reality Lisa Nafeie Intelligent and Distributed Systems, German Aerospace Center (DLR) & Technische Hochschule Köln Cologne, Germany > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 1
  2. 2. Introduction Intelligent and Distributed Systems German Aerospace Center (DLR) University of Applied Sciences Cologne, Germany @LisaNafeie > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 2
  3. 3. Pointing out Problems • Visualization of Software Architectures: Large projects can become confusing • Complex Systems: Uncluttered • 2D Visualization: Less information > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 3 Software Dependencies
  4. 4. Software Projects in Space and Aerospace > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 4
  5. 5. Software Analytics Research Topics – DLR Intelligent and Distributed Systems Machine Learning BlockchainsWorkflows & Provenance Distributed Systems </> Software Engineering > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 5
  6. 6. http://rcenvironment.de/ Distributed Integration System Remote Component Environment • Language Java • Platform RCP • Framework OSGi > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 6
  7. 7. Software Engineering Focus on.. • Automated Testing • Repository Mining • Integration > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 7
  8. 8. Software systems • Quality Developer & User • Experience & Behavior Development process • Productivity Visualization of information Psychology & Social Sciences Data Analysis & Data Mining Distributed Computing Software Analytics Definition • Human-machine-interface • Insightful & actionable information • Tasks • software development • Systems • Users > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 8
  9. 9. Software Visualization > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 9
  10. 10. Interactive Visualization of OSGi -based Software Architectures Goals • Getting an impression of the dimensions of the application • Introducing a new member of the development team • Checking for abnormalities in the architecture > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 10
  11. 11. Java Framework: OSGi 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. Components & Dependencies • Bundle • Package • Service • Class > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 11
  12. 12. Software Analytics – Source Code Analysis and Repository Mining > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 12
  13. 13. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 13
  14. 14. 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. Visualization in 2D: Dependencies of Key Bundles Pro Cons Bundle size visualized Less information of all components • Bundle name • Packages name • Class name Only 2 components visualized > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 14
  15. 15. Visualization in 2D: Package Structure of a Bundle Pro Cons Packages size visualized Class size visualized Less information of all components • Bundle name • Packages name • Class name Missing Relationships • Import & Export of Packages > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 15
  16. 16. Visualization in 2D: Dependencies Between Classes Pro Cons Shows Bundle Dependencies Missing Dependencies between & inside packages Confusing for large projects > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 16
  17. 17. Visualization in VR: Prototype App “OSGiViewer” Pro Cons Less information of all components • Packages name • Class name Third dimension Shows depencencies > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 17
  18. 18. Technology Oculus Rift Microsoft HoloLens Tobii Eye Tracking HTC Vive > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 18
  19. 19. Virtual Reality & Augmented Reality > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 19
  20. 20. Virtual Reality App – “Dependency Diver“ Software Architecture • OSGi Framework • RCE Project • Android App (Beta version) • Motion Sickness > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 20
  21. 21. VR Approach 1: Module Stacks Bundle Packages Services Classes Imports Exports Source: A. Schreiber and M. Brüggemann, "Interactive Visualization of Software Components with Virtual Reality Headsets," 2017 IEEE Working Conference on Software Visualization (VISSOFT), Shanghai, 2017, pp. 119-123. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 21
  22. 22. Components • need constant positions • need a realistic metaphor … to reduce Motion Sickness VR Approach 1: Prototype “Dependency Diver“ > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 22
  23. 23. VR Approach 1: Prototype “Dependency Diver“ Components include • Packages • Classes > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 23
  24. 24. VR Approach 1: Prototype “Dependency Diver“ Pro Cons Cheap Headsets Interactive App Motion Sickness > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 24
  25. 25. VR Approach 2: „IslandViz“ > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 25
  26. 26. Virtual Table > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 26
  27. 27. Navigation > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 27
  28. 28. Virtual Tablet > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 28
  29. 29. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 29
  30. 30. Island Metaphor 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 > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 30
  31. 31. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 31
  32. 32. Dependencies Ports Incoming and outgoing package dependencies Arrows Strength and direction of a package dependency Services OSGi service interfaces and service components > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 32
  33. 33. Services > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 33
  34. 34. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 34
  35. 35. Augmented Reality > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 35
  36. 36. Positioning virtual surface on any surface > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 36
  37. 37. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 37
  38. 38. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 38
  39. 39. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 39
  40. 40. Approach 1: Dependency Diver Approach 2: IslandViz Pro Cons Pro Cons Cheap Headsets Interactive App Limited usage time Motionsickness “Any (Cheap) Headsets“ Real-world Metaphor Interactive App Open Source Detailed information of OSGi Components Currently available Java & OSGi > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 40
  41. 41. Approach 1: Dependency Diver Approach 2: IslandViz https://github.com/DLR-SC/island-vizGooge PlayStore: “DependencyDiver“ > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 41
  42. 42. > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 42 Thanks! Lisa.Nafeie@dlr.de DLR.de/sc/ivs @LisaNafeie
  43. 43. Links GitHub “IslandViz”- https://github.com/DLR-SC/island-viz DependencyDriver - https://play.google.com/store/apps/details?id=de.dlr.sc.DependencyDiver jQAssistant - https://jqassistant.org/ RCE - http://rcenvironment.de/ VirtualSatellite- https://www.dlr.de/sc/en/desktopdefault.aspx/tabid-5135/8645_read-8374/ 2D – 3D? - https://elib.dlr.de/110129/1/vissoft-toolpaper-osgivis_SeiderEtAl.pdf DLR Jobs - https://www.dlr.de/dlr/jobs/#S:479 > EclipseCon Europe / OSGi Community Event 2018 > Lisa Nafeie • Visualization of OSGi based Software Architectures in Virtual Reality > 23.10.2018DLR.de • Chart 43

×