Synchronous Observers Revisited for Runtime Verification of Lustre Using STL
Logan Kenwright, Partha Roop, Sobhan Chatterjee, Nathan Allen
Abstract
Signal Temporal Logic (STL) is a popular formalism for the temporal safety properties of cyber-physical systems, most often used for runtime verification. In the synchronous family of languages, safety properties are instead expressed as synchronous observers, modules composed with a program for static verification, which are also runnable specifications suitable for runtime verification, though this use is rarely explored. We present a technique for compiling the synchronous fragment of STL (SSTL) into synchronous observers in the dataflow language Lustre. Unlike previous work, we allow arbitrary nesting of bounded SSTL properties via modular compilation, and admit a globally unbounded outer operator for online monitoring; the resulting observers serve both runtime verification and, as a by-product, static verification with the Kind2 model checker. We further contribute an interactive visualiser that renders a property's three-valued verdict over an editable trace, and evaluate on two case studies from the literature: a spring-mass system and a car-following cruise controller.
Create a lesson
Related papers
MightyPPL : Towards model checking MTL
Hsi-Ming Ho, Shankara Narayanan Krishna, Khushraj Madnani et al.
Counting on Nowhere Dense Classes
Steffen van Bergerem, Nicole Schweikardt
Towards a Proof-Theoretic Analysis of Incorrect/Incomplete Proofs
Matthias Baaz, Mariami Gamsakhurdia
Descriptive Complexity in Lean: Completeness by First-Order Reductions
Pierre Senellart, Anton Gnatenko
Predictable Modelling and Analysis of Software-defined Vehicle Implementations
Pavlo Tokariev, Yosri Ayari, Julien Deantoni
Refining Timing Uncertainty from Logical Time Specification to Operation
Pavlo Tokariev, Julien Deantoni