|
This is an undergraduate project course aimed at
designing and building sensor network systems and
protocols on TinyOS. TinyOS is a
component-based operating system for sensor
networks, developed here at Berkeley. It runs on a
variety of hardware platforms and approximately a
thousand research groups worldwide use it.
Sensor networks are large numbers of tiny, resource
constrained devices that have sensors and can
communicate over a wireless channel. Uses for sensor
networks include instrumenting the Golden Gate
bridge to measure earthquake stresses and wind
effects, monitoring zebra migration patterns in
Kenya, and measuring the microclimate of redwood
trees. Sensor networks have challenges distinct from
more traditional domains such as workstations or the
Internet: they have very limited resources whose
tradeoffs are different, they generally operate in a
collaborative fashion, and must operate unattended
for long periods of time with limited energy.
The first few weeks of the course will cover the
basics of event-driven programming in the TinyOS
model. The rest of the course will be dedicated to
students working in small groups on a project. The
exact projects will be determined by the instructor,
based on input from the students in the first part
of the course. The goal of the project is to build
an application, protocol, or tool that could become
something incorporated into TinyOS. Examples
include, but are not limited to:
- In-network storage
- High-level scripting languages
- Cryptographic key distribution
- Resource discovery
- Network behavior studies
- Hybrid simulation: bridging simulations to real networks
- Reliability/Delay tolerant network approaches
- Active networks
Students will be able to receive 2 units of 199
credit with Professor David E. Culler. The course
will meet 2 times a week for the first 4 weeks, and
once a week afterwards. Each team will be expected
to give an in-class presentation on the design and
evaluation of their system. Each student will also
be responsible for completing some programming
assignments at the beginning of the term, to grow
familiar with TinyOS.
The course is limited to 15 students and is open
to undergraduates only. CS 162 is a
prerequisite.
|