CMU-CS-03-111
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-03-111

Meeting the Software Engineering Challenges
of Adaptive Mobile Applications

Rajesh Krishna Balan, João Pedro Sousa, Mahadev Satyanarayanan

February 2003

CMU-CS-03-111.ps
CMU-CS-03-111.pdf


Keywords: Software engineering, mobile systems


A critical factor for the commercial success of mobile and task-specific devices is the fast turnaround time of software development. However, developing software for mobile devices is especially hard since applications need to be aware of and adapt to changing resources such as bandwidth and battery.

In this paper we validate that the idea of stub generation can successfully address the complexity introduced by resource adaptation. Our approach is based on factoring generic resource-adaptation mechanisms out of the applications and into operating system extensions. Rather than having to deal with system-specific details, an application writer provides a high-level description of the adaptation needs for each application. The generation of code stubs bridges such high-level descriptions to the adaptation mechanisms specific to each platform.

We validated this approach against three representative applications: a video streaming application, a natural language translator and an augmented reality application. In all three cases, the effort for the application writer was reduced by orders of magnitude. The cost of writing the operating system extensions and the stub generator is amortized over the many applications that can share the generic resource-adaptation mechanisms.

18 pages


Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by reports@cs.cmu.edu