This project designs, implements, and evaluates an integrated development environment for sensor networks with support for multiple phases of the sensor network software life-cycle. Tools and middleware are investigated for sensor network design, implementation, execution, and post-deployment troubleshooting and maintenance. The project addresses key weaknesses in the current state-of-the-art. Recent advances in hardware and wireless communication made cost-effective development of wireless sensor nodes feasible. However, they have not lead to a proliferation of sensor network deployments. The problem lies largely in the high cost of sensor network embedded software development. Challenges that plague the current development efforts include (i) lack of a network architecture that separates application-level and network-level concerns, (ii) poor composability of independently written middleware, (iii) insufficient tools for distributed debugging and testing, (iv) poor system calibration and maintenance support, and (v) poor support for performance assurances.
Myriads of fundamental research problems arise in addressing the above challenges. New computing paradigms are needed that are suitable for sensor networks. Operating system support is needed that exports convenient system abstractions yet fits efficiently on motes. Debugging tools must be developed that can reason about distributed execution correctness in an unreliable, resource-limited environment. Network transport must be designed that is suitable for a large category of sensor network applications. The project addresses the aforementioned problems in the context of building a comprehensive software development toolset. Outreach and educational activities are included. The goal is to resolve the fundamental research problems in reducing sensor network adoption barriers. Successful completion of this project will make it much easier to develop and deploy sensor networks and applications.