Final project report [PDF]
Implementation files: DataCollector.nc, DataCollectorM.nc, lossy.nss
Poster [PDF]
As hardware devices continue to get cheaper due to Moore’s law, the cost of sensor network nodes will continue to decline. As the commoditization of sensor networks continues, more research will shift from constructing and designing sensor network architectures to quickly prototyping applications. However, like other concurrent systems, sensor networks are notoriously difficult to program. The introduction of a platform-based design methodology for sensor networks will become necessary. The ability to cheaply program a diverse set of applications onto a single sensor network platform will benefit both customers and designers.
The key to programming sensor network nodes is the translation – or mapping – of system-level requirements to node-level requirements. Traditional embedded system design techniques can then be used to map the node-level requirements onto the node platform (e.g. Mica). The goal of our project will be to develop a framework for top-down propagation of system level constraints into node level constraints.
We propose the following changes to the Y-chart to produce the “YY-chart” shown below. To realize the goals of this project within the timeframe of the semester, we will restrict ourselves to a restricted set of applications - ConvergeCast.

To our knowledge, there has been no work done on applying traditional embedded system design techniques to loosely coupled networked systems. However, we have identified publications in 5 related areas that will provide us with the necessary background information.
(a) Platform-Based Design
[6] introduces the concept of platform-based design and gives some of the advantages of separating functionality from architecture and computation from communication.
[5] introduces the Metropolis design environment and discusses some of the design challenges that such a unified design environment addresses.
[7] defines system-level design and motivates this process by applying it to several examples.
[8] defines the terms abstraction and refinement and shows how these properties are useful from a theoretical point of view.
(b) Lossy Channels
[3] is a study on the channels and radio for the Picoradio project. It also describes some experiments that show how time-varying channels are a fact in this domain.
[2] is the Smart Dust paper where they claim that channels attenuate transmitted power much more than quadratic on distance (up to the power of 6).
(c) Cross-Layer Optimizations
[1] is one of the first examples on how cross layer optimization can save energy in a protocol stack - in this case eliminating continuous access to memory by different layers.
(d) Probabilistic Static Timing Analysis
[4] is an introduction to probabilistic STA that also provides a framework for abstracting the probabilistic nature of gates and computing bounds on the distribution of path delays.
(e) Building Reliable Systems from Unreliable Components
[9] shows how fault-modeling can be abstracted to the system level.
Input:
ApplicationSampling rate/unit area Constraints: End-to-End delay (from sensing to data collection), throughput, Network Lifetime Optimize: Avg. Power, Variation in Power, Max. Power, Number of nodes |
Network PlatformSampling rate, Sampling range, Buffering capabiliies, Radio range, Physical layer, Power model (transmit, receive, idle, computation, sense, sleep), Channel model (attenuation, fading interference, SNR) |
Protocol LibraryRouting, MAC, PHY, Sleeping |
Output:
Network topology, node density, and a selection of library components