| OCR Text |
Show provisions for controlling. These are provided by the framework supporting the introspection. Controlling is done from "outside" ; in general, the executor has no knowledge when and where the director changes its state. It is the responsibility of the director that controlling preserves the consistency of the executor. An introspective computer consists of an executor and a director. The director can monitor and control the executor. The executor can be any program. The interpreter executing the executor provides a stream of deltas, describing the behavior of the executor. This stream is called execution stream. The director is a program, designed for the purpose of introspection. The director can perform dynamic monitoring of the execution stream, static monitoring by analyzing the executor's state and controlling by changing a part of the executor's state. 2.3 Introspection in Computer Systems An executor executes on a hardware or a software interpreter. The interpreter provides necessary framework to emit the description of the computational behavior of the executor. This description is called execution stream. This section describes the content of the execution stream as well as requirements for the interpreter to efficiently generate the execution stream. 2.3.1 Level o f A b s tra c t ion Assuming that the executor is written in a high level language, there is a wide range of choices for the abstraction level at which the executor is interpreted. At one extreme, there is an interpreter with constructs of the high level language as primitives. At the other extreme is an interpreter that works at the level of machine code. Since an event is emitted in the execution stream for each interpreted operation, the abstraction level of the interpreter determines to a large extent the abstraction level at which introspection is conducted. 20 |