Modern applications, such as maritime situational awareness, require the processing of large data streams that are continuously evolving over time. Complex event recognition (CER) systems reason over high-velocity data streams containing `simple, derived events’ (SDE)s, i.e., symbolic abstractions of raw sensor data, in order to detect instances of `complex events’ (CE)s, i.e., spatio-temporal combinations of SDEs, by means of matching a set of pre-defined patterns over incoming SDEs.
In CER applications, input SDE streams may be erroneous, because of, e.g., the temporary malfunction of a sensor, object occlusion in video feeds, unreliable/incomplete signal transmissions, or errors in the transformation of raw data into SDEs. Reasoning over such SDE streams may lead to the derivation of contradictory complex events. In maritime situational awareness, e.g., an input stream may include two SDE indications expressing that the velocity of a vessel is above and below some speed limit, respectively. Based on this stream, the CER system may infer that the vessel is both violating and not violating the speed limit simultaneously, which is a contradiction. Such SDE streams are called inconsistent.
The goal of this thesis is to develop efficient techniques for reasoning over inconsistent SDE streams, under an inconsistency-tolerant semantics (see [1,2]), in order to derive consistent CEs in real time. The developed techniques will be integrated into the logic programming-based CER system RTEC [3,4], and evaluated both theoretically and empirically on large data streams.