NodeMD: diagnosing node-level faults in remote wireless sensor systems

Software failures in wireless sensor systems are notoriously difficult to debug. Resource constraints in wireless deployments substantially restrict visibility into the root causes of node-level system and application faults. At the same time, the high cost of deployment ofwireless sensor systems often far exceeds the cumulative cost of allother sensor hardware, so that software failures that completely disable a node are prohibitively expensive to repair in real worldapplications, e.g. by on-site visits to replace or reset nodes. We describe NodeMD, a deployment management system that successfully implements lightweight run-time detection, logging, and notificationof software faults on wireless mote-class devices. NodeMD introduces a debug mode that catches a failure before it completely disables a node and drops the node into a stable state that enables further diagnosis and correction, thus avoiding on-site redeployment. We analyze the performance of NodeMD on a real world application ofwireless sensor systems.

[1]  Richard Han,et al.  FireWxNet: a multi-tiered portable wireless system for monitoring weather conditions in wildland fire environments , 2006, MobiSys '06.

[2]  E. Kohler,et al.  Software-Based Memory Protection In Sensor Nodes , 2006 .

[3]  Lane A. Phillips Aqueduct: Robust and Ecient Code Propagation in Heterogeneous Wireless Sensor Networks , 2005 .

[4]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

[5]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Qiang Wang,et al.  Reprogramming wireless sensor networks: challenges and approaches , 2006, IEEE Network.

[8]  Deborah Estrin,et al.  Sympathy for the sensor network debugger , 2005, SenSys '05.

[9]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[10]  John A. Stankovic,et al.  t-kernel: a naturalizing OS kernel for low-power cost-effective computers , 2005, SOSP '05.

[11]  Wolfgang Schröder-Preikschat,et al.  AspectC++: an aspect-oriented extension to the C++ programming language , 2002 .

[12]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[13]  John Anderson,et al.  Wireless sensor networks for habitat monitoring , 2002, WSNA '02.

[14]  MeyerBertrand,et al.  Design by Contract , 1997 .

[15]  Jay K. Strosnider,et al.  An application of complex task modeling , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[16]  Nigamanth Sridhar,et al.  Abstractions for safe concurrent programming in networked embedded systems , 2006, SenSys '06.

[17]  Hideyuki Tokuda,et al.  ARTS: a distributed real-time kernel , 1989, OPSR.

[18]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[19]  Matt Welsh,et al.  Deploying a wireless sensor network on an active volcano , 2006, IEEE Internet Computing.

[20]  G. E. Reeves,et al.  What Really Happened on Mars , 1998 .

[21]  David N. Wilner WindView: a tool for understanding real-time embedded software through system vizualization , 1995 .

[22]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[23]  Eddie Kohler,et al.  Harbor: software-based memory protection for sensor nodes , 2007, IPSN '07.

[24]  David E. Culler,et al.  Design of an application-cooperative management system for wireless sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[25]  Eddie Kohler,et al.  SOS: A Dynamic Operating System for Sensor Networks , 2005 .

[26]  John Regehr,et al.  Eliminating stack overflow by abstract interpretation , 2003, TECS.