CS199-9: Sensor Network Systems
When/Where: Fall 2004, TuTh 1-2PM, 405 Soda Hall
Instructor: Philip Levis (pal@cs.berkeley.edu)
Advisor: Professor David Culler (culler@cs.berkeley.edu)
Details: CS199-9, 2-credit P/NP, CCN 26692

Assignment

You will write a first implementation of your group's part of the final application. The purpose is to encounter all of the unforseen design issues that may crop up, so that all of the parts of the final implementation will work together in a complete application.

One of the products of your meeting with Phil will be a set of requirements for your part of the system. If your part interacts with the rest of the application, you'll write stub components (or, in the case of the tools group, dummy servers) that behave as you expect them to. One purpose of these stub components is to understand what their interfaces are and what you need from them. Another purpose is that they'll allow you to test your code.

Your handin is an implementation of your part of the system which meets all of its requirements. Interfaces should be well documented, and you must include a README describing how the component(s) work. You should include at least one TinyOS application (not the entire final project app) that exercises your system, testing it for bugs and errors.

The path and health monitoring groups should be in close contact with the scripting group, to make sure that users can control the system in a meaningful way. Similarly, the scripting group should be in close contact with the tools group, to understand what parts of the system state need to be controllable.

If you encounter a question of design, or are unsure of how to approach a given algorithmic problem, feel free to mail Phil. Some problems may warrant bringing up in class for discussion, if they affect the application as a whole. Similarly, feel free to arrange appointments to discuss progress.

Handing in

All of your documentation, components and interfaces should be in a single directory. Make a gzipped tarball of this directory named group-initial.tgz and mail it to Phil. Create a second gzipped tarball of your test applications, named group-apps.tgz and mail it to Phil.