Macroprogramming Robust Distributed Applications in Wireless Sensor Networks

Project Overview

This project is focused on understanding the abstractions and mechanisms necessary to develop a macroprogramming system, called Kairos, which enables a developer to specify the global behavior of a distributed computation in sensor networks. Kairos translates this single centralized program into programs that execute on individual nodes, then instantiates and executes these programs automatically with additional runtime support. Kairos can result in rapid turn-around of robust code, since programmers and systems designers are often able to clearly describe (and reason about the correctness of) a centralized version of a distributed computation, but often find it difficult to implement (or understand the correctness of) a node-local program that realizes the same desired global behavior.

Kairos presents an abstraction of a sensor network as a collection of nodes that can all be tasked together simultaneously within a single program. The programmer is presented with three constructs: reading and writing variables at nodes, iterating through the one-hop neighbors of a node, and naming and addressing arbitrary nodes. Kairos leverages the observation that most distributed computations in sensor networks will rely on eventual consistency of shared node state both for robustness and for energy efficiency.

Kairos will advance the programmability of sensor networking subsystems and applications. It is possible to implement fairly sophisticated distributed algorithms (like localization and object tracking) in the Kairos framework without significant loss of efficiency. We intend to develop a prototype Kairos system and hope to use it in CENS applications as well as educational activities.

Faculty

Students

Publications

Nupur Kothari, Ramakrishna Gummadi, Todd Millstein, Ramesh Govindan, Reliable and Efficient Programming Abstractions for Wireless Sensor Networks, In: Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2007. [PDF]

Ramakrishna Gummadi, Nupur Kothari, Todd Millstein, Ramesh Govindan, Declarative Failure Recovery for Sensor Networks, In: Proceedings of the Sixth International Conference on Aspect-Oriented Software Development (AOSD), March 2007. [PDF]

Ramakrishna Gummadi, Nupur Kothari, Ramesh Govindan, Todd Millstein, Kairos: a macro-programming system for wireless sensor networks, In: SOSP '05: Proceedings of the twentieth ACM symposium on Operating systems principles, 2005.

Ramakrishna Gummadi, Omprakash Gnawali, Ramesh Govindan, Macro-programming Wireless Sensor Networks using Kairos, In: Proceedings of the International Conference on Distributed Computing in Sensor Systems (DCOSS), June 2005. [PDF]

Software

A release for Telos motes will be available soon. Please stay stuned.

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant No. 0520299. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).