Description for an Artifact Evaluation of SyMon

Uploaded materials

The Virtual Machine

Our Host Platform

How to Proceed After Booting the Image

  1. You can login automatically.
  2. The full artifact description README.html is in the desktop. You can open the file by double-clicking.

A Workflow of the Evaluation

  1. Open the terminal and change the current directory to /home/cav/evaluation_files by cd ~/evaluation_files
  2. Execute SyMon giving the PTDA for Copy and a timed data word by ./run_copy.sh ./data/copy/copy-2000.tsv. One can use an arbitrary file in ./data/copy, for example ./run_copy.sh ./data/copy/copy-10000.tsv.
  3. Execute SyMon giving the PTDA for Dominant and a timed data word by ./run_dominant.sh ./data/dominant/dominant-2000.tsv. One can use an arbitrary file in ./data/dominant, for example ./run_dominant.sh ./data/dominant/dominant-10000.tsv.
  4. Execute SyMon giving the PTDA for Periodic and a timed data word by ./run_periodic.sh ./data/periodic/periodic-10000.tsv. One can use an arbitrary file in ./data/periodic, for example ./run_periodic.sh ./data/periodic/periodic-20000.tsv.

Description of the Files and Directories

Source Code of SyMon

The most relevant and interesting part of the source code tree

This is the function ParametricMonitor::notify. Given the structure consists of the 1) current event; 2) the data on the event; and 3) the timestamp, it incrementally conducts the symbolic monitor. More precisely, it follows the transitions of the PTDA, it updates the current configuration, and it outputs the observed result if it reaches an accepting location.

Unit test

We use unit test to assure the quality of the code of SyMon. The codes for the unit test are under /home/cav/evaluation_files/symon/test/. You can execute the unit test by cd /home/cav/evaluation_files/symon/build && make unit_test && ./unit_test.

Logs Created by SyMon