By adequate processing of events observed in event-driven architecture, valuable information can be extracted and used in controlling and decision situations. The technique of extracting information is the pattern matching defined over the event stream. Events, as atomic data-objects arising from different event sources, may be valuable by themselves as well, but in most cases the interesting patterns cannot be associated with one single source, but they consists of multiple events possibly of different type, format, characteristic. This structure, called complex event, is a logical linking of atomic events, extended by information such as ordering, timing, frequency, etc.
Complex event processing, rather than statistical or data mining techniques, aims at real-time prediction of relevant phenomenon, based on current information, with a slight delay, at most in the order of seconds. Its accomplishments are employed successfully by the domains of IT-infrastructure monitoring and diagnosis, financial prediction, or fraud detection.
Depicting complex events over multiple sources (usually of different type) is not a trivial task. Languages of event processing tools allow defining patterns on a platform-specific level. This approach limits the obtainable complexity of event pattern definitions, since with the growing codebase it gets harder to handle by the developer.
As a solution to the problem I developed a model-driven technique that satisfies these requirements. I also created a modeling language and an integrated development environment (modeling tool) to support the technique. The model-driven approach provides a comprehensive way for defining patterns and enables application of formal verification methods, which can be used for assuring high-level conformance to domain-specific standards or law. (E.g.: COBIT in IT-security domain.)