Runtime Verification of Stochastic Systems

We desire a capability for the safety monitoring of complex, mixed hardware/software systems, such as a semi-autonomous car. The field of runtime verification has developed many tools for monitoring the safety of software systems in real time. However, these tools do not allow for uncertainty in the system's state or failure, both of which are essential for the problems we care about. In this thesis I propose a capability for monitoring the safety criteria of mixed hardware/software systems that is robust to uncertainty and hardware failure. I start by framing the problem as runtime verification of stochastic, faulty, hidden-state systems. I solve this problem by performing belief state estimation over a novel set of models that combine Büchi automata, for modeling safety requirements, with probabilistic hierarchical constraint automata, for modeling mixed hardware/software systems. This method is innovative in its melding of safety monitoring techniques from the runtime verification community with probabilistic mode estimation techniques from the field of model-based diagnosis. I have verified my approach by testing it on automotive safety requirements for a model of an actuator component. My approach shows promise as a real-time safety monitoring tool for such systems. Acknowledgments To many friends and mentors thanks are due; To Mom and Dad, your love has been a light Upon my heart, your wisdom certain through Uncertain times. You helped me win this fight. For valued counsel, and for patience long, Mere thanks, Advisor, can't repay my debt. For all my teachers, thanks cannot be wrong; An ounce of learning I do not regret. To all the names I couldn't cram in verse; Fiancè, Sibling, comrade labmates, friends; Forgive me, though my gratitude is terse, It issues from a source that never ends. And last, for Him who loves me, my redeemer, Soli Deo gloria et honor. contract number 960101.

[1]  A. Prasad Sistla,et al.  Monitoring Temporal Properties of Stochastic Systems , 2008, VMCAI.

[2]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[3]  Brian C. Williams,et al.  Model-based programming of intelligent embedded systems and robotic space explorers , 2003, Proc. IEEE.

[4]  Insup Lee,et al.  Statistical Runtime Checking of Probabilistic Properties , 2007, RV.

[5]  Dimitra Giannakopoulou,et al.  Automata-based verification of temporal properties on running programs , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[6]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[7]  Martin Leucker,et al.  Runtime Verification for LTL and TLTL , 2011, TSEM.

[8]  Brian C. Williams,et al.  Mode Estimation of Model-based Programs: Monitoring Systems with Complex Behavior , 2001, IJCAI.

[9]  Christel Baier,et al.  Principles of model checking , 2008 .

[10]  Mahesh Viswanathan,et al.  Statistical Model Checking of Black-Box Probabilistic Systems , 2004, CAV.

[11]  Doron Drusinsky,et al.  The Temporal Rover and the ATG Rover , 2000, SPIN.

[12]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

[13]  Grigore Rosu,et al.  Monitoring Algorithms for Metric Temporal Logic Specifications , 2004, RV@ETAPS.

[14]  A. Sangiovanni-Vincentelli,et al.  Verification of electronic systems , 1996, 33rd Design Automation Conference Proceedings, 1996.

[15]  Brian C. Williams,et al.  Model-Based Monitoring and Diagnosis of Systems with Software-Extended Behavior , 2005, AAAI.

[16]  Brian C. Williams,et al.  Diagnosis as Approximate Belief State Enumeration for Probabilistic Concurrent Constraint Automata , 2005, AAAI.

[17]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

[18]  Axel Legay,et al.  A Bayesian Approach to Model Checking Biological Systems , 2009, CMSB.

[19]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[20]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[21]  Wa Halang,et al.  REAL-TIME SYSTEMS .2. , 1989 .

[22]  Michael Sipser,et al.  Introduction to the Theory of Computation , 1996, SIGA.

[23]  Grigore Rosu,et al.  Java PathExplorer: A Runtime Verification Tool , 2001 .

[24]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[25]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[26]  Brian C. Williams,et al.  A Tractable Approach to Probabilistically Accurate Mode Estimation , 2005 .

[27]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[28]  Pierre Wolper,et al.  The tableau method for temporal logic: an overview , 1985 .

[29]  Michael R. Lowry,et al.  Experimental Evaluation of Verification and Validation Tools on Martian Rover Software , 2013, Formal Methods Syst. Des..

[30]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, Formal Methods Syst. Des..

[31]  Hanêne Ben-Abdallah,et al.  Formally specified monitoring of temporal properties , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[32]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[33]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, CAV.

[34]  Philip Koopman,et al.  System safety as an emergent property in composite systems , 2009, 2009 IEEE/IFIP International Conference on Dependable Systems & Networks.

[35]  David Lorge Parnas,et al.  Requirements-based monitors for real-time systems , 2000, ISSTA '00.

[36]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[37]  Mahesh Viswanathan,et al.  Java-MaC: A Run-Time Assurance Approach for Java Programs , 2004, Formal Methods Syst. Des..

[38]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[39]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.