Braceassertion: behavior-driven development for cps application

Cyber-Physical Systems (CPS) have gained wide popularity, however, developing and debugging CPS remain significant challenges. Many bugs are detectable only at runtime under deployment conditions that may be unpredictable or at least unexpected at development time. The current state of the practice of debugging CPS is generally ad hoc, involving trial and error in a real deployment. For increased rigor, it is appealing to bring formal methods to CPS verification. However developers often eschew formal approaches due to complexity and lack of efficiency. This paper presents BraceAssertion, a specification framework based on natural language queries that are automatically converted to a determinitic class of timed automata used for runtime monitoring. To reduce runtime overhead and support properties that reference predicate logic, we use a second monitor automaton to create filtered traces on which to run the analysis using the specification monitor. We evaluate the BraceAssertion framework using a real CPS case study and show that the framework is able to minimize runtime overhead with an increasing number of monitors.

[1]  C. Julien,et al.  On the State of the Art in Verification and Validation in Cyber Physical Systems TR-ARiSE-2014-001 , 2014 .

[2]  Pierre-Yves Schobbens,et al.  The Logic of Event Clocks - Decidability, Complexity and Expressiveness , 1998, J. Autom. Lang. Comb..

[3]  Matthew B. Dwyer,et al.  Optimizing monitoring of finite state properties through monitor compaction , 2013, ISSTA.

[4]  Jan Chomicki,et al.  Efficient checking of temporal integrity constraints using bounded history encoding , 1995, TODS.

[5]  Flaviu Cristian,et al.  An optimal internal clock synchronization algorithm , 1995, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[6]  Victor R. Lesser,et al.  Evolution of the GPGP/TÆMS Domain-Independent Coordination Framework , 2002, AAMAS '02.

[7]  Mahesh Viswanathan,et al.  Membership questions for timed and hybrid automata , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[8]  Thomas A. Henzinger,et al.  A Determinizable Class of Timed Automata , 1994, CAV.

[9]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[10]  B. L. Buteau,et al.  Decentralized negotiation: An approach to the distributed planning problem , 1992 .

[11]  Felix Klaedtke,et al.  Runtime Monitoring of Metric First-order Temporal Properties , 2008, FSTTCS.

[12]  Kay Römer,et al.  PDA: Passive distributed assertions for sensor networks , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[13]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[14]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[15]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[16]  Victor R. Lesser Evolution of the GPGP/TÆMS domain-independent coordination framework , 2002, AAMAS.

[17]  Daniel Kroening,et al.  Test-case generation for embedded simulink via formal concept analysis , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[18]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[19]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[20]  Eric Bodden Verifying finite-state properties of large-scale programs , 2009 .

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

[22]  Grigore Rosu,et al.  Java-MOP: A Monitoring Oriented Programming Environment for Java , 2005, TACAS.

[23]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[24]  Thomas A. Henzinger,et al.  The benefits of relaxing punctuality , 1991, PODC '91.

[25]  Jonathan P. Bowen,et al.  Ten commandments revisited: a ten-year perspective on the industrial application of formal methods , 2005, FMICS '05.

[26]  Kuldeep Kumar,et al.  Strategies for incorporating formal specifications in software development , 1994, CACM.

[27]  Grigore Rosu,et al.  Scalable Parametric Runtime Monitoring , 2012 .

[28]  Felix Klaedtke,et al.  Monitoring security policies with metric first-order temporal logic , 2010, SACMAT '10.

[29]  Klaus Wehrle,et al.  KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment , 2010, IPSN '10.