Energy-efficiency is a critical concern in continuously-running mobile applications, such as
those for health and context monitoring. Unfortunately, developers must implement complex and
customized power-management policies for each application. This involves using low-level
power-management primitives and writing error-prone multithreaded code to monitor the
phone's hardware state. To address this problem, we propose an annotation language and
middleware service that eases the development of energy-efficient Android applications. Our
power annotations are used to demarcate power-hungry code segments whose execution is deferred
until the device enters a state that minimizes the energy consumed during their execution.
While a wide range of power management policies can be specified using our power annotations, a
potential challenge is that introducing delays to save power may have a detrimental impact on
the user experience. The impact of power management on timeliness is managed by associating
delay budgets with objects that contain time-sensitive data. We use static analysis to help the
programmer determine the impact of introducing power-related delays in an application, which
may lead to difficult-to-debug errors due to concurrency. In combination, the static analysis
and the run-time service ensure that power management policies will not delay an object more
than its assigned budget. Detailed experiments show that our approach may effectively control
the energy-delay trade-off in realistic mobile applications.
Octav Chipara is an Assistant Professor in the Department of Computer Science at the University
of Iowa and part of the Aging Mind and Brain Initiative. He received his PhD from Washington
University in St. Louis and completed his Postdoctoral Fellowship at the University of
California San Diego. His research focuses on the systems, networking, and software engineering
aspects of developing mobile health (mHealth) systems that continuously monitor and infer the
health status of patients in spite of operating in dynamic environments and on limited battery
resources. A central theme of his research is that in order to harness the full potential of
mHealth systems, we must have better tools for programming and analyzing their properties. Dr.
Chipara's work combines the design of communication protocols, middleware, and programming
tools with large-scale real-world deployments of mHealth systems.
Dr. Guoliang Xing and Dr. Xiaoming Liu