Analyzing the behavior of event processing applications
Abstract
Event processing application development is a relatively new discipline that poses challenges when applying state-of-the-art software engineering practices. Specifically, the temporal semantics of event processing requires careful validation of the actual behavior against the expected behavior to avoid temporal fallacies. Event processing application development is typically an evolutional process; modifications and extensions to existing applications are very common, thus continuous validation and verification against the requirements and specifications is often required. While small applications are relatively easy to maintain, modifying and extending larger applications with tens and hundreds of assets may be laborious and error-prone. Part of the contemporary platforms has support for modeling, debugging, and testing event processing applications. However, they typically do not practice advanced methods for application validation for correctness and logical integrity. We introduce a novel approach for analyzing the behavior of event processing applications, utilizing static and dynamic analysis techniques, thus providing an ability to draw observations such as: finding event consequences and provenance, possible termination problems, tracing event impact, application artifacts evaluation and coverage. Formal verification methods are leveraged for advanced logical integrity observations. Combined with the techniques mentioned above, this forms a powerful framework for the verification, validation, and auditing of event processing applications. © 2010 ACM.