Formalization of a Monitoring Algorithm for Metric First-Order Temporal Logic

Joshua Schneider 📧 and Dmitriy Traytel 🌐

July 4, 2019

This is a development version of this entry. It might change over time and is not stable. Please refer to release versions for citations.

Abstract

A monitor is a runtime verification tool that solves the following problem: Given a stream of time-stamped events and a policy formulated in a specification language, decide whether the policy is satisfied at every point in the stream. We verify the correctness of an executable monitor for specifications given as formulas in metric first-order temporal logic (MFOTL), an expressive extension of linear temporal logic with real-time constraints and first-order quantification. The verified monitor implements a simplified variant of the algorithm used in the efficient MonPoly monitoring tool. The formalization is presented in a RV 2019 paper, which also compares the output of the verified monitor to that of other monitoring tools on randomly generated inputs. This case study revealed several errors in the optimized but unverified tools.

License

BSD License

History

August 13, 2020
added the formalization of the abstract slicing framework and joint data slicer (revision b1639ed541b7)

Topics

Session MFOTL_Monitor