Programming a sensor network is quite hard, since it forces the programmer to program in low-level languages that exposes details of the hardware, make low-level optimization decisions, and build a great deal of network machinery. A programming methodology is sorely needed that will allow a user to specify the overall functionality of the application at a high-level using a suitable programming framework. Ideally, the specified user program would be automatically translated to optimized distributed code that runs on individual nodes.
This project attempts to realize the above vision by viewing the sensor network as a distributed database of facts gathered from the environment. The belief is that the collaborative behavior of a sensor network application can be easily abstracted in terms of deductive rules that manipulate the facts, while the non-collaborative behavior can be embedded in built-in functions.
The main goal of the project is to develop a query engine for efficient in-network evaluation of deductive queries in sensor networks. The query processing plan includes translation of the user program into optimized virtual memory code, which is downloaded into the sensor nodes for distributed execution. The research results would be prototyped in networking simulators (TOSSIM and ns2) and in real sensor network platforms based on Berkeley motes and Gumstix-like boards.
The above research plan has the potential of greatly simplifying the design and use of sensor networks, by bundling all the low-level complexities of design choices and optimizations in the query engine. Examples of domains that will benefit from our contributions include ground traffic, emergency response and disaster relief operations, physical phenomenon such as weather and storm tracking, forest fire tracking, migration patterns of animals/birds, etc.
The project web site (www.cs.sunysb.edu/~hgupta/logicSense) will be used for dissemination of all course materials, publications, and software that result from our project.