Compressive sensing (CS) is a new approach to simultaneous sensing and compression that enables a potentially large reduction in the sampling, communication and computation costs at a sensor for signals having a sparse representation in some basis. The CS measurement process is nonadaptive, and the recovery process is nonlinear, for which a variety of algorithms have been proposed.

The goal of this tutorial is to expose the CS theory to a wide audience in academia and industry who are interested in information processing in sensing systems. The tutorial will present the fundamentals of CS in an approachable manner, aiming to encourage engineers in industry and academia to exploit the new theory in their applications and their research. Although several theoretical results will be presented, the emphasis is on the intuition and the understanding of the theory.

The target audience level is the same as the target audience of the IEEE Signal Processing Magazine.

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.

This tutorial will show, using a hands-on approach, how application programmers can instrument their TinyOS applications to measure energy usage broken down by hardware component (e.g. MCU, radio, flash, sensors), logical activity (e.g. sensing, storage, routing, network programming), or time. The tutorial will show how the iCount energy metering hardware, the Quanto tracing framework, and set of software tools, can be used to ask such questions and interpret the results. The tutorial will also cover how system programmers can instrument system components and device drivers to integrate with the framework.

Applying these techniques, students will be able to answer simple questions like, "How much energy and CPU time is used for Blink?" to more complex questions like, "What is the network-wide cost of a flood?" Each participant will be able to use one provided Quanto Testbed Mote, based on Epic, equipped with iCount, and programmable over the network. The tutorial will combine presentations using overhead slides with short practical activities on the supplied nodes, with the instrumentation and measurement of simple applications to illustrate the concepts presented.

Attendees are expected to have knowledge of nesC/TinyOS programming. The TinyOS 2.1 tutorial taking place immediately prior can provide the necessary background if needed.

In 2006, we demonstrated the first complete and low power IPv6/6LoWPAN network stack for wireless sensor networks (sensornets). Since then, IPv6 has had significant impact in both academia and industry. In this tutorial, we will provide faculty, students, and practitioners interested in embedded networking with a hands-on understanding of the foundations of IPv6/6LoWPAN and the practical application of the technology. We will emphasize the use of open standards at several levels - including TinyOS 2.x operating system, IEEE 802.15.4 radio, 6LoWPAN adaptation, IPv6 networking, UDP/TCP transport, and HTTP - as they apply to ubiquitous embedded network devices and applications.

This tutorial will present: (i)the benefits of an IP-based architecture for sensornets, (ii)a technical overview of IP-based networking extended to sensornets using 6LoWPAN, and (iii) hand-on experience building IP-based applications using a production-quality, TinyOS-based network kernel (TOSKI) on EPIC-based modules.

Please join us if you want to make your sensor network applications run native IP and become part of the Internet!

Requisites: For the hands-on session, a bootable CD drive is required. If you are unfamiliar with TinyOS/nesC, we encourage you to attend the TinyOS 2.1 tutorial during the morning session. Knowledge of IP networking and BSD sockets is helpful but not required.

IP-based sensor networks are a rapidly emerging hot topic in both academia and the industry.

The open source uIP stack from the Contiki operating system, first released in 2001, is used in IP-enabled products and systems from hundreds of companies, ranging from pico-satellites, airplanes, and car engines, to worldwide freighter container tracking systems, ship control systems, and oil boring and pipeline monitoring systems. In October 2008 Cisco Systems released uIPv6, the world's smallest fully compliant IPv6 stack, for Contiki.

During this tutorial, participants will get started with building IP-based sensor networks with Contiki and uIP, and get hands-on experience with developing, compiling, and running IP-based software on sensornet hardware, setting up IP networking to the sensor network, and getting performance metrics (power, throughput, latency) from a running network.

We use a combination of Tmote Sky and Sentilla JCreate motes as the hardware platform. We provide Tmote Skys and JCreates for participants to borrow during the tutorial.

To avoid installation of compilers and tools, participants will use the Instant Contiki development environment, a complete development environment in a single-file download consisting of a VMWare virtual machine with all Contiki software development tools installed: http://www.sics.se/contiki/instant-contiki.html