Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
466441 | Pervasive and Mobile Computing | 2007 | 27 Pages |
Wireless ad hoc sensor networks have been largely designed with static and custom architectures for specific tasks, thus providing inflexible operation and interaction capabilities. Efforts to make sensor networks dynamically programmable stumble upon the problems of algorithmic expressiveness, compactness of transferred code, efficiency of executed code, and ease of programming. In short, the problem is the choice of abstraction for the sensor node run-time environment. Our framework, called SensorWare, defines and supports lightweight and mobile control scripts that allow the computation, communication, and sensing resources at the sensor nodes to be efficiently harnessed in an application-specific fashion, through the use of abstraction services. A key feature is that the run-time abstraction can change by dynamically defining new services. Furthermore, by making the scripts autonomously mobile we enable the deployment of the algorithm to be tied to its execution, a feature that reduces the code transferred, compared to conventional code deployment and update approaches. The implementation of SensorWare on an XScale-based prototype sensor node platform occupies less than 240 KB of code memory. The implementation is used to measure the delay and memory overheads, but more importantly, quantitatively highlight the trade-offs involved in run-time abstraction versatility.