| OCR Text |
Show the speed of compiled filters with the ease of use of interpreted filters. To the director, the filter with the Unison algorithm behaves like an interpreted filter, since the interface is almost identical. During execution, the speed of the filter with the Unison algorithm is close to the speed of compiled filters. A common functionality of the filter is to evaluate Boolean expressions on the values from events [22, 54, 68, 69]. Depending on the purpose of monitoring, different Boolean functions are evaluated at different time intervals. To facilitate monitoring, a new approach for efficient evaluation of Boolean expressions has been developed. The approach uses the total differential of a Boolean expression which gives the difference in the expression value due to the difference in input values. Based on this approach, a new Unison algorithm is derived which significantly increases the speed of calculating Boolean expressions in software. In hardware implementations, the approach reduces the complexity and the size of the filter as compared to previous solutions (see Section 5.2.2). Efficient evaluation of Boolean expressions has other important applications. Some applications include: data base search [70], programming environments [30], modeling of digital circuits and software systems [11], debugging [61], and event recording [70]. Usual approach to evaluation of Boolean expressions in software involves interpretation which is expensive in execution time. Improvements include compiled evaluation [11], special-purpose circuits [16, 70], and reduction in the number of evaluations [61]. The compiled evaluation is the fastest method to evaluate Boolean expressions in software. Boolean expressions are stated as a program in a high-level programming language. The program is compiled and executed with given inputs to obtain results. In a compiled evaluation, the representation of each Boolean operation occupies many words of memory space and many machine instructions must be executed to evaluate a single Boolean operation. The Unison algorithm provides a compact description of Boolean operations and is able to evaluate many 97 |