We have been developing formal computational methods which take as input streams of low-level events, e.g. sensor-based events, such as a change in temperature, and combine them to infer complex high-level events of interest, such as the start of a fire incident or a fault in the cooling system of a vehicle. Our methods support real-time event recognition over high-velocity data streams, online structure learning for accurate event recognition over noisy relational streams, as well as complex event forecasting for proactive decision-making. An overview of our research activities may be found in this paper and this presentation, while latest news, running projects and other information can be found in our webpage.
Some applications in which we have applied our methods:
- Maritime Situational Awareness: Analyze vessel position streams to detect in real-time dangerous, suspicious and illegal activities.
- Fleet Management: Analyze vehicle position streams for real-time fleet management.
- Activity Recognition: Analyze camera feeds for real-time assisted daily living.
- Forecasting in cancer cell simulations: Forecast the outcome of cancer cell simulations, in order to optimise the use of resources on which they run.
Project | Description | Language | Licence |
---|---|---|---|
RTEC | Event Calculus for Run-Time reasoning. RTEC is an Event Calculus dialect optimised for data stream reasoning. | Prolog | LGPL-3.0 |
Incremental RTEC | Incremental Run-Time Event Calculus i.e., a version of RTEC for incremental reasoning. | Prolog | |
oPIEC | Online Probabilistic Interval-based Event Calculus. oPIEC is an implementation of the Event Calculus handling the uncertainty of data streams. | Prolog, Python | LGPL-3.0 |
OLED | Online Learning of Event Definitions. OLED is an online Inductive Logic Programming (ILP) system for learning logical theories from data streams. | Scala | GPL-3.0 |
Wayeb | Wayeb is a Complex Event Processing and Forecasting (CEP/F) engine written in Scala. It is based on symbolic automata and Markov models. | Scala | See repo |
ETSC | An Early Time-Series Classification Suite For Benchmarking. A collection of available ETSC algorithms and real-world datasets that can be used for evaluation and comparison purposes. | Python, C++ |
|
ASAL | Answer Set Automata Learning. ASAL is a framework for representing and learning symbolic automata-based complex event patterns in Answer Set Programming. | Python | GPL-3.0 |