Journal ArticleDOI
Rewriting-Based Techniques for Runtime Verification
Grigore Rosu,Klaus Havelund +1 more
- Vol. 12, Iss: 2, pp 151-197
Reads0
Chats0
TLDR
The presented work is part of an ambitious runtime verification and monitoring project at NASA Ames, called PathExplorer, and demonstrates that rewriting can be a tractable and attractive means for experimenting and implementing logics for program monitoring.Abstract:
Techniques for efficiently evaluating future time Linear Temporal Logic (abbreviated LTL) formulae on finite execution traces are presented. While the standard models of LTL are infinite traces, finite traces appear naturally when testing and/or monitoring real applications that only run for limited time periods. A finite trace variant of LTL is formally defined, together with an immediate executable semantics which turns out to be quite inefficient if used directly, via rewriting, as a monitoring procedure. Then three algorithms are investigated. First, a simple synthesis algorithm for monitors based on dynamic programming is presented; despite the efficiency of the generated monitors, they unfortunately need to analyze the trace backwards, thus making them unusable in most practical situations. To circumvent this problem, two rewriting-based practical algorithms are further investigated, one using rewriting directly as a means for online monitoring, and the other using rewriting to generate automata-like monitors, called binary transition tree finite state machines (and abbreviated BTT-FSMs). Both rewriting algorithms are implemented in Maude, an executable specification language based on a very efficient implementation of term rewriting. The first rewriting algorithm essentially consists of a set of equations establishing an executable semantics of LTL, using a simple formula transforming approach. This algorithm is further improved to build automata on-the-fly via caching and reuse of rewrites (called memoization), resulting in a very efficient and small Maude program that can be used to monitor program executions. The second rewriting algorithm builds on the first one and synthesizes provably minimal BTT-FSMs from LTL formulae, which can then be used to analyze execution traces online without the need for a rewriting system. The presented work is part of an ambitious runtime verification and monitoring project at NASA Ames, called PathExplorer, and demonstrates that rewriting can be a tractable and attractive means for experimenting and implementing logics for program monitoring.read more
Citations
More filters
Book ChapterDOI
A Case Study on Runtime Monitoring of an Autonomous Research Vehicle (ARV) System
TL;DR: An efficient runtime monitoring algorithm, EgMon, that eagerly checks for violations of desired properties written in future-bounded, propositional metric temporal logic is developed and shown to be able to detect violations of several safety requirements.
Proceedings ArticleDOI
Runtime Monitoring of Metric First-order Temporal Properties
TL;DR: A novel approach to the runtime monitoring of complex system proper- ties that allows the unrestricted use of negation, universal and existential quantification over infinite domains, and the arbitrary nesting of both past and bounded future operators.
DyKnow : A Stream-Based Knowledge Processing Middleware Framework
TL;DR: As robotic systems become more and more advanced the need to integrate existing deliberative functionalities such as chronicle recognition, motion planning, task planning, and execution monitoring monitoring ...
Book ChapterDOI
Runtime Verification for Decentralised and Distributed Systems
TL;DR: This chapter surveys runtime verification research related to distributed systems and reports solutions that study how to monitor system with some distributed characteristic, solutions that use a distributed platform for performing a monitoring task, and foundational works that present semantics for decomposing monitors or expressing specifications amenable for distributed systems.
ReportDOI
A Study on Run Time Assurance for Complex Cyber Physical Systems
Matthew Clark,Xenofon Koutsoukos,Joseph Porter,Ratnesh Kumar,George J. Pappas,Oleg Sokolsky,Insup Lee,Lee Pike +7 more
TL;DR: This study investigates the key technologies available and needed to increase the reliance on run time assurance, and suggests that if, through the use of run time architecture, the authors can provably bound systems behavior, then it may be possible to reduce the dependence on comprehensive off-line verification, shifting the analysis/test burden to the more provable run timeurance mechanism.
References
More filters
Book
Introduction to Automata Theory, Languages, and Computation
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
Journal ArticleDOI
Graph-Based Algorithms for Boolean Function Manipulation
TL;DR: In this paper, the authors present a data structure for representing Boolean functions and an associated set of manipulation algorithms, which have time complexity proportional to the sizes of the graphs being operated on, and hence are quite efficient as long as the graphs do not grow too large.
Proceedings ArticleDOI
The temporal logic of programs
TL;DR: A unified approach to program verification is suggested, which applies to both sequential and parallel programs, and the main proof method is that of temporal reasoning in which the time dependence of events is the basic concept.
Book
The Temporal Logic of Reactive and Concurrent Systems: Specification
Amir Pnueli,Zohar Manna +1 more
Book
The temporal logic of reactive and concurrent systems
Zohar Manna,Amir Pnueli +1 more
TL;DR: Temporal logic is a formal tool/language which yields excellent results in specifying reactive systems, and this volume (the first two), offers an introduction to temporal logic and to the computational model for reactive programs which has been developed by the authors as mentioned in this paper.