Comments: files in /projects/pvg ContactPerson: pvg@cse.buffalo.edu Remote host: pollux.cse.buffalo.edu ### Begin Citation ### Do not delete this line ### %R 2004-21 %U /projects/pvg/ObjectDiagrams.ps %A Gestwicki, Paul V. %A Jayaraman, Bharat %A Garg, Ashim %T From Class Diagrams to Object Diagrams: An Automated Approach %D December 13, 2004 %I Department of Computer Science and Engineering, SUNY Buffalo %K class diagram, object diagram, graph drawing, interactive program execution, jive %X This paper addresses the problem of how to visually depict the object structures that arise during the execution of object-oriented programs. Such a need arises in systems for run-time visualization of object-oriented programs. A straightforward approach would be to treat the object structure as a directed graph and apply traditional graph drawing techniques. However, we show that such an approach results in suboptimal drawings since important structural information in the class diagram is overlooked. A more effective approach must utilize properties of the class diagram in guiding a traditional graph-drawing approach. In particular, objects that are instances of related classes should be drawn in proximity to one another. The contribution of this paper lies in providing a formal definition of two important properties that yield predictable object diagrams: recursive cluster and leaf cluster. While the former commonly occur in structures such as lists, trees, etc., the latter are motivated by the power law property of object graphs, namely, that there are very few objects with high degree and many with low degree. This paper shows that these properties can be efficiently detected in the class diagram, and also efficiently applied to produce aesthetic object diagrams. The techniques described in this paper form the basis for the rendering of object structures in the JIVE system for interactive visualization of Java programs.