Title of article
Visualizing the runtime behavior of embedded network systems: A toolkit for TinyOS
Author/Authors
Andrew R. Dalton، نويسنده , , Sally K. Wahba، نويسنده , , Sravanthi Dandamudi، نويسنده , , Jason O. Hallstrom، نويسنده ,
Issue Information
ماهنامه با شماره پیاپی سال 2009
Pages
24
From page
446
To page
469
Abstract
TinyOS is an effective platform for developing lightweight embedded network applications. But the platform’s lean programming model and power-efficient operation come at a price: TinyOS applications are notoriously difficult to construct, debug, and maintain. The development difficulties stem largely from a programming model founded on events and deferred execution. In short, the model introduces non-determinism in the execution ordering of primitive actions — an issue exacerbated by the fact that embedded network systems are inherently distributed and reactive. The resulting set of possible execution sequences for a given system is typically large and can swamp developers’ unaided ability to reason about program behavior.In this paper, we present a visualization toolkit for TinyOS 2.0 to aid in program comprehension. The goal is to assist developers in reasoning about the computation forest underlying a system under test and the particular branches chosen during each run. The toolkit supports comprehension activities involving both local and distributed runtime behavior. The constituent components include (i) a full-featured static analysis and instrumentation library, (ii) a selection-based probe insertion system, (iii) a lightweight event recording service, (iv) a trace extraction and reconstruction tool, and (v) three visualization front-ends. We demonstrate the utility of the toolkit using both standard and custom system examples and present an analysis of the toolkit’s resource usage and performance characteristics.
Keywords
Static analysis , Program visualization , Program comprehension , Sensor networks , Dynamic analysis , NesC , Embedded network systems , TinyOS
Journal title
Science of Computer Programming
Serial Year
2009
Journal title
Science of Computer Programming
Record number
1080070
Link To Document