At DEBS last month, a few members of the EPTS Reference Architecture team tutored on the latest Functional Event Patterns list – with sample and pseudocode implementations – covering all aspects of event preparation, analysis, (complex event) detection, and reaction. From a TIBCO CEP perspective, this version mostly covers TIBCO BusinessEvents rule patterns (i.e. how these functional patterns map to a standard event-based production rule pseudocode), with a few references to BE State Models and the odd BE Continuous Query [*1]. These can be viewed alongside examples from Oracle EP, IBM WODM, IBM Stream Insight and the PROLOG-based Prova.
This remains very much a work-in-progress [*2], but should give a good idea of where we are heading. In the “real world,” it should be noted that often many of these functions are combined into a single operation (eg: covering preparation/filtering, analysis/transformation, detection/composition and reaction/assessment in a single rule or query).
Many thanks to co-presenters Catherine Moxey, Adrian Paschke and Martin Hirzel.
Notes:
[1] For better continuous query examples, there are Oracle CQL examples provided by Oracle’s Alex Alves. Our attempt to get Alex to attend remotely via Apple Facetime was an frustrating exercise in Facetime-setup however… possibly to Alex’s relief!
[2] For example, we need to standardise the examples, and level of code/pseudocode/model, to allow easier cross-comparisons of semantics. Consider the discussion on “detection” – do we need “aggregation” and “consolidation” as well? Or should the patterns cover other levels of composition such as “timed ordered events,” “missing event,” “out of order event,” etc?