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