From TinyOS Wiki
Jump to: navigation, search

TinyOS 2.1 tutorial

IPSN 2009
April 16, 2009
San Francisco, CA

TinyOS is an operating system widely used in sensor network research in academia and industry. In this tutorial, we will explain the details of TinyOS 2.1 architecture and learn how to start using TinyOS 2.1 for research and sensor network application development. This tutorial presents:

  1. An overview of TinyOS 2.1 component-based architecture and design rationale
  2. The details of nesC, the C-dialect used to write programs in TinyOS
  3. Mechanisms to trap memory access errors (null pointer dereferences, array bound violations, etc.) using Safe TinyOS
  4. An overview of TinyOS threads which enables seamless interleaving of long running background computations with time critical event-based services
  5. A survey of the TinyOS network stack. The tutorial will include hands-on session during which the participants will learn about TOSSIM, the TinyOS simulator, and run TinyOS programs.


Slides: [PDF] [PPT] [Slideshare]
Streaming Video: hosted on Vimeo


08:33 - Introductions and overview of the tutorial - Omprakash Gnawali (USC)
08:35 - Basics - Philip Levis (Stanford) and David Gay (Intel Research, Berkeley)
09:30 - TOSSIM - Răzvan Musăloiu-E. (JHU)
09:45 - Safe TinyOS - John Regehr (Utah)
10:00 - Threads - Kevin Klues (UCB)
10:15 - Break/discussions
10:20 - Protocols - Omprakash Gnawali (USC)
10:40 - Upcoming technologies (ZigBee/15.4/IP) - Stephen Dawson-Haggerty (UCB)
10:50 - Hands-on - Răzvan Musăloiu-E. (JHU), Omprakash Gnawali (USC)
11:30 - End

The complete code for the two applications from hands-on is here.