• 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