Temporal Monitors for TinyOS

Networked embedded systems generally have extremely low visibility of system faults. In this paper, we report on experimenting with online, node-local temporal monitors for networked embedded nodes running the TinyOS operating system and programmed in the nesC language. We instrument the original node software to signal asynchronous atomic events to a local nesC component running a runtime verification algorithm; this checks LTL properties automatically translated into deterministic state-machine monitors and encoded in nesC. We focus on quantifying the added (i) memory and (ii) computational overhead of this embedded checker and identify practical upper bounds with runtime checking on mainstream embedded platforms.

[1]  David E. Culler,et al.  System architecture directions for networked sensors , 2000, SIGP.

[2]  Oliver Obst,et al.  Wireless Sensor Network Anomalies: Diagnosis and Detection Strategies , 2011 .

[3]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[4]  Eric Eide,et al.  Efficient memory safety for TinyOS , 2007, SenSys '07.

[5]  Marcelo d'Amorim,et al.  Efficient Monitoring of omega-Languages , 2005, CAV.

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

[7]  Klaus Havelund,et al.  Runtime Verification of C Programs , 2008, TestCom/FATES.

[8]  Andreas Tolk,et al.  Intelligence-Based Systems Engineering , 2011 .

[9]  Richard Han,et al.  NodeMD: diagnosing node-level faults in remote wireless sensor systems , 2007, MobiSys '07.

[10]  Peng Li,et al.  T-check: bug finding for sensor networks , 2010, IPSN '10.

[11]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  W. Archer,et al.  Interface Contracts for TinyOS , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[13]  Alexandre Petrenko,et al.  Testing of Software and Communicating Systems , 2007, Lecture Notes in Computer Science.

[14]  Yih-Kuen Tsay,et al.  Büchi Store: An Open Repository of Büchi Automata , 2011, TACAS.

[15]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[16]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

[17]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

[18]  Jun Sun,et al.  Towards a Model Checker for NesC and Wireless Sensor Networks , 2011, ICFEM.

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

[20]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[21]  Doina Bucur,et al.  On software verification for sensor nodes , 2011, J. Syst. Softw..

[22]  Luciano Baresi,et al.  Anquiro: enabling efficient static verification of sensor network software , 2010, SESENA '10.

[23]  Hubert Comon,et al.  Computer Aided Verification , 2001, Lecture Notes in Computer Science.

[24]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[25]  David Gay,et al.  Software design patterns for TinyOS , 2005, LCTES '05.

[26]  Denis Poitrenaud,et al.  SPOT: an extensible model checking library using transition-based generalized Bu/spl uml/chi automata , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[27]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[28]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[29]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[30]  Ronald Morrison,et al.  Towards Verifying Correctness of Wireless Sensor Network Applications Using Insense and Spin , 2009, SPIN.

[31]  Adam Dunkels,et al.  Demo abstract: MSPsim - an extensible simulator for MSP430-equipped sensor boards , 2007 .

[32]  Moshe Y. Vardi,et al.  Optimized temporal monitors for SystemC , 2010, RV.

[33]  Alexandre Duret-Lutz,et al.  LTL translation improvements in spot , 2011 .