Ipsn2009-tutorial

From TinyOS Wiki
Revision as of 10:32, 27 April 2009 by Gnawali (talk | contribs)
Jump to: navigation, search

TinyOS 2.1

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: a) an overview of TinyOS 2.1 component-based architecture and design rationale, b) the details of nesC, the C-dialect used to write programs in TinyOS, c) mechanisms to trap memory access errors (null pointer dereferences, array bound violations, etc.) using Safe TinyOS, d) an overview of TinyOS threads which enables seamless interleaving of long running background computations with time critical event-based services, and e) 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.


Powerpoint template [1]


Tutorial Plan

08:33 - Introductions and overview of the tutorial - Om [2]

08:35 - Basics - Phil and David [3]

09:30 - TOSSIM - Razvan [PPT] [PDF] [PDF with notes] [slideshare]

09:45 - Safe TinyOS - John [4]

10:00 - Threads - Kevin [PPT] [PDF]

10:15 - Break/discussions

10:20 - Protocols (Collection/Dissemination/FTSP/Deluge) - Om [PPT] [PDF]

10:40 - Upcoming technologies (ZigBee/15.4/IP) - Steve [PPT] [PDF]

10:50 - Hands-on - Razvan/Om [PPT] [PDF] [PDF with notes] [slideshare]

11:30 - End

Details

TinyOS

nesC/toolchain

TOSSIM

In this part of the tutorial we will see the overall architecture of the TOSSIM and what are the basic Python objects used to drive a simulation. The CPM, the model for the radio noise will also be presented.

Safe TinyOS

John's current draft

Threads

Protocols

We will introduce some protocols that are available for use in TinyOS 2.1. Network protocols - collection - MultihopLQI and CTP - dissemination - Drip and DIP, Time synchronization using FTSP and over-the-air programming using Deluge.

Upcoming technologies

Hands-on

In this session we are going to see what are the install options for TinyOS, describe briefly the layout of the tinyos-2.x and then try to write two applications: one that is using dissemination service and another one that is using the collection service.

The complete code for the two applications is here.