J. Cordeiro et al. (Eds.): ICSOFT 2008, CCIS 47, pp. 48–61, 2009.
© Springer-Verlag Berlin Heidelberg 2009
A Software Infrastructure for User–Guided
Quality–of–Service Tradeoffs
João Pedro Sousa
1
, Rajesh Krishna Balan
2
, Vahe Poladian
3
, David Garlan
3
,
and Mahadev Satyanarayanan
3
1
Computer Science Department, George Mason University
4400 University Drive, Fairfax VA, USA
2
School of information Systems, Singapore Management University
80 Stamford Road, Singapore
3
Computer Science Department, Carnegie Mellon University
5000 Forbes Avenue, Pittsburgh PA, USA
jpsousa@cs.gmu.edu, rajesh@smu.edu.sg
{poladian,garlan,satya}@cs.cmu.edu
Abstract. This paper presents a framework for engineering resource-adaptive
software targeted at small mobile devices. Rather than building a solution from
scratch, we extend and integrate existing work on software infrastructures for
ubiquitous computing, and on resource-adaptive applications.
This paper addresses two research questions: first, is it feasibility to coordi-
nate resource allocation and adaptation policies among several applications in a
way that is both effective and efficient. And second, can end-users understand
and control such adaptive behaviors dynamically, depending on user-defined
goals for each activity. The evaluation covered both the systems and the usabil-
ity perspectives, the latter by means of a user study.
The contributions of this work are: first, a set of design guidelines, including
APIs for integrating new applications; second, a concrete infrastructure that im-
plements the guidelines. And third, a way to model quality of service tradeoffs
based on utility theory, which our research indicates end-users with diverse
backgrounds are able to leverage for guiding the adaptive behaviors towards ac-
tivity-specific quality goals.
Keywords: Mobile computing, Resource adaptation, Self-adaptive systems,
Software architecture, User studies.
1 Introduction
Sophisticated software is increasingly being deployed on small mobile devices, taking
advantage of their growing capabilities and popularity. Media streaming is already
found frequently in PDAs and high-end cell phones. Soon, applications such as
speech recognition, natural language translation, and virtual/augmented reality may
leap from research prototypes to widespread commercial use.
While software has enjoyed plentiful and stable resources in the world of desktops
(and to some extent, of laptops,) resource variation needs to be taken into account in
smaller devices. Despite the impressive capabilities of today’s mobile devices, user