An Automatic Approach to Verify Sensor Network Systems

The programming language nesC for TinyOS applications supports special features of sensor network systems by providing a component-oriented programming model which is flexibly concurrent/reactive and event-driven. Sensor network systems are correctness critical since they are expected to work autonomously. Formal verification techniques such as model checking have been successfully applied to assure the reliability and correctness of concurrent systems and real-time systems. However, manually constructing a formal model is always a non-trivial task. We develop a lightweight framework for sensor network systems which automatically extracts real-time models from nesC implementations and verifies them against goals using model checking techniques. We believe that our approach contributes to systematically improving the quality of sensor network systems, with little overhead or cost caused by applying verification techniques.

[1]  Allan I. McInnes Using CSP to Model and Analyze TinyOS Applications , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[2]  Jin Song Dong,et al.  Blending Object-Z and Timed CSP: an introduction to TCOZ , 1998, Proceedings of the 20th International Conference on Software Engineering.

[3]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

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

[5]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[6]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[7]  Hridesh Rajan,et al.  Slede: a domain-specific verification framework for sensor network security protocol implementations , 2008, WiSec '08.

[8]  Yanhong A. Liu,et al.  Model Checking Linearizability via Refinement , 2009, FM.

[9]  Hridesh Rajan,et al.  Slede: Framework for automatic verification of sensor network security protocol implementations , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[10]  Gerard J. Holzmann,et al.  Software model checking with SPIN , 2005, Adv. Comput..

[11]  Jun Sun,et al.  Specifying and Verifying Event-Based Fairness Enhanced Systems , 2008, ICFEM.

[12]  Jun Sun,et al.  Verifying Stateful Timed CSP Using Implicit Clocks and Zone Abstraction , 2009, ICFEM.

[13]  Jun Sun,et al.  Bounded Model Checking of Compositional Processes , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

[14]  N.S. Rosa,et al.  Behavioural Specification of Wireless Sensor Network Applications , 2007, 2007 First International Global Information Infrastructure Symposium.

[15]  Jacques Pulou,et al.  Using BIP for Modeling and Verification of Networked Systems -- A Case Study on TinyOS-based Networks , 2007, Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007).