Difference between revisions of "Ipsn2009-tutorial"

From TinyOS Wiki
Jump to: navigation, search
(Tutorial Plan)
(Media)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== TinyOS 2.1 ==
+
== TinyOS 2.1 tutorial ==
 +
IPSN 2009<br>
 +
April 16, 2009<br>
 +
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: 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.
+
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:  
 +
# An overview of TinyOS 2.1 component-based architecture and design rationale
 +
# The details of nesC, the C-dialect used to write programs in TinyOS
 +
# Mechanisms to trap memory access errors (null pointer dereferences, array bound violations, etc.) using Safe TinyOS
 +
# An overview of TinyOS threads which enables seamless interleaving of long running background computations with time critical event-based services
 +
# 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.
  
 +
=== Media ===
 +
'''Slides''': [[http://enl.usc.edu/talks/cache/tinyos-ipsn2009.pdf PDF]]
 +
[[http://enl.usc.edu/talks/cache/tinyos-ipsn2009.ppt PPT]]
 +
[[http://www.slideshare.net/gnawali/tinyos-21-tutorial-at-ipsn-2009 Slideshare]]
 +
<br>
 +
'''Streaming Video''': [http://vimeo.com/channels/tinyos  hosted on Vimeo]
  
Powerpoint template [http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-template.ppt]
+
=== Agenda ===
 
 
 
 
=== Tutorial Plan ===
 
 
 
08:33 - Introductions and overview of the tutorial - Om [http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-intro.ppt]
 
 
 
08:35 - Basics - Phil and David [http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-basics.ppt]
 
 
 
09:30 - TOSSIM - Razvan [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-tossim-final.ppt PPT] [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-tossim-final.pdf PDF] [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-tossim-final.pdf PDF with notes]
 
 
 
09:45 - Safe TinyOS - John [http://www.cs.utah.edu/~regehr/safe-tinyos-tutorial-ipsn09.ppt]
 
 
 
10:00 - Threads - Kevin [[http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-threads.ppt PPT]] [[http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-threads.pdf PDF]]
 
  
 +
<pre>
 +
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:15 - Break/discussions
 
+
10:20 - Protocols - Omprakash Gnawali (USC)
10:20 - Protocols (Collection/Dissemination/FTSP/Deluge) - Om [http://enl.usc.edu/~om_p/net2/ipsn2009-tinyos/ipsn2009-tinyos-protocols.ppt]
+
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)
10:40 - Upcoming technologies (ZigBee/15.4/IP) - Steve [http://www.cs.berkeley.edu/~stevedh/pubs/sdh-tos-tutorial.ppt]
 
 
 
10:50 - Hands-on - Razvan/Om [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-hands-on.ppt PPT] [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-hands-on.pdf PDF] [http://cs.jhu.edu/~razvanm/wsn/tos-tutorial-hands-on-with-nodes.pdf PDF with notes]
 
 
 
 
11:30 - End
 
11:30 - End
 +
</pre>
  
== Details ==
+
The complete code for the two applications from hands-on is [http://hinrg.cs.jhu.edu/~razvanm/ipsn09/ipsn09.tar.gz here].
 
+
[[Category:Tutorials]]
=== 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 ===
 
 
 
[http://www.cs.utah.edu/~regehr/safe-tinyos-tutorial-ipsn09.ppt 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 [http://hinrg.cs.jhu.edu/~razvanm/ipsn09/ipsn09.tar.gz here].
 

Latest revision as of 19:41, 12 May 2013

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.

Media

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

Agenda

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.