| OCR Text |
Show 1.2.6 M on ito r in g and D ebugg ing The areas of monitoring and debugging cover a very limited part of introspection. Although they use similar techniques, their scope is much smaller than the scope of introspection. A survey of monitoring techniques for purposes of testing, debugging, performance measurement, and program optimization can be found in [54, 69]. Hardware monitors of program execution include most of the functionality of introspection, but they are used only for special purposes and they are not integrated into the same environment as the monitored program. In introspective computers, both monitored and monitoring processes are implemented in the same environment and integrated in the system. One possible view of an introspective computer is a computer with a built-in hardware monitor and a feedback loop between the monitored and the monitoring program. Several techniques and methods used in introspective computer can be found in various computer architectures. The CDC 6600 consists of central processors and peripheral processors [82]. They correspond roughly to executors and directors. Central and peripheral processors are connected only through the common memory. The connection between them is more loose than the connection between the executor and the director. No facility for describing the computational behavior of central processors is provided. Although peripheral processors were not designed for monitoring, they were used for that purpose [39]. The IBM 370 includes program event recording that can be invoked without any preplanning in the design of the program [13]. Program event recording can cause an interrupt on: branch execution, change in register contents, fetch of certain instructions or change in the value in certain locations. The concept of computational behavior can be viewed as a generalization of program event 10 |