CHI '95 ProceedingsTopIndexes
Short PapersTOC

Visualising Complex Interacting Systems

Nick Drew, Bob Hendley

School of Computer Science
University of Birmingham
Edgbaston
Birmingham
B15 2TT, U.K.
Tel: +44 (0)121 414 4761

nsd@cs.bham.ac.uk
rjh@cs.bham.ac.uk

© ACM

Abstract

The work described here is concerned with enhancing the visualisation of complex software systems (in particular object-oriented systems [4]). The major concern is to provide a powerful and concrete visual representation of such abstract systems, through which a user can move seamlessly from viewing the architectural structure to considering low level detail. The main approaches are to use virtual reality techniques and self organising systems.

Keywords

VR, object-orientation, software visualisation, complex systems.


Introduction

Complex software systems (in our case object-oriented systems) place an enormous cognitive load on the user. The programs being manipulated will have a large number of components and complex interactions between these components. Software development environments (e.g. SparcWorks [1]) typically provide support for users by providing graphical browsers which do assist with the visualisation but which place a heavy load on the user through requiring substantial context switching between different views and representations.

Using virtual reality techniques provides for a more natural and, ultimately, more powerful representation of such systems since, by building a metaphor of a concrete 3-dimensional world, it is possible to utilise existing experience and expectations in manipulating and navigating through such systems.

SPATIAL ORGANISATION OF THE WORLD

Objects are initially placed arbitrarily in the virtual reality. The objects are given behaviour by attaching a mass and forces which act between them. These control the way in which the objects move around within the space. For now, the mass is determined by an object's importance (this is determined by the number of active relationships it has with other objects in the system). There are two types of force. All objects exert a repulsive force on all other objects in the system. Attractive forces exist between related objects. The velocity of an object through the world is determined by the resultant force acting upon it.

This, relatively simple, model (which is based loosely on ARK [2] [3]) can be very effective. Not only does it generate a spatial layout where physical distance is related to semantic distance, but it also reveals important (and often previously obscured) structural information. Furthermore, it can lead to otherwise anonymous clusters of objects being endowed with distinctive physical shape (which aids recognition). In most cases the spatial layout quickly develops into a fixed stable state but in some cases there is residual motion with pulsating clusters due to the quantisation of time in the model for self-organsation. (see Figure 1).

Dynamic Figure 1 (QuickTime Movie, about 1 mb) The arrangment of objects in space.

The behaviour of the objects is presently very simple and could usefully be extended.


VISUALISATION

A simple virtual reality system, where objects are organised in 3-dimensional space, is by itself, a very powerful way to support the user. He or she can navigate around the system to focus upon one part, whilst the other components are either hidden from view or disappear into the distance. The effectiveness can be increased by merging a cluster of objects so that, when viewed from a distance, they appear to form a single distinctive object (See [5] for examples showing the effectiveness of similar approaches applied to conventional graphical design). This is achieved by forming a surface around the cluster which, as the cluster is approached, becomes increasing transparent to reveal the internal structure (see Figure 2). Alternative approaches, which we are investigating, are to use an iconic representation of the cluster or to render the enclosing surface with an appropriate iconic texture.

Figure 2 - Clusters enclosed by translucent surface

The user can adjust the view of the world by selecting the objects and relationships which are active as well as by adjusting the parameters which control the behaviour of the objects within space. The user can also select objects and inspect the methods etc. which are part of that object although it is not presently possible to manipulate the code of the underlying program.

SUMMARY

This work shows that using virtual reality techniques is an effective way to support the user in visualising and manipulating complex object oriented systems. The inherent structure that can be revealed through the self organisation of such systems can be remarkable. Supporting a more sophisticated rendering of the virtual reality (e.g. by merging a group of objects into a single object when it is not a focus of attention) is valuable since it removes distracting detail from the user. The approach used here allows this to be done in a way which does not place a heavy burden on the user (e.g. through context switching) since detail can be hidden and revealed smoothly and in a way which is consistent with our navigation and experience of the real world.

This work is being extended in several directions. More sophisticated behaviours can be attached to the objects relatively easily. The representation and manipulation of the objects in the virtual reality is an area which needs to be experimented with further. In particular, representations for supporting different processes (e.g. program construction, debugging and maintenance), need to be implemented and evaluated (e.g. we would like to include animation of program execution and so on) as well as the extension of the metaphor down to the level of program code (e.g. VR visual programming). We also intend to extend the work to look at support for multi-agent (both human and machine) working, to which this approach appears to be well suited.

References

1. Sun Microsystems. The SparcWorks Reference Manual. SMCC (1994).

2. Smith, R.B. The Alternate Reality Kit: An Animated Environment for Creating Interactive Simulations. In Proceedings of 1986 IEEE Computer Society Workshop on Visual Languages(1986) 99-106.

3. Smith, R.B. Experiences with the Alternate Reality Kit: An Example of the Tension Between Literalism and Magic. In Proceedings of the CHI+GI `87 Conference(1987) 61-67.

4. Smith, R.B., Ungar, D. SELF: The Power of Simplicity. In OOPLSA `87 Conference Proceedings, Orlando, FL, 1987. Published as SIGPLAN Notices 22(12), December, 1987. Also published in Lisp and Symbolic Computation 4(3), June, 1991.

5. Tufte, Edward R., Envisioning Information, Graphics Press, Cheshire, USA. 1990.