TY - GEN
T1 - A declarative approach for designing and developing adaptive components
AU - Boinot, P.
AU - Marlet, R.
AU - Noyé, J.
AU - Muller, G.
AU - Consel, C.
N1 - Publisher Copyright:
© 2000 IEEE.
PY - 2000/1/1
Y1 - 2000/1/1
N2 - 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. Moreover, 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.
AB - 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. Moreover, 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.
UR - https://www.scopus.com/pages/publications/0008632276
U2 - 10.1109/ASE.2000.873656
DO - 10.1109/ASE.2000.873656
M3 - Conference contribution
AN - SCOPUS:0008632276
T3 - Proceedings ASE 2000: 15th IEEE International Conference on Automated Software Engineering
SP - 111
EP - 119
BT - Proceedings ASE 2000
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 15th IEEE International Conference on Automated Software Engineering, ASE 2000
Y2 - 11 September 2000 through 15 September 2000
ER -