page 1  (10 pages)
2to next section

An Integrated Approach to Monitoring the Behaviour and

Performance of Inference Systems

Mike Brayshaw, John Domingue and Tim Rajan*

*The order of the authors is strictly alphabetical

Human Cognition Research Laboratory

The Open University

Milton Keynes MK7 6AA, UK

Abstract: Recent research into the graphical visualization of program behaviour has contributed to program development by enabling the programmer to see immediately the direct implications of coding decisions. This presentation technique is based on the same principles as WYSIWYG word processors and electronic publishing packages which ease publishing by allowing the editor to see both the large and fine-grained implications of page and subsection layout. However, the behaviour of programs is only a part of the programmers job. Once the behaviour has been finalized the task of performance analysis starts, where the programmer fine tunes the program in order to determine the most efficient representation. To extend the benefits of program visualization to the task of performance enhancement, this paper presents an integrated approach to the visualization of both program behaviour and performance, building on our previous research into visualization of the behaviour of inference systems. Users can view the details of performance metrics at a chosen level of grain-size, and in addition be able to interpret the statistics in terms of the behaviour of the program. This enables users to rapidly find performance problems with long distance views, and then home in on the specific details using a close-up view. Performance may be monitored in several different ways, and can also be customized by the user. The result combines the graphical tracing of the behaviour of a program with statistical measurements of its performance, providing the developer with an integrated picture of program execution in one display.

Keywords: Program Visualization, Expert Systems, Performance Monitoring, HCI

Acknowledgements: The authors would like to thank Marc Eisenstadt for inspiration and important contributions to the paper. This work has been part funded by British Telecommunications Plc.


Deciding on a representation for the implementation of a program and the debugging of its behaviour are only a part of software development. Once the program has been written the programmer then starts the process of performance analysis, which is required to make the execution of the program as efficient as possible. Many tools have been designed to facilitate the development of the behaviour of a program, but few exist which help in performance monitoring. These 'program visualization' tools aim to aid program development by presenting the user with a clear view of the actions of the program as it executes, helping the user to build a mental picture of the programs behaviour. An overview of the recent research can be found in Myers (1988). It has been shown that such an approach can enhance users understanding of the behaviour of programs (Rajan, 1986), which in turn should enable them to find and correct bugs more quickly. If the same approach is applied to the domain of performance monitoring it can be expected that programmers will find it easier to spot, understand, and solve efficiency problems.