NeTS-NOSS: Macroprogramming Robust Distributed Applications in Sensor Networks
University Of Southern California, Los Angeles CA
Investigators
Abstract
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.
View original record on NSF Award Search →