The repository contains an artifact for the Verified Rust Monitors for Lola Specifications paper to appear at RV'20.
There are artifacts for two specifications: a simple altimeter sensor validation and a network monitoring specification.
- The
altimeter
directory contains randomly generated input dataaltitude_data.txt
, a functional Rust project, the verifiableprovable/motivating_example_proof.rs
file, and the specificationaltimeter.lola
. - The
network
directory contains randomly generated input datanetwork_data.txt
, a functional Rust project, the verifiableprovable/network_proof.rs
file, and the specificationnetwork.lola
. - The
network-parallel
directory contains randomly generated input datanetwork_data.txt
, a functional Rust project similar to thenetwork
directory, the monitor file for this example uses threads to compute multiple streams in a single evaluation layer at the same time.
The difference between the executable and provable files is that the Viper code annotations are removed and the I/O functions were adapted accordingly. You can compile an run the monitors by switching into the respective folder an run cargo run --release
. Note that you need to install Rust first, check it out here.