Aug
20, 2004
Ting Liu from
Title
Implementing
Software on Resource-Constrained
Abstract
ZebraNet is a mobile, wireless sensor network in
which nodes move throughout an environment working to gather and process
information about their surroundings. As in many sensor or wireless systems,
nodes have critical resource constraints such as processing speed, memory size,
and energy supply; they also face special hardware issues such as sensing
device sample time, data storage/access restrictions, and wireless transceiver
capabilities. This paper discusses and evaluates ZebraNet's
system design decisions in the face of a range of real-world constraints.
Impala---ZebraNet's middleware layer---serves as a light-weight
operating system, but also has been designed to encourage application
modularity, simplicity, adaptivity, and repairability. Impala is now implemented on ZebraNet hardware nodes, which include a 16-bit
microcontroller, a low-power GPS unit, a 900MHz radio, and 4Mbits of
non-volatile FLASH memory. This paper discusses Impala's operation scheduling
and event handling model, and explains how system constraints and goals led to
the interface designs we chose between the application, middleware, and
firmware layers. We also describe Impala's network interface which unifies
media access control and transport control into an efficient network protocol.
With the minimum overhead in communication, buffering, and processing, it supports
a range of message models, all inspired by and tailored to ZebraNet's
application needs. By discussing design tradeoffs in the context of a real
hardware system and a real sensor network application, this paper's design
choices and performance measurements offer some concrete experiences with
software systems issues for the mobile sensor design space. More generally, we
feel that these experiences can guide design choices in a range of related
systems.