Event Correlation: Language and Semantics
Event correlation is a service provided by middleware platforms
that allows components in a publish/subscribe architecture to
subscribe to patterns of events rather than individual events.
Event correlation improves the scalability and performance of
distributed systems, increases their analyzability, while reducing
their complexity by moving functionality to the middleware.
To ensure that event correlation is provided as a standard and
reliable service, it must possess well-defined and unambiguous
In this paper we present a language and formal model for event correlation with operational semantics defined in terms of transducers. The language has been motivated by an avionics application and includes constructs for modes in addition to the more common constructs such as selection, accumulation and sequential composition. Prototype event processing engines for this language have been implemented in both C++ and Java and are now being integrated with third-party event channels.