Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Towards Well Planned Code Cities

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
2) quadratics gral form
2) quadratics gral form
Wird geladen in …3
×

Hier ansehen

1 von 80 Anzeige

Towards Well Planned Code Cities

Herunterladen, um offline zu lesen

Towards Well Planned Code Cities

First Name: Natalia
Last Name: Tymchuk
Type: Talk
Abstract:
Software visualization has been shown as effective to support program and system comprehension. A possible solution adopts the city metaphor, and visualizes software systems as 3D cities. Most of the existing implementations, like CodeCity, exploit rectangle packing layout for placing the entities in a compact positioning. However, the distance between elements is determined by the layout algorithm only, without any connection to the actual structure of the system and the relations between software entities, which are fundamental for comprehension and maintenance.

We are currently investigating a new 3D representation for visualizing large software systems as cities. In our tool, we exploit force based layout to place software entities like classes and packages based on their relations, for example by considering client dependency. Our cities look more ``organic'', characterized by dependent entities grouped together, and less coupled entities more far away from each other.

Bio: I'm a Ph.D. student at the Faculty of Informatics of University of Lugano. I am working under the supervision of Prof. Dr. Michele Lanza, in the REVEAL research group. My main topic is how to improve the visualization of software systems in a useful and realistic way. On the last ESUG I presented Voronoi diagram builder, while 2 years ago I worked on the project “SciSmalltalk - Ordinary Differential Equations Solver” in GSoC.

Towards Well Planned Code Cities

First Name: Natalia
Last Name: Tymchuk
Type: Talk
Abstract:
Software visualization has been shown as effective to support program and system comprehension. A possible solution adopts the city metaphor, and visualizes software systems as 3D cities. Most of the existing implementations, like CodeCity, exploit rectangle packing layout for placing the entities in a compact positioning. However, the distance between elements is determined by the layout algorithm only, without any connection to the actual structure of the system and the relations between software entities, which are fundamental for comprehension and maintenance.

We are currently investigating a new 3D representation for visualizing large software systems as cities. In our tool, we exploit force based layout to place software entities like classes and packages based on their relations, for example by considering client dependency. Our cities look more ``organic'', characterized by dependent entities grouped together, and less coupled entities more far away from each other.

Bio: I'm a Ph.D. student at the Faculty of Informatics of University of Lugano. I am working under the supervision of Prof. Dr. Michele Lanza, in the REVEAL research group. My main topic is how to improve the visualization of software systems in a useful and realistic way. On the last ESUG I presented Voronoi diagram builder, while 2 years ago I worked on the project “SciSmalltalk - Ordinary Differential Equations Solver” in GSoC.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Weitere von ESUG (20)

Anzeige

Aktuellste (20)

Towards Well Planned Code Cities

  1. 1. Natalia Tymchuk, Michele Lanza Towards Well Planed Code City R AE E LV
  2. 2. CodeCity
  3. 3. Class Package or Namespace Number of attributes CodeCity Number of methods
  4. 4. Manhattan
  5. 5. Barcelona
  6. 6. Paris
  7. 7. Lviv
  8. 8. Voronyj Diagram
  9. 9. 1 minute 2 minutes 3 minutes 4 minutes Number of Sites 0 50 100 150 200 250
  10. 10. 1 minute 2 minutes 3 minutes 4 minutes Number of Sites 0 250 500 1000 1500 2000 2500
  11. 11. (x,y)? (x,y)? (x,y)?(x,y)? (x,y)? (x,y)?
  12. 12. 1 2 3 4 5 6 7 8 1 x 2 x x 3 x x 4 x 5 x x 6 x 7 x 8 x
  13. 13. 1 2 3 4 5 6 7 8 1 x 2 x x 3 x x 4 x 5 x x 6 x 7 x 8 x
  14. 14. 1 2 3 4 5 6 7 8 1 x 2 x x 3 x x 4 x 5 0 x 0 0 0 x 0 0 6 x 7 x 8 x
  15. 15. 1 2 3 4 5 6 7 8 1 x 2 x x 3 x x 4 x 5 0 x 0 0 0 x 0 0 6 x 7 x 8 x (a,b)
  16. 16. Multidimensional scaling
  17. 17. Multidimensional scaling
  18. 18. Force based layout
  19. 19. Multidimensional scaling Force based layout
  20. 20. 1 method 60 methods
  21. 21. 38 methods1 method
  22. 22. Graph model; Different features for software entities; Distance, position;
  23. 23. New view on Force based layout
  24. 24. Nodes’ Force
  25. 25. Nodes’ Force
  26. 26. Springs’ Force
  27. 27. Springs’ Force
  28. 28. Resulting Force
  29. 29. RepulsionValue Mass Repulsion Radius Stiffness Ideal Length
  30. 30. Node: RepulsionValue
  31. 31. Node: RepulsionValue
  32. 32. 10 100 1000 50 100 500 1000 Repulsion Value Iterations Node: RepulsionValue
  33. 33. Node: Mass
  34. 34. Node: Mass
  35. 35. 10 100 1000 5 20 40 Mass Iterations Node: Mass
  36. 36. Node: Repulsion Radius
  37. 37. Node: Repulsion Radius
  38. 38. Node: Repulsion Radius
  39. 39. Node: Repulsion Radius
  40. 40. Node: Repulsion Radius
  41. 41. 10 100 1000Iterations Node: Repulsion Radius
  42. 42. Edge: Stiffness
  43. 43. Edge: Stiffness
  44. 44. Stiffness 0.1 initial length 200 Stiffness 10 ideal length 10 repulsion 50 iterations 50
  45. 45. Edge: Ideal length
  46. 46. Edge: Ideal length 10 20
  47. 47. Ideal length 0 initial length 200 Ideal length 10 stiffness 0.1 repulsion 1 iterations 50
  48. 48. Features: Distance Time
  49. 49. Distance
  50. 50. Distance
  51. 51. Distance
  52. 52. 100 500 1000 Iterations 1 Traditional distance Padded distance Distance
  53. 53. Slowing down the time
  54. 54. Slowing down the time
  55. 55. Slowing down the time
  56. 56. Slowing down the time
  57. 57. Slowing down the time
  58. 58. RTForceBasedLayout RTFBLayout
  59. 59. RTFBLayout + Voronyj diagram + 3D cities

×