RTEC_s^RCT is an extension of RTEC, an open-source Event Calculus dialect optimised for data stream reasoning, with sequence support.
It is written in Prolog and has been tested under SWI-Prolog on Linux.
RTEC_s^RCT 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.
- RTEC: Original version of RTEC.
- iRTEC: Incremental RTEC. iRTEC supports incremental reasoning, efficiently handling delays and retractions in data streams.
- oPIEC: Online Probabilistic Interval-Based Event Calculus. Supports reasoning over data streams under uncertainty.
- Wayeb: Complex Event Processing and Forecasting (CEP/F) engine written in Scala, based on symbolic automata and Markov models.
- Download the maritime, voting and fleet managements datasets using the links in files:
RTECsRCT/examples/{maritime,voting,fleet_management}/dataset/csv/data.txt
- Place the CSV files in:
RTECsRCT/examples/{maritime,voting,fleet_management}/dataset/csv/
Navigate to:
/RTECsRCT/execution_scripts
Then run the appropriate script:
-
MSA-synth
run_MSA_synth_s_rct.sh(for RTEC_s^RCT)run_MSA_synth_s.sh(for RTEC_s)
-
MSA-Brest
run_MSA_brest_s_rct.sh(for RTEC_s^RCT)run_MSA_brest_s.sh(for RTEC_s)
-
MAS-Voting
run_voting_s_rct.sh(for RTEC_s^RCT)run_voting_s.sh(for RTEC_s)
-
FM
run_FM_s_rct.sh(for RTEC_s^RCT)run_FM_s.sh(for RTEC_s)
Results can be found in:
/RTECsRCT/examples/{maritime,voting,fleet_management}/results/
After running the maritime and voting experiments, call the extraction script from the corresponding results folder to get a summary of all the experiments.
Example:
/RTECsRCT/examples/maritime/results/synth/extract_data.sh
To compute avg eagerness for an experiment:
-
Navigate to:
/RTECsRCT/execution_scripts/ -
Run
compute.pyon the results and dataset (call with--helpfor help). Note: For fleet management, to exclude long vehicle gaps run with the --fm flag.
python3 compute.py \
--rec ../../examples/voting/results/1000_20/log-swi-10-10-csv-file-recognised-intervals.txt \
--dt ../../examples/voting/dataset/csv/voting-1000-1-20.csv