Publication Type


Publication Date



Addressing resource variation plays an increasingly important role in engineering today's software systems. Research in resource-adaptive applications takes an important step towards addressing this problem. However, existing solutions stop short of addressing the fact that different user tasks often have specific goals of quality of service, and that such goals often entail multiple aspects of quality of service. This paper presents a framework for engineering software systems capable of adapting to resource variations in ways that are specific to the quality goals of each user task. For that, users are empowered to specify their task-specific preferences with respect to multiple aspects of quality of service. Such preferences are then exploited to both coordinate resource usage across the applications supporting the task, and to dynamically control the resource adaptation polices of those applications. A user study validates that non-expert users can use this framework to successfully control the behavior of such adaptive systems.


resource-aware systems, resource-adaptive applications, engineering adaptive systems, utility-based adaptation, adaptation policies, modeling user preferences, task-oriented computing, user studies, ubiquitous computing


Software Engineering

Research Areas

Software and Cyber-Physical Systems

First Page


Last Page



Carnegie Mellon University

City or Country


Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.

Additional URL