| OCR Text |
Show top of the stack. Modifications at the finer level than a function are hard to achieve. These modifications would change the function code as the function is executing. This would be helpful in the case of long running loops, since print statements or other modifications could be added on the fly as the loop is executing. These modifications impose problems because a great deal of information is kept in the internal state or on the stack. The director needs to keep track of values in internal registers and on the stack and copy the corresponding state from the old version to the new version. This involves the matching of parse trees and generated machine code for both versions and the detection of differences between the old version and the new version. This direction was not pursued any further, since it is a considerable research topic in itself. 4.7 Unison Algorithm The Unison algorithm was developed to facilitate the construction of fast filters. Although the latest version of Dynascope supports compiled filters which are very fast and flexible, these filters have some deficiencies. If new filters are to be generated dynamically, the director must generate the filter program and compile it before the filter can be used. This is a complex process and may not be feasible in some environments. For example, the compiler is usually not available in real time systems. In these situations, interpreted filters are much more suitable than compiled filters. Interpreted filters provide a predetermined set of functions which can be chosen by setting tables. It is much easier for the director to chose functions from the table than to generate a program and compile it. The weakness of interpreted filters is that they are slow and can cause a significant slowdown in the execution speed of the executor. The Unison algorithm provides an alternative to compiled and interpreted filters. It enables the construction of filters that combine 96 |