Check out the new USENIX Web site. Previous Next Contents

9   Conclusions

Hancock handles the scale of the data used in signature computations, thereby reducing coding effort and improving the clarity of signature code. The language, compiler, and runtime system provide the scaffolding necessary to compute signatures, leaving programmers free to focus on the signatures themselves. In particular, Hancock's wiring diagram makes the relationships among phases clear. Its event model allows programmers to specify the work needed to compute a signature without having to write complicated control-flow code by hand. Finally, Hancock's data model makes writing signatures less error-prone by handling multiple data representations automatically.

We plan to extend Hancock in two ways. First, we intend to enrich the set of operations that Hancock provides for streams. For example, we plan to add a reduction operation that would allow programmers to pre-process streams to combine related records. Second, we intend to broaden the class of data that can be processed using Hancock, for example, to include Internet protocol logs or billing records. To accomplish this goal, we need to provide a mechanism for describing data streams. Such a description must include how such streams can be sorted and how to detect events based on the sorting order.


Previous Next Contents