Giving Users the Steering Wheel for Guiding Resource-Adaptive Systems

Abstract

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 2005
Accession Number
ADA456791

Entities

People

  • David Garlan
  • Joao P. Sousa
  • Mahadev Satyanarayanan
  • Rajesh K. Balan
  • Vahe Poladian

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Adaptive Systems
  • Algorithms
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Control Systems
  • Engineering
  • Language
  • Language Translation
  • Mobile Computing
  • Mobile Devices
  • Natural Languages
  • Operating Systems
  • Programming Languages
  • Ubiquitous Computing
  • User Interface

Fields of Study

  • Computer science
  • Engineering

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Distributed Systems and Data Platform Development
  • Software Engineering.