mwang@watmath.UUCP (mwang) (05/27/85)
DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF WATERLOO SEMINAR ACTIVITIES SYSTEMS SEMINAR - Thursday, June 6, 1985. Dr. T.A. Cargill of Bell Laboratories will speak on ``A Debugger's Object-Oriented Architecture.'' TIME: 2:30 PM (Please Note) ROOM: MC 3008 ABSTRACT The choice of an object-oriented architecture for a debugger has influenced the software's evolution in unforeseen ways and resulted in a program whose func- tion exceeds the author's original goals. The motiva- tion for object-oriented programming was to experiment with a browser-like graphics user interface; it worked well. The first unforeseen benefit was in the symbol table: lazy construction of a abstract syntax-based tree (built from the loader's flattened format) gave a clean interface to the remainder of the debugger, with an efficient and robust implementation. Next, though the intention was to treat only one process at a time, the debugger was trivially modified to control multiple processes simultaneously. Finally, it was extended to control an arbitrary set of processes spanning the user's loosely-coupled timesharing computer and bitmap terminal, running different operating systems on dif- ferent processors. The debugger is written in C++, an extension of C with Simula-like classes. Those parts of the debugger that adapt to different target environ- ments employ the type derivation and inheritance mechanism of C++.