Complex Event Detection
CED is the act of recognizing compound patterns in streams of events. It differs from 'normal' event based programming by specializing for events consisting of multiple sub-events. CED has used within SOFT for (multimodal) gesture interaction, see for instance the work done by Lode Hoste.
Declarative Complex Event Detection
One unresolved issue in the state of the art of CED is the lack of expressivity of the languages in which events to detect are described. A large part of my research focusses on resolving this issue, but specifically from the perspective of a designer of the reasoning engine performing the detection. That is to say, expressivity and conciseness of the code are balanced against the need of the programmer to supply as much domain knowledge as possible to the reasoning engine. For instance, point of my research evaluates the advantages and limitations of introducing domain-specific constructs to the language used to describe the complex events, which otherwise are essentially logical rules expressing constraints on events and their relations.
Large-scale Complex Event Detection
A second limitation of current CED systems is their scalability: systems offering a high degree of expressivity do so at the cost of runtime performance, in the sense of being too slow for many use cases, or having too large memory requirements. To enable CED on a large scale (e.g. using the behavior of a crowd at a music festival as input for the lighting or for automatically warning crowd management teams of dangerous situations, or for checking on the elderly in retirement homes), my research investigates options for parallelisation and distribution of the detection, as well as the (distributed) memory management system required to deal with huge amounts of events.
In the context of my research, I created software artifact called PARTE.
can be found here.