Task 1.4: Proactive System Architectures

[ Blaauw, Dutta, Hartmann, Jafari, Jones, Rabaey, Rosing, Rowe

A proactive system observes and measures its environment, builds and adapts models of it, estimates context (presence of humans, activities in progress, etc.), and then acts to provide a useful service. For example, in a building security application, a proactive system will unlock a door when, and only when, an authorized person approaches. This task focuses on architectures for converting raw data into context information considering the highly dynamic nature of its surrounding environment, and combining security, privacy, learning, and optimization techniques to build useful applications.

The edge of the swarm will be highly dynamic, with mobile devices and users providing rapidly varying capabilities and demands, with varying and often limited resources such as energy and bandwidth. The TerraSwarm architecture will need to proactively manage their energy use and dynamically reconfigure and optimize the swarm's functionality under varying resource constraints. This task will develop methods for real-time prediction of the availability of energy, computation, and communication resources, and will provide algorithms for trading off these resources against sensor and actuator capabilities. A proactive architecture will adapt to a system as it changes, to meet the needs of the users. This includes dynamic, hierarchical control (to model a realistic, changing environment) that drives actuation decisions and optimization of available (predicted and actual) resources. It also involves a context engine middleware, which employs machine learning and statistical data analysis to translate raw data streams into higher-level abstractions needed by the swarm applications. The system could dynamically determine, for example, whether to execute requested services to the point of service exhaustion, or to conserve energy in order to be able to service future (possibly higher-priority) requests. We will develop a run-time expected-utility-maximization framework that predicts current system capabilities, determines which services can be executed based on whether their utility is sufficient to warrant execution. Based on the hierarchical composability of component subsystems, this new methodology will be applied to successively larger system scales to maximize the overall system utility within energy and bandwidth constraints. The architecture will leverage the domains established through distributed, hierarchical control; the SwarmBoxes for deployment; the SwarmOS's accessor interface for communication and data access; and the machine learning toolkit for adaptability and prediction of future system needs.

Additionally, we will leverage current ongoing research on the design of state-of-the-art sensors and actuators, including low-energy battery operated devices, energy-scavenging devices, and wearable devices, by developing common service-based interfaces. These interfaces will be used by TerraSwarm applications and the SwarmOS to provide consistent and reliable service despite the underlying variability of the devices and resources available at any given place and time. Resource brokers will manage limited resources and proactively optimize resource-constrained expected utility. The interfaces will enable mobile devices to interact opportunistically with sensors and actuators in their local area to provide local "eyes, ears, hands, and feet" supporting total situational awareness.