Results 1 - 10
of
21
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 11 (3 self)
- Add to MetaCart
(Show Context)
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.
Anquiro: enabling efficient static verification of sensor network software
- In Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications, SESENA ’10
, 2010
"... We present ANQUIRO, a domain-specific model checker for statically verifying the correctness of sensor network software. In this context, static verification has hitherto received little attention, as state space explosion problems may prevent applying these techniques. ANQUIRO overcomes this limita ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
(Show Context)
We present ANQUIRO, a domain-specific model checker for statically verifying the correctness of sensor network software. In this context, static verification has hitherto received little attention, as state space explosion problems may prevent applying these techniques. ANQUIRO overcomes this limitation by providing different abstraction levels depending on the functionality to verify, and by implementing domain-specific state abstractions within the checking engine. We demonstrate the use of ANQUIRO in verifying the correctness of a widely used data dissemination protocol. This study allows us to identify issues that the protocol may overlook. Moreover, our evaluation of ANQUIRO’s performance shows that it drastically reduces the number of states generated during the verification, preventing state space explosion problems.
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 9 (3 self)
- Add to MetaCart
(Show Context)
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.
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 8 (2 self)
- Add to MetaCart
(Show Context)
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.
High-Level Application Development for Sensor Networks: Data-Driven Approach
- Theoretical Aspects of Distributed Computing in Sensor Networks, Monographs in Theoretical Computer Science. An EATCS Series
, 2011
"... Abstract Owing to the large scale of networked sensor systems, ease of program-ming remains a hurdle in their wide acceptance. High-level application development techniques, or macroprogramming provides an easy to use high-level representation to the application developer, who can focus on specifyin ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Abstract Owing to the large scale of networked sensor systems, ease of program-ming remains a hurdle in their wide acceptance. High-level application development techniques, or macroprogramming provides an easy to use high-level representation to the application developer, who can focus on specifying the behavior of the system, as opposed to the constituent nodes of the wireless sensor network (WSN). This chapter provides an overview of the current approaches to high-level appli-cation design for WSNs, going into the details related to data-driven macroprogram-ming. Details of one such language are provided, in addition to the approach taken to the compilation of data-driven macroprograms to node-level code. An implemen-tation of the modular compilation framework is also discussed, as well as a graphical toolkit built around it that supports data-driven macroprogramming. Through exper-iments, it is shown that the code generated by the compiler matches hand-generated implementations of the applications, while drastically reducing the time and effort involved in developing real-world WSN applications. 1
BRACE: An Assertion Framework for Debugging Cyber-Physical Systems
"... Abstract—Developing cyber-physical systems (CPS) is challenging because correctness depends on both logical and physical states, which are collectively difficult to observe. The developer often need to repeatedly rerun the system while observing its behavior and tweak the hardware and software until ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
(Show Context)
Abstract—Developing cyber-physical systems (CPS) is challenging because correctness depends on both logical and physical states, which are collectively difficult to observe. The developer often need to repeatedly rerun the system while observing its behavior and tweak the hardware and software until it meets minimum requirements. This process is tedious, error-prone, and lacks rigor. To address this, we propose BRACE, a framework that simplifies the process by enabling developers to correlate cyber (i.e., logical) and physical properties of the system via assertions. This paper presents our initial investigation into the requirements and semantics of such assertions, which we call CPS assertions. We discusses our experience implementing and using the framework with a mobile robot, and highlight key future research challenges. I.
A DICE: Monitoring Global Invariants with Wireless Sensor Networks
"... Wireless sensor networks (WSNs) enable decentralized architectures to monitor the behavior of physical processes and to detect deviations from a specified “safe ” behavior, e.g., to check the operation of control loops. Such correct behavior is typically expressed by global invariants over the state ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Wireless sensor networks (WSNs) enable decentralized architectures to monitor the behavior of physical processes and to detect deviations from a specified “safe ” behavior, e.g., to check the operation of control loops. Such correct behavior is typically expressed by global invariants over the state of different sensors or actuators. Nevertheless, to leverage the computing capabilities of WSN nodes, the application intelligence needs to reside inside the network. The task of ensuring that the monitored processes behave safely thus becomes inherently distributed, and hence more complex. In this paper we present DICE, a system enabling WSN-based distributed monitoring of global invariants. A DICE invariant is expressed by predicates defined over the state of multiple WSN nodes, e.g., the expected state of actuators based on given sensed environmental conditions. Our modular design allows two alternative protocols for detecting invariant violations: both perform in-network aggregation but with different degrees of decentralization, therefore supporting scenarios with different network and data dynamics. We characterize and compare the two protocols using large-scale simulations and a real-world testbed. Our results indicate that invariant violations are detected in a timely and energy-efficient manner. For instance, in a 225-node 15-hop network, invariant violations are detected in less than a second and with only a few packets sent by each node.
Meta-Debugging Pervasive Computers
"... As computers get more complex, the task of programming them gets more complex as well. This is especially true for the “Pervasive Computer”, which is a massively distributed system consisting of unreliable embedded devices that communicate with each other over lousy wireless links. A common approach ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
As computers get more complex, the task of programming them gets more complex as well. This is especially true for the “Pervasive Computer”, which is a massively distributed system consisting of unreliable embedded devices that communicate with each other over lousy wireless links. A common approach to address the programming problem is to offer programming abstractions that hide certain aspects of the complexity from the programmer. While several such abstractions and mappings thereof to low-level target languages have been proposed, there is a glaring lack of debugging support. It is typically impossible to debug at the conceptual level offered by the programming abstractions, instead one has to resort to debugging the generated target code. In this position paper we argue that programming abstractions should be designed in a way that allows debugging at the same conceptual level as programming. We further present requirements for such debugging tools, a taxonomy of programming abstractions and discuss debugging challenges, existing solutions, and potential approaches in each class. 1.
On the State of the Art in Verification and Validation in Cyber Physical Systems
"... It is widely held that debugging cyber-physical systems (CPS) is challenging. However, few empirical studies quantitatively and qualitatively capture the state of the art and the state of the practice in debugging CPS and analyze what major re-search gaps remain. This paper presents an empirical stu ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
(Show Context)
It is widely held that debugging cyber-physical systems (CPS) is challenging. However, few empirical studies quantitatively and qualitatively capture the state of the art and the state of the practice in debugging CPS and analyze what major re-search gaps remain. This paper presents an empirical study of verification and validation in CPS through three com-plementary methods: a structured on-line survey of CPS developers and researchers, semi-structured interviews with professional CPS developers from various backgrounds, and a qualitative analysis of state of the art in research related to CPS testing. We find that traditional verification and val-idation methodologies are not sufficient for cyber-physical systems, and we identify several potential avenues for future work. Our key findings include: (i) many CPS developers do not use traditional verification and validation methodolo-gies and rely heavily on trial and error; (ii) simulation alone is not enough to capture dangerous bugs in CPS; (iii) it is widely acknowledged that the main challenges in CPS de-bugging are related to models of software systems, models of physics, and integration of cyber and physics models. These findings aid in identifying research directions to address the identified key challenges in CPS verification and validation.
Towards Lightweight Logging and Replay of Embedded, Distributed Systems
- IN PROCEEDINGS OF WORKSHOP ASCOMS (ARCHITECTING SAFETY IN COLLABORATIVE MOBILE SYSTEMS) OF THE 32ND INTERNATIONAL CONFERENCE ON COMPUTER SAFETY, RELIABILITY
, 2013
"... Due to their safety critical nature, Cyber-Physical Systems such as collaborative cars or smart grids demand for thorough testing and evaluation. However, debugging such systems during deployment is challenging, due to the concurrent nature of distributed systems and the limited insight that any d ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Due to their safety critical nature, Cyber-Physical Systems such as collaborative cars or smart grids demand for thorough testing and evaluation. However, debugging such systems during deployment is challenging, due to the concurrent nature of distributed systems and the limited insight that any deployed system offers. In this paper we introduce MILD; providing Minimal Intrusive Logging and Deterministic replay. MILD enables logging of events on deployed Cyber-Physical Systems and the deterministic replay in controlled environments such as system simulators. To illustrate the feasibility and low overhead of our architecture, we evaluate a prototype implementation based on Wireless Sensor Networks (WSN) in this paper.