Publication Date

2007

Abstract

A key goal of mobile computing is untethering devices from wires, making them truly portable. While mobile devices can make use of wireless communication for network connectivity, they are still dependent on an electrical connection for continued operation. This need for tethering to available electricity significantly limits their range, usefulness, and manageability. Environmental energy harvesting—collecting energy from the sun, wind, heat differentials, and motion—offers the prospect of unprecedented, large-scale deployments of perpetual mobile systems that never need to be recharged. However, programming these systems presents new challenges: perpetual systems must adapt dynamically to available energy, delivering higher service levels when energy is plentiful, while consuming less energy when energy is scarce. This paper presents eFlux, a high-level energy-aware programming language and associated runtime system that specifically targets perpetual mobile systems. eFlux programmers build programs from components written in C or NesC and label flows through the program with different energy-states. The deployed program then adapts to current energy levels by changing energy states, turning flows on and off and adjusting their rates. We demonstrate eFlux’s utility and portability with two perpetual applications deployed on widely different hardware platforms: a solar-powered web server for remote, ad-hoc deployments, and a GPS-based location tracking sensor that we have deployed on a threatened species of turtle as well as on automobiles.

Comments

This paper was harvested from CiteSeer

Share

COinS