kirancodes.me
To Proof Maintenance & Beyond!

APE: an annotation language and middleware for energy-efficient mobile application development

Nima Nikzad, Octav Chipara, William G. Griswold

Abstract

Energy-efficiency is a key 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 the use of complex primitives and writing error-prone multithreaded code to monitor hardware state. To address this problem, we present APE, an annotation language and middleware service that eases the development of energy-efficient Android applications. APE annotations are used to demarcate a power-hungry code segment whose execution is deferred until the device enters a state that minimizes the cost of that operation. The execution of power-hungry operations is coordinated across applications by the APE middleware. Several examples show the expressive power of our approach. A case study of using APE annotations in a real mobile sensing application shows that annotations can cleanly specify a power management policy and reduce the complexity of its implementation. An empirical evaluation of the middleware shows that APE introduces negligible overhead and equals hand-tuned code in energy savings, in this case achieving 63.4% energy savings compared to the case when there is no coordination.

BibTeX
@inproceedings{Nikzad-al:ICSE14,
  author    = {Nima Nikzad and
               Octav Chipara and
               William G. Griswold},
  title     = {{APE:} an annotation language and middleware for energy-efficient mobile application development},
  booktitle = {ICSE},
  pages     = {515--526},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers