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++.