CAREER: Programming the Swarm
University Of Virginia Main Campus, Charlottesville VA
Investigators
Abstract
Computing is rapidly moving away from traditional computers. Programs in the future will run on collections of mobile processors that interact with the physical world and communicate over ad hoc networks. We can view such collections as swarms. As with natural swarms, such as a beehive or ant colony, the behavior of a computational swarm emerges from the behaviors of its individual members. This project focuses on developing methods for creating, understanding and validating properties of programs that execute on swarms of computing devices. The work builds foundations to create and reason about swarm programs in principled ways. A promising approach is to construct swarm programs by combining primitives. The functional and non-functional behavior of a primitive is described using formal notations. The project investigates techniques based on both experimental and analytical approaches for predicting the functional and non-functional properties of compositions of swarm primitives. Although the practical applications of swarm computing are in their infancy, there is great potential for useful applications. Successful swarm programming will depend on our ability to reason about swarm programs and construct device programs based on high-level goals. This Project establishes the first steps towards that target.
View original record on NSF Award Search →