Results 1 - 10
of
17
PDA: Passive Distributed Assertions for Sensor Networks
- In IPSN/SPOTS
, 2009
"... Abstract — When deployed in a real-world setting, many sensor networks fail to meet application requirements even though they have been tested in the lab prior to deployment. Hence, concepts and tools for inspection are needed to identify failure causes in situ on the deployment site. Tools for insp ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Abstract — When deployed in a real-world setting, many sensor networks fail to meet application requirements even though they have been tested in the lab prior to deployment. Hence, concepts and tools for inspection are needed to identify failure causes in situ on the deployment site. Tools for inspection should minimize the interference with the sensor network to, firstly, ensure that failures of the sensor network do not break the inspection mechanism, and, secondly, to ensure that the inspection mechanism does not change the behavior of the sensor network. In this paper, we propose passive distributed assertions (PDA) as a novel tool for identifying failure causes. PDA allow a programmer to assert certain predicates over distributed node states. Packet sniffing is used to detect failed assertions, thus minimizing the interference with the sensor network. 1 I.
Macrodebugging: Global Views of Distributed Program Execution
"... Creatinganddebuggingprogramsforwirelessembedded networks (WENs) is notoriously difficult. Macroprogramming is an emerging technology that aims to address this problem by providing high-level programming abstractions. We present MDB, the first system to support the debugging of macroprograms. MDB all ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Creatinganddebuggingprogramsforwirelessembedded networks (WENs) is notoriously difficult. Macroprogramming is an emerging technology that aims to address this problem by providing high-level programming abstractions. We present MDB, the first system to support the debugging of macroprograms. MDB allows the user to set breakpoints and step through a macroprogram using a sourcelevel debugging interface similar to GDB, a process we call macrodebugging. AkeychallengeofMDBistostepthrough a macroprogram in sequential order even though it executes on the network in a distributed, asynchronous manner. Besides allowing the user to view distributed state, MDB also provides the abilityto search for bugs over the entire history of distributed states. Finally, MDB allows the user to make hypothetical changes to a macroprogram and to see the effect on distributed state without the need to redeploy, execute, and test the new code. We show that macrodebugging is both easy and efficient: MDB consumes few system resourcesandrequiresfewusercommandstofindthecauseof bugs. We also provide a lightweight version of MDB called MDB Lite that can be used during the deployment phase to reduceresourceconsumptionwhilestilleliminatingthepossibility of heisenbugs: changes in the manifestation of bugs caused byenabling ordisabling the debugger. Categories and SubjectDescriptors
Scoped Identifiers for Efficient Bit Aligned Logging
- In DATE. ACM, 2010. Thomas Schmid, Roy Shea, Zainul Charbiwala, Jonathan Friedman, Young Cho, and Mani Srivastava. “On the Interaction of Clocks, Power, and Synchronization in Embedded Sensor Nodes.” In TOSN
"... Abstract—Detailed diagnostic data is a prerequisite for debugging problems and understanding runtime performance in distributed wireless embedded systems. Severe bandwidth limitations, tight timing constraints, and limited program text space hinder the application of standard diagnostic tools within ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract—Detailed diagnostic data is a prerequisite for debugging problems and understanding runtime performance in distributed wireless embedded systems. Severe bandwidth limitations, tight timing constraints, and limited program text space hinder the application of standard diagnostic tools within this domain. This work introduces the Log Instrumentation Specification (LIS), which provides a high level logging interface to developers and is able to create extremely compact diagnostic logs. LIS uses a token scoping technique to aggressively compact identifiers that are packed into bit aligned log buffers. LIS is evaluated in the context of recording call traces within a network of wireless sensor nodes. Our evaluation shows that logs generated using LIS require less than 50 % of the bandwidth utilized by alternate logging mechanisms. Through microbenchmarking of a complete LIS implementation for the TinyOS operating system, we demonstrate that LIS can comfortably fit onto low-end embedded systems. By significantly reducing log bandwidth, LIS enables extraction of a more complete picture of runtime behavior from distributed wireless embedded systems. I.
LIS is More: Improved Diagnostic Logging in Sensor Networks with Log Instrumentation Specifications
"... Abstract—Detailed diagnostic data is a prerequisite for debugging problems and understanding runtime performance in distributed embedded wireless systems. Severe bandwidth limitations, tight timing constraints, and limited program text space hinder the application of standard diagnostic tools within ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract—Detailed diagnostic data is a prerequisite for debugging problems and understanding runtime performance in distributed embedded wireless systems. Severe bandwidth limitations, tight timing constraints, and limited program text space hinder the application of standard diagnostic tools within this domain. Our work introduces the Log Instrumentation Specification (LIS) that drives insertion of low overhead logging calls into a system. The LIS language is easy for developers to directly integrate into their daily work flow and, by acting as an intermediary language, facilitates rapid construction of higher level analysis. Through microbenchmarks of a complete LIS implementation for the TinyOS operating system, we demonstrate that LIS can comfortably fit onto bottom tier embedded systems. We show how we have used LIS to create a complete monitoring infrastructure for wireless sensor networks that uses features of the LIS language to optimize the size of gathered logs, replicate features of specialized logging infrastructures with minimal effort, and jump start debugging of these systems. Finally, we provide examples of our use of LIS to diagnose specific problems and understand system behavior of a sensor network. Keywords-software engineering; testing and debugging; debugging aids; diagnostics; distributed debugging; sensor networks I.
Run Time Assurance of Application-Level Requirements in Wireless Sensor Networks
"... Continuous and reliable operation of WSNs is notoriously difficult to guarantee due to hardware degradation and environmental changes. In this paper, we propose and demonstrate a methodology for run-time assurance (RTA), in which we validate at run time that a WSN will function correctly, despite an ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Continuous and reliable operation of WSNs is notoriously difficult to guarantee due to hardware degradation and environmental changes. In this paper, we propose and demonstrate a methodology for run-time assurance (RTA), in which we validate at run time that a WSN will function correctly, despite any changes to the operating conditions since it was originally designed and deployed. We use program analysis and compiler techniques to facilitate automated testing of a WSN at run time. As a proof of concept, we implemented a framework for designing and automatically testing WSN applications. We evaluate our implementation on a network of 21 TelosB nodes, and compare performance with an existing network health monitoring solution. Our results indicate that in addition to providing the application-level verification function, RTA misses 75 % fewer system failures, produces 70 % fewer maintenance dispatches, and incurs 33% less messaging overhead than network health monitoring.
An In-Field Maintenance Framework for Wireless Sensor Networks,” DCOSS
, 2008
"... Abstract. This paper introduces a framework for in-field-maintenance services for wireless sensor networks. The motivation of this work is driven by an observation that many applications using wireless sensor networks require one-time deployment and will be largely unattended. It is also desirable f ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. This paper introduces a framework for in-field-maintenance services for wireless sensor networks. The motivation of this work is driven by an observation that many applications using wireless sensor networks require one-time deployment and will be largely unattended. It is also desirable for the applications to have a long system lifetime. However, the performance of many individual protocols and the overall performance of the system deteriorate over time. The framework we present here allows the system or each individual node in the network to identify the performance degradation, and to act to bring the system back to a desirable coherent state. We implement and apply our framework to a case study for a real system, called VigilNet [5]. The performance evaluation demonstrates that our framework is effective and efficient. 1
Deployment Techniques for Sensor Networks
"... The prominent visions of wireless sensor networks that appeared about a decade ago have spurred enormous efforts in research and development of this new class of wireless networked embedded systems. Despite the significant effort made, successful deployments and real-world applications of sensor net ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The prominent visions of wireless sensor networks that appeared about a decade ago have spurred enormous efforts in research and development of this new class of wireless networked embedded systems. Despite the significant effort made, successful deployments and real-world applications of sensor networks are still scarce, labor-intensive and oftenn cumbersome to achieve. In this article, we survey prominent examples of sensor network deployments, their interaction with the real world and pinpoint a number of potential causes for errors and common pitfalls. In the second half of this work, we present methods and tools to be used to pinpoint failures and understand root causes. These instrumentation techniques are specifically designed or adapted for the analysis of distributed networked embedded systems at the level of components, sensor nodes, and networks of nodes.
Self-diagnosis for large scale wireless sensor networks
- In Proceedings of IEEE INFOCOM
, 2011
"... Abstract—Existing approaches to diagnosing sensor networks are generally sink-based, which rely on actively pulling state information from all sensor nodes so as to conduct centralized analysis. However, the sink-based diagnosis tools incur huge communication overhead to the traffic sensitive sensor ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract—Existing approaches to diagnosing sensor networks are generally sink-based, which rely on actively pulling state information from all sensor nodes so as to conduct centralized analysis. However, the sink-based diagnosis tools incur huge communication overhead to the traffic sensitive sensor networks. Also, due to the unreliable wireless communications, sink often obtains incomplete and sometimes suspicious information, leading to highly inaccurate judgments. Even worse, we observe that it is always more difficult to obtain state information from the problematic or critical regions. To address the above issues, we present the concept of self-diagnosis, which encourages each single sensor to join the fault decision process. We design a series of novel fault detectors through which multiple nodes can cooperate with each other in a diagnosis task. The fault detectors encode the diagnosis process to state transitions. Each sensor can participate in the fault diagnosis by transiting the detector’s current state to a new one based on local evidences and then pass the fault detector to other nodes. Having sufficient evidences, the fault detector achieves the Accept state and outputs the final diagnosis report. We examine the performance of our self-diagnosis tool called TinyD2 on a 100 nodes testbed. I.
Efficient Diagnostic Tracing for Wireless Sensor Networks
"... Wireless sensor networks (WSNs) are hard to program due to unconventional programming models used to satisfy stringent resource constraints. The common event-driven concurrent programming model and lack of kernel protection in these systems introduce the possibility of several subtle faults such as ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Wireless sensor networks (WSNs) are hard to program due to unconventional programming models used to satisfy stringent resource constraints. The common event-driven concurrent programming model and lack of kernel protection in these systems introduce the possibility of several subtle faults such as race conditions. These faults are often triggered by unexpected interleavings of events in the real world, and can occur long after their causes. Reproducing a fault from the trace of the past events can play a crucial role in debugging such faults. The same tight constraints that motivate the specific programming model however make tracing challenging. This paper proposes an efficient intra-procedural and inter-procedural control-flow tracing algorithm that generates the traces of all interleaving concurrent events. Our approach enables reproducing faults at a later stage, allowing the programmer to identify them effectively. We argue for the accuracy of our approach through case studies, and illustrate its low overhead through measurements and simulations.
Measurement, Performance
"... We address the problem of analysing performance anomalies in sensor networks. In this paper, we propose an approach that uses the local flash storage of the motes for logging system data, in combination with online statistical analysis. Our results show not only that this is a feasible method but th ..."
Abstract
- Add to MetaCart
We address the problem of analysing performance anomalies in sensor networks. In this paper, we propose an approach that uses the local flash storage of the motes for logging system data, in combination with online statistical analysis. Our results show not only that this is a feasible method but that the overhead is significantly lower than that of communication-centric methods, and that interesting patterns can be revealed when calculating the correlation of large data sets of separate event types.

