DocumentCode
1999516
Title
A Toolkit for Visualizing the Runtime Behavior of TinyOS Applications
Author
Dalton, Andrew R. ; Hallstrom, Jason O.
Author_Institution
Sch. of Comput., Clemson Univ., Clemson, SC
fYear
2008
fDate
10-13 June 2008
Firstpage
43
Lastpage
52
Abstract
TinyOS has proven to be an effective platform for developing reactive embedded network applications. However, the platform´s lean programming model and power-efficient operation come at a price: TinyOS applications are notoriously difficult to construct and debug. The development difficulties stem, in large part, from a programming model founded on events and deferred execution. In short, the model introduces non-determinism in the execution ordering of primitive actions (i.e., commands, events, and tasks). The resulting set of possible execution sequences is typically large, and can swamp developers´ unaided intellectual ability to reason about program behavior. In this paper, we present a platform-neutral 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 design includes (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) two visualization front-ends. We demonstrate the utility of the toolkit using standard system examples, and present an analysis of the toolkit´s resource usage and performance characteristics.
Keywords
operating systems (computers); program debugging; program diagnostics; program visualisation; TinyOS; execution sequences; instrumentation library; lean programming model; platform-neutral visualization toolkit; probe insertion system; program debugging; reactive embedded network applications; runtime behavior; static analysis; system under test; Computer networks; Embedded computing; Hardware; Instruments; Libraries; Power system modeling; Probes; Runtime; System testing; Visualization; TinyOS; embedded networks; nesC; program analysis; program comprehension; program tracing; program visualization; sensor networks;
fLanguage
English
Publisher
ieee
Conference_Titel
Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on
Conference_Location
Amsterdam
ISSN
1092-8138
Print_ISBN
978-0-7695-3176-2
Type
conf
DOI
10.1109/ICPC.2008.22
Filename
4556116
Link To Document