| OCR Text |
Show The section on monitoring describes a design for a powerful filter with a real time operation. Controlling can be implemented using standard techniques for shared memory or message passing. The main problem in controlling is the synchronization between monitoring and controlling. By the time the director detects an interesting state of the executor, the executor can already advance several states. The section on controlling discusses techniques to solve this problem. Space is the main constraint in reverse execution. To support reverse execution of the executor, its history is saved. The amount of history is too large to be useful without a significant compaction. The section on reverse execution describes a history cache, a novel approach to history compaction. 5.2 Monitoring The section on monitoring starts with a discussion on requirements for a real time filter. The most basic operation of the filter is to evaluate Boolean expressions. The Unison algorithm described in Section 4.7 uses the total differential to evaluate Boolean expressions. The total differential can also be used as a basis to implement a Universal Boolean Element (UBE). The UBE can efficiently evaluate any Boolean function and leads to a compact hardware implementation. The UBE and some filter designs are described in this section. 5.2.1 Requirements for Real Time Monitoring To describe the executor's computational behavior, several words are emitted for each executed instruction. Therefore, the director would need to execute several instructions to monitor a single executor's instruction. This approach to real time monitoring requires that the processing power of the director is significantly higher than the processing power of the executor. Plattner writes in his work on real time monitoring [68]: 119 |