Autonomous sensing/actuation applications will use sensors to observe the world around them, process the data they gather to reach conclusions and make decisions, and use actuators to affect the world on the basis of those decisions, all potentially without any human involvement. These applications significantly extend the scope of today's sensor networks, which are used primarily to ease data collection for offline analysis by humans. The goal of this project is to design and build a data-centric software infrastructure and pertinent abstractions, mechanisms and protocols that significantly simplify the structuring and implementation of robust and efficient autonomous applications.
The system enables developers to easily specify application-specific data acquisition, processing, dissemination, and actuation logic using a flexible set of high-level computational primitives. The system translates these global specifications to code and protocols executable by individual network nodes and then automatically distributes and executes them reliably and efficiently using a novel set of algorithms. The system can employ both generic and application-specific optimization techniques to improve its operation, as these specifications are logical and do not indicate where and how execution should take place.
Broader impacts of the proposal include significant graduate and undergraduate course development, the recruitment of undergraduates into research, integration of research and teaching through graduate courses, introduction of state-of-the-art research ideas into undergraduate courses, public dissemination of educational materials and research results, and development of publicly-accessible tools and infrastructures that facilitate learning, discovery, innovation, and solutions to real problems.