A Declarative Approach for Designing and Developing Adaptive Components

  • Authors:
  • Philippe Boinot;Renaud Marlet;Jacques Noye;Gilles Muller;Charles Consel

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

An adaptive component is a component that is able to adapt its behavior to different execution contexts. Building an adaptive application is difficult because of component dependencies and the lack of language support. As a result, code that implements adaptation is often tangled, hindering maintenance and evolution. To overcome this problem, we propose a declarative approach to program adaptation. This approach makes the specific issues of adaptation explicit. The programmer can focus on the basic features of the application, and separately provide clear and concise adaptation information. Concretely, we propose adaptation classes, which enrich Java classes with adaptive behaviors. A dedicated compiler automatically generates Java code that implements the adaptive features. Moreove1; these adaptation declarations can be checked for consistency to provide additional safety guarantees. As a working example throughout this paper, we use an adaptive sound encoder in an audio-conferencing application. We show the problems associated with a traditional implementation using design patterns, and how these problems are elegantly solved using adaptation classes.