Ownership trees are a simple yet powerful method of extracting an object-oriented program's implicit aggregation structure from its object graph. The topology of a program's ownership tree is independent of scale object-oriented programs are constructed from objects, and the relationship between a whole system and its top-level components is the same as the relationship between a low-level data structure and the objects that implement it. Because of this independence, a software visualisation tool based on ownership trees is applicable at all levels of abstraction within a program's design. Visualising ownership trees can support learning and teaching about object-oriented programs, as well as debugging and maintaining them.
Index Terms:
object-oriented programming; program visualisation; tree data structures; program debugging; software maintenance; computer science education; scalable visualisations; ownership trees; top-level components; implicit aggregation structure; object graph; scale-independent topology; object-oriented programs; low-level data structure; software visualisation tool; abstraction levels; learning; teaching; debugging; program maintenance
Citation:
T. Hill, J. Noble, J. Potter, "Scalable Visualisations with Ownership Trees," tools, pp.202, 37th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-37'00), 2000