/Incremental_RTEC

Incremental RTEC is the incremental extension of RTEC (https://github.com/aartikis/RTEC) for handling more efficiently out-of-order streams.

Primary LanguageProlog

Incremental RTEC: Incremental Run-Time Event Calculus

RTEC is an open-source Event Calculus dialect optimised for data stream reasoning. Incremental RTEC is an extension of RTEC for handling more efficiently out-of-order data streams. It is written in Prolog and has been tested under YAP 6.2.

License

Incremental RTEC comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the GNU Lesser General Public License v3 for more details.

File Description

To run Incremental RTEC you need first to download the dataset of an application. In the /examples directory there are folders each one corresponding to a different application. Each application folder contains patterns and datasets for experimentation as well as a readme file. In the data/dynamic_data directory of each application you can find instructions for downloading a dataset. For now, we provide only the data for the application "maritime_brest".

After you have downloaded a dataset you can run Incremental RTEC from the command line using the run-exps.py file. You will need to have installed Python3 in your system. Assuming that you have downloaded the datasets for the application "maritime_brest", please type in the command line:

$ python3 run-exps.py

and then follow the on-screen instructions in order to select the desired parameters for recognition. When recognition finishes, the produced composite events and various statistics concerning recognition will be saved in the data/results directory of the application. If the directory does not exist, it will be created.

Documentation

Related Software

  • RTEC: RTEC is an Event Calculus implementation optimised for stream reasoning.
  • OLED: Online Learning of Event Definitions. OLED is a supervised machine learning tool for constructing Event Calculus rules, such as complex event patterns, from annotated data streams.
  • oPIEC: Online Probabilistic Interval-Based Event Calculus. oPIEC supports Event Calculus reasoning over data streams under uncertainty.
  • Wayeb: Wayeb is a Complex Event Processing and Forecasting (CEP/F) engine written in Scala. It is based on symbolic automata and Markov models.