Optimizing Mobile Application Performance with Model---Driven Engineering

  • Authors:
  • Chris Thompson;Jules White;Brian Dougherty;Douglas C. Schmidt

  • Affiliations:
  • Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA;Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA;Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA;Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA

  • Venue:
  • SEUS '09 Proceedings of the 7th IFIP WG 10.2 International Workshop on Software Technologies for Embedded and Ubiquitous Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Future embedded and ubiquitous computing systems will operate continuously on mobile devices, such as smartphones, with limited processing capabilities, memory, and power. A critical aspect of developing future applications for mobile devices will be ensuring that the application provides sufficient performance while maximizing battery life. Determining how a software architecture will affect power consumption is hard because the impact of software design on power consumption is not well understood. Typically, the power consumption of a mobile software architecture can only be determined after the architecture is implemented, which is late in the development cycle when design changes are costly. Model-driven Engineering (MDE) is a promising solution to this problem. In an MDE process, a model of the software architecture can be built and analyzed early in the design cycle to identify key characteristics, such as power consumption. This paper describes current research in developing an MDE tool for modeling mobile software architectures and using them to generate synthetic emulation code to estimate power consumption properties. The paper provides the following contributions to the study of mobile software development: (1) it shows how models of a mobile software architecture can be built, (2) it describes how instrumented emulation code can be generated to run on the target mobile device, and (3) it discusses how this emulation code can be used to glean important estimates of software power consumption and performance.