• Keine Ergebnisse gefunden

Hierarchy based Visualization of Large Software Structures

N/A
N/A
Protected

Academic year: 2022

Aktie "Hierarchy based Visualization of Large Software Structures"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Figure 2: Visualization of entity relations using a Hierarchical Net

Abstract

Modern object-oriented programs are hierarchical systems with many thousands of interrelated subsystems. Visuali- zation helps developers to better comprehend these large and complex systems. This work presents a three-dimen- sional visualization technique that represents the static struc- ture of object-oriented software using distributions of three- dimensional objects on a two-dimensional plane. The visu- al complexity is reduced by adjusting the transparency of object surfaces to the distance of the viewpoint. An approach called Hierarchical Net is proposed for a clear representa- tion of the relationships between the subsystems.

Figures 7-12: Zoom into the ‚Eclipse‘ open source platform, containing 112‘613 entities and 339‘161 relations, specified in 1.2 million lines of code

1 A Strucural Model of Object-Oriented Software The models are nested directed graphs:

– nodes correspond to software entities

– inclusion tree corresponds to containment hierarchy – edges correspond to relations between entities

The models are automatically extracted from the source

code of existing software and stored in Rigi Standard Format.

2 Hierarchy Base Layout of Entities

The automatic generation of 2D object layouts is based on the component hierarchy of the software system.

First stage: representing the (potentially infinitely deep) package hierarchy by nested hemispheres on a 2D plane

Second stage: representing classes of the packages as circles in the center of the hemispheres Third stage: representing methods and attributes within the classes represented by circles

The size of packages and classes ist adjusted to the number of contained methods and attributes.

As a tool for the generation of this distributions we use the relaxation of Voronoi diagrams.

LOC 181 270 167 178 141 267 78 220 16 832 System

Eclipse 2.02 JWAM 1.6

JDK 1.4.0 AWT System X

CrocoCosmo

Entities 112 613 11 097 9 470 8 042 1 269

Relations 339 161 25 081 20 029 19 378 2 574

Table 1: Examples of visualized software systems

4 Utilizing Transparency for Level of Detail

The use of transparencies in the representation of packages (hemispheres) reduces the amount of presented information.

The degree of transparency is not fixed, but adapts dynamically to the position of the viewer by an infinitely variable cross fading.

Fading out distant levels allows to clearly represent also scenes with a very deep hierarchy.

The rendering performance of the visualization is also improved, because the inside of completely opaque hemispheres does not have to be drawn, and normally more than 90 percent of all hemispheres are completely opaque.

3 Hierarchical Nets

The relations between the software entities are an important part of software structures.

Direct line connections between entities would result in very unclear representations.

A solution are Hierarchical Nets, whereby the relations are routed according to the hierarchy levels of the software entities.

Relations of the same type are combined to one connection and their size represents the quantity of combined relations.

In order to better analyze the relations the user can control the visualization:

– only relations of a specific type are shown

– only relations which are connected to a specific entity are shown Figure 5: Relation routing in Hierarchical Nets

Routing: A.B.C Î A.B Î A Î A.X Î A.X.Y Package A

A.B A.X

A.B.C A.X.Y

Figure 6: The application window

Figure 4: Relaxation of Voronoi diagrams under the criterion of Maximum Growth

Hierarchy based Visualization of Large Software Structures

Michael Balzer and Oliver Deussen – University of Konstanz, Germany

Figure 1: Hierarchy based 3D representation of the ‘Eclipse‘ software system

Figure 3: Schema for object-oriented software

Konstanzer Online-Publikations-System (KOPS) - URL: http://www.ub.uni-konstanz.de/kops/volltexte/2007/2808/

URN: http://nbn-resolving.de/urn:nbn:de:bsz:352-opus-28086 First publ. in: Proceedings / [VIS ‘04] IEEE Visualization 2004, Austin, Texas, p. 4p

Referenzen

ÄHNLICHE DOKUMENTE

Käesolevas töös uuritakse eeliseid ja probleeme, mis sülearvuti igapäevase kasutamisega õppetöös kaasnevad, seda nii uurimuses osalenud õpilaste kui õpetajate poolt

Wie notwendig eine Auseinandersetzung mit der Geschlechterforschung und der Reproduktion von Geschlecht für die QSF nach wie vor ist, hat sich im Übrigen bei der

With 49 people on the primary team, and over a hundred people on secondary teams, the TeamViz developer created another visualization of the company structure, this time including

The large-scale variations between countries, together with the similarity observed among apple microbial com- munities within a country or region within a country, sug- gests that

A large difference in power distance, which is a strong life satisfaction in Europe, proves that the lower happiness found in Latin European countries is at least partly due to

Medarova (2012), “The implications for the EU and national budgets of the use of innovative financial instruments for the financing of EU policies and objectives”,

Studien der letzten Jahre haben jedoch verdeutlicht, dass Kolloid nicht gleich Kolloid ist, da jede Substanz durch ein spezifisches pharmakologisches Wirkprofil charakte- risiert

The layouts in this work are based on the hierarchy of packages, classes, methods and attributes in the visualized software system.. The hierarchy of packages, which can be