Meeting the Software Engineering
Challenges
of Adaptive Mobile Applications
Rajesh Krishna Balan, João Pedro Sousa, Mahadev Satyanarayanan
Technical Report
CMU-CS-03-11, School of Computer Science, Carnegie Mellon
University
Abstract
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
charge.
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.
pdf
|