The Star Diagram Project

Computer Science Department
University of California, San Diego
[ Home ] [ Download ] Research [ Papers ] [ Personnel ] [ FAQ ]

Several of the projects that arose from this research are listed below in chronological order.

Restructuring Data Abstractions With The Star Diagram

Dr. Robert Bowdidge, now of Apple Computer, has investigated methods for restructuring programs through abstract representations of the program's source code. One view designed by Robert is called the Star Diagram. Restructuring through a view other than the source code helps the programmer identify the existing structure of the program and the necessary changes by highlighting the program relationships relevant to restructuring and eliding those unnecessary to the task. In addition, manipulating the view causes the program to be restructured and the underlying source code to be changed automatically. This work appeared not only in Robert's thesis, but also in a conference paper and a journal paper. In a related investigation, Robert performed experiments providing insight into how a star-diagram-based restructuring tool organizes programmer's work.

Star Diagram Tool for Planning Restructurings

Morison Chen, now of TRW in LA, investigated the issues of using Robert Bowdidge's star diagrams to plan the restructurings of large programs. His work created techniques for customizing the Star Diagram view through inclusion and elimination, in order to save, restore, and annotate eliminated elements. These manipulations are similar in many respects to restructuring, and so may be used to plan a restructuring. A side result of this work is a star diagram interface for David Morgenthaler's Cstructure restructuring tool. The tool is implemented in C++ and TCL/TK. Van Nguyen subsequently reengineered the tool to substantially improve performance and generality, while Jenny Cabaniss redesigned the user interface by developing an evolutionary approach to apply HCI methods. Much of this work is described in a conference paper and subsequent journal paper.

A Retargetable Star Diagram Tool Infrastructure

Jim Hayes is working on factoring the generic portions of the C star diagram planning tool from its language- and representation-dependent components. There are several complicating issues involved. We would like the infrastructure to be operate on program representations developed by others. We would also like the infrastructure to support tools for use on a variety of languages. Moreover, we would like the interface to support a standalone tool--as it is currently developed--or to be incorporated into a larger programming environment.

Star Diagram Support for OO Restructuring and Reengineering

Walter Korman, recently completed his Masters thesis (also available as a more compact technical report) on generalizing the star diagram concept for application on object-oriented programs. He has developed a reengineering tool called Elbereth based on star diagrams for programs writen in Java. Visit his Elbereth site to find out more or even download his tool, which itself is written in Java.

Multilanguage Star Diagrams

Stuart Moskovics applied Jim Hayes's retargetable infrastructure to support multi-language star diagrams. In particular, he is attempting to permit viewing programs written in multiple languages, such as C, Tcl/Tk, and Ada. There are several complicating issues, including a uniform way of handling abstract syntax trees (AST's) developed for different languages and showing star diagrams that contain code fragments from different languages. This work is supported by Raytheon, which is writing and maintaining programs written in a combination of C (for performance) and Ada (for abstraction and protection).

Copyright 1999 UCSD Computer Science Department
Last Modified: 10/27/99