Personal tools
You are here: Home Teaching WS 2008/2009 Lecture: Hands-on TinyOS
Document Actions

Lecture: Hands-on TinyOS

by Raimondas Sasnauskas last modified 2009-02-06 14:27

Block Lecture (V1+Ü1) on TinyOS internals

Organizational Information

  • Guest Lecturer: Kevin Klues (University of California, Berkeley)

    Kevin Klues is a Ph.D candidate in the parallel computing laboratory at the University of California, Berkeley. Formerly, he was a researcher in the Stanford Information Networks Group at Stanford University. He received his Masters degree from Washington University in St. Louis in May 2007 and his Bachelors degree from Rose-Hulman Institute of Technology in November 2002. From February 2003 to August 2005 he worked as a researcher in the Telecommunication Networks Group at the Technical University of Berlin, and before that spent time working at Motorola as well as Johns Hopkins Applied Physics Lab as an electrical engineer. His research interests primarily include techniques for achieving ultra-low-power operation in deeply embedded systems. He is a lead developer of the TinyOS project and responsible for the design and implementation of its resource and power management subsystems. His most recent work in this area involves the implementation of an energy-aware thread library on top of TinyOS that combines the ease of multi-threaded programming with the energy efficiency of TinyOS. For more information on Kevin's past and present work please visit his homepage at http://klueska.doesntexist.com.

  • Appointments and Location:
    • Lectures (i4 Seminarroom 4105, E1):
      • Tuesday (03.02.2009), 10:00h - 12:00h (Slides)
      • Tuesday (03.02.2009), 13:30h - 15:30h (Slides)
      • Wednesday (04.02.2009), 10:00h - 12:00h (Slides)
    • Labs (i4 Seminarroom 4105, E1):
      • Wednesday (04.02.2009), 13:00h - 15:00h
      • Thursday (05.02.2009), 10:00h - 12:00h (Slides)
      • Thursday (05.02.2009), 13:00h - 15:00h
  • Start: 03.02.2009
  • 1 SWS (V1+Ü1)
  • 2 ECTS

Contents

  • Lectures:
    • 03.02.2009, 10:00h - 12:00h: "TinyOS -- past, present, and future directions"

      This talk provides an overview of the TinyOS operating system and how it can be used to conduct research in wireless sensor networks. It covers the basics of the TinyOS concurrency model, features of the nesC language within which TinyOS is written, and an overview of best practices for writing TinyOS based applications. A history of TinyOS and a summary of its impact on sensor network research in general will also be provided.

    • 03.02.2009, 13:30h - 15:30h: "ICEM -- Integrating concurrency and energy management in TinyOS device drivers"

      In this talk, I will provide details about the resource and energy management subsystems in TinyOS. Using the principles presented in this talk, TinyOS applications are able to achieve three orders of magnitude in energy savings with minimal programmer effort. For example, a low-rate sensing application requires only a single line of energy management code and has an efficiency within 1.6% of a completely optimal hand-tuned implementation. While many of the details provided in this talk may be specific to TinyOS, the principles presented can be applied in a more general sense and used to guide future low-power OS designs.

    • 04.02.2009, 10:00h - 12:00h: "TOSThreads -- Extending the TinyOS concurrency model to support preemption"

      In this talk, I will present TOSThreads, an application-level threads package for TinyOS. TOSThreads is designed to support fully preemptive threads in the presence of the existing TinyOS concurrency model. TOSThreads defines a conceptual user/kernel boundary, whereby TinyOS runs as a high-priority kernel thread and application threads execute at lower priority. This approach naturally supports long-running computations while preserving the timing-sensitive nature of TinyOS itself. Additionally, the existence of a user/kernel boundary enables dynamic linking and loading of application binaries at runtime. The API at this boundary defines the set of TinyOS services supported by a TOSThreads kernel and is customizable in support of a diverse set of applications

  • Labs:
    • 04.02.2009, 13:00h - 15:00h: "Installing the TinyOS operating system" (optional)

      In this short lab course I will go over the details of installing and running TinyOS. Everyone is encouraged to bring their laptops to follow along with the installation procedure. Having an existing TinyOS installation is a prerequisite to all future labs in this course. The installation procedure should be straight forward, but I want to make sure that everyone has a working installation before proceeding with the labs on day 3. For those of you who already have a working installation, this lab is optional. We will be working with TinyOS 2.1 and nesC 1.3 though, so make sure you have the correct versions of both pieces of software installed. Installation instructions can be found here: http://docs.tinyos.net/index.php/Getting_started.

    • 05.02.2009, 10:00h - 12:00h: "TinyOS basics"

      In this lab course I will go through the details of writing and installing a fully featured TinyOS application on real mote hardware. All participants must have a complete TinyOS installation before attending this lab.

    • 05.02.2009, 13:00h - 15:00h: "TinyOS with TOSThreads"

      In this lab course I will go through the details of writing and installing a TinyOS application based on TOSThreads. There are two different APIs for writing TOSThreads based TinyOS applications - one based on nesC and one based on pure C. Applications written using both APIs will be presented. All participants must have a complete TinyOS installation before attending this lab.

Prerequisites

  • For the lectures, sensor networks lecture is very beneficial but not an absolute must.
  • For the labs, we will assume familiarity with a Unix shell, including the use of common command-line utilities and editors. All labs additionally assume that participants have a laptop/desktop running Windows/Linux/Mac OS 10.4+ from which they can work while the labs are being run.

Material and Recommended Literature



If you are interested in announcements relevant to our teaching activities or any other of the DS group's activities, you're more than welcome on our ds-interest mailing list!

« November 2009 »
Su Mo Tu We Th Fr Sa
1234567
891011121314
1516 1718192021
22232425262728
2930
How does the Internet work?
Wie funktioniert das Internet?
Wie funktioniert das Internet? - Explaining the Internet to Kids
P2P'08 at RWTH
The 8th International Conference on Peer-to-Peer Computing (P2P'08)
www.p2p08.org
 

Powered by Plone