This page contains 2d visualizations of an object-oriented framework for the development of interactive applications. For more information, see Lewerentz, Claus; Noack, Andreas: CrocoCosmos - 3D Visualization of Large Object-Oriented Programs. To appear in Graph Drawing Software, Springer-Verlag, 2003.
The first figure shows a layout (created with the LinLog energy model) of the reference graph of the framework. The nodes represent classes; the edges represent inheritance, method call, and attribute usage relations between classes; the color of a node represents the subsystem to which the corresponding class belongs (i.e. all nodes of the same subsystem have the same color.) The graph has 745 nodes and 3786 edges. The edges are hidden to avoid clutter.

To see more structure, it is necessary to remove utility classes and utility subsystems which are used by many other classes, but do not use other classes. To find these utility classes, the diameter of the spheres can be set proportional to the number of incoming method calls of the corresponding class. This is shown in the next figure (which corresponds to the central part of the first figure). One heavily used subsystem is collapsed and its relations are shown. All lines are cyan-red, indicating that all relations of the subsystem are incoming calls.

The next figure shows a new layout of the reference graph after the removal of the basic layer of utility classes. As shown by the annotations, this layout separates the classes of the application logic (left), the classes of the graphical user interface (right), and the classes that connect both parts.

The application logic again has a layered structure. The following three figures show the reference graph of the application logic after successive removal of low layers. The last graph has such a clear structure that the Fruchterman-Reingold energy model was used to produce the layout (while the LinLog model was used for the other figures.) Removing a low-level class sometimes disconnects classes from the rest of the system. These classes are not shown in the figures, which explains the decrease of the number of vertices. Close nodes often have the same color, which indicates that they belong to the same subsystem. Thus, the subsystems are cohesive and loosely coupled.


