skip to main content
10.1145/2568225.2568288acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

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

Published: 31 May 2014 Publication History

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.

References

[1]
AndroidAnnotations. http://androidannotations.org/.
[2]
Google Guice. https://code.google.com/p/google-guice/.
[3]
Monsoon Solutions - Power Monitor. http: //msoon.com/LabEquipment/PowerMonitor/.
[4]
Roboguice: Google Guice on Android. https://github.com/roboguice/roboguice.
[5]
R. Alur and D. L. Dill. A theory of timed automata. Theoretical computer science, 126(2):183–235, 1994.
[6]
M. Azizyan, I. Constandache, and R. Roy Choudhury. Surroundsense: mobile phone localization via ambience fingerprinting. In Proceedings of the 15th Annual International Conference on Mobile Computing and Networking, pages 261–272. ACM, 2009.
[7]
L. Benini, A. Bogliolo, and G. De Micheli. A survey of design techniques for system-level dynamic power management. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 8(3):299–316, 2000.
[8]
O. Chipara, C. Lu, J. Stankovic, and G. Roman. Dynamic conflict-free transmission scheduling for sensor network queries. IEEE Transactions on Mobile Computing, 10(5):734–748, 2011.
[9]
M. Cohen, H. S. Zhu, E. E. Senem, and Y. D. Liu. Energy types. In ACM SIGPLAN Notices, volume 47, pages 831–850. ACM, 2012.
[10]
L. Dagum and R. Menon. Openmp: an industry standard api for shared-memory programming. IEEE Computational Science & Engineering, 5(1):46––55, 1998.
[11]
S. Z. Guyer and C. Lin. An annotation language for optimizing software libraries. ACM SIGPLAN Notices, 35(1):39–52, 2000.
[12]
S. S. Hasan, F. Lai, O. Chipara, and Y.-H. Wu. Audiosense: Enabling real-time evaluation of hearing aid technology in-situ. In 26th International Symposium on Computer-Based Medical Systems (CBMS), pages 167–172. IEEE, 2013.
[13]
A. J. Khan, K. Jayarajah, D. Han, A. Misra, R. Balan, and S. Seshan. Cameo: A middleware for mobile advertisement delivery. In Proceeding of the 11th International Conference on Mobile Systems, Applications, and Services, pages 125–138. ACM, 2013.
[14]
S. Khurshid, D. Marinov, and D. Jackson. An analyzable annotation language. In ACM SIGPLAN Notices, volume 37, pages 231–245. ACM, 2002.
[15]
M. B. Kjærgaard, S. Bhattacharya, H. Blunck, and P. Nurmi. Energy-efficient trajectory tracking for mobile devices. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, MobiSys ’11, pages 307–320, New York, NY, USA, 2011. ACM.
[16]
H. Lu, J. Yang, Z. Liu, N. D. Lane, T. Choudhury, and A. T. Campbell. The jigsaw continuous sensing engine for mobile phone applications. In Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems, pages 71–84. ACM, 2010.
[17]
E. Miluzzo, N. D. Lane, K. Fodor, R. Peterson, H. Lu, M. Musolesi, S. B. Eisenman, X. Zheng, and A. T. Campbell. Sensing meets mobile social networks: the design, implementation and evaluation of the cenceme application. In Proceedings of the 6th ACM conference on Embedded Network Sensor Systems, pages 337–350. ACM, 2008.
[18]
P. Mohan, V. N. Padmanabhan, and R. Ramjee. Nericell: rich monitoring of road and traffic conditions using mobile smartphones. In Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems, pages 323–336. ACM, 2008.
[19]
M. Musolesi, M. Piraccini, K. Fodor, A. Corradi, and A. T. Campbell. Supporting energy-efficient uploading strategies for continuous sensing applications on mobile phones. In Pervasive Computing, pages 355–372. Springer, 2010.
[20]
S. Nath. Ace: exploiting correlation for energy-efficient and continuous context sensing. In Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services, pages 29–42. ACM, 2012.
[21]
N. Nikzad, N. Verma, C. Ziftci, E. Bales, N. Quick, P. Zappi, K. Patrick, S. Dasgupta, I. Krueger, T. v. Rosing, and W. G. Griswold. Citisense: Improving geospatial environmental assessment of air quality using a wireless personal exposure monitoring system. In Proceedings of the Conference on Wireless Health, WH ’12, pages 11:1–11:8, New York, NY, USA, 2012. ACM.
[22]
N. Nikzad, J. Yang, P. Zappi, T. S. Rosing, and D. Krishnaswamy. Model-driven adaptive wireless sensing for environmental healthcare feedback systems. In IEEE International Conference on Communications (ICC), pages 3439–3444. IEEE, 2012.
[23]
A. Pathak, A. Jindal, Y. C. Hu, and S. P. Midkiff. What is keeping my phone awake?: characterizing and detecting no-sleep energy bugs in smartphone apps. In Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services, pages 267–280. ACM, 2012.
[24]
J. Polastre, J. Hill, and D. Culler. Versatile low power media access for wireless sensor networks. In Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, pages 95–107. ACM, 2004.
[25]
D. Quinlan, M. Schordan, R. Vuduc, and Q. Yi. Annotating user-defined abstractions for optimization. In 20th International Parallel and Distributed Processing Symposium, 2006, pages 8–pp. IEEE, 2006.
[26]
A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. Enerj: Approximate data types for safe and general low-power computation. In ACM SIGPLAN Notices, volume 46, pages 164–174. ACM, 2011.
[27]
V. Srinivasan, G. R. Shenoy, S. Vaddagiri, D. Sarma, and V. Pallipadi. Energy-aware task and interrupt management in linux. In Ottawa Linux Symposium, 2008.
[28]
V. Venkatachalam and M. Franz. Power reduction techniques for microprocessor systems. ACM Computing Surveys (CSUR), 37(3):195–237, 2005.
[29]
Y. Wang, J. Lin, M. Annavaram, Q. Jacobson, J. Hong, B. Krishnamachari, and N. Sadeh. A framework of energy efficient mobile sensing for automatic user state recognition. In Proceedings of the 7th International Conference on Mobile Systems, Applications, and Services, pages 179–192. ACM, 2009.
[30]
F. Xu, Y. Liu, T. Moscibroda, R. Chandra, L. Jin, Y. Zhang, and Q. Li. Optimizing background email sync on smartphones. In Proceeding of the 11th International Conference on Mobile Systems, Applications, and Services, MobiSys ’13, pages 55–68, New York, NY, USA, 2013. ACM.
[31]
W. Ye, F. Silva, and J. Heidemann. Ultra-low duty cycle mac with scheduled channel polling. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, pages 321–334. ACM, 2006.

Cited By

View all

Recommendations

Reviews

L F. Pau

This conference paper takes the view that by adding declarative annotations and middleware components to an Android software development platform, energy savings can be achieved in embedded deployed applications. The annotation highlights power-hungry code segments whose execution gets deferred. The envisaged application is mostly in mobile health platforms. The paper provides an abstract model of the approach based on time-lapse automata, nothing particularly new. Policy examples, expressed as Java annotations, are described in the context of set power management systems (especially the CitiSense case). The paper is rather theoretical and largely devoted to the specification of the annotation primitives. The runtime is made up of a client library and a lightweight middleware service communicating by remote procedure calls (RPCs). The related overhead is evaluated in the context of one case. The relative contributions of the preexisting power management system and the added annotation are not clear. This approach may serve as a first cut in energy-critical applications, but does not allow for fine-tuning with regards to the power management system itself or the application code. For energy critical performance, optimization at the compiler level with relevant energy consumption attributes is much more efficient because of the scheduling that takes place in the compiler. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE 2014: Proceedings of the 36th International Conference on Software Engineering
May 2014
1139 pages
ISBN:9781450327565
DOI:10.1145/2568225
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 May 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Mobile applications
  2. annotations
  3. energy-efficiency
  4. hardware monitoring
  5. programming

Qualifiers

  • Research-article

Conference

ICSE '14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 22 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media