Service components for managing the life-cycle of service compositions
Information Systems - Special issue: The 14th international conference on advanced information systems engineering (CAiSE*02)
An Autonomic Service Architecture for Self-Managing Grid Applications
GRID '05 Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing
A self-adaptation of software component structures in ubiquitous environments
Proceedings of the 5th international conference on Pervasive services
Adaptive Agent Model: Software Adaptivity using an Agent-oriented Model-Driven Architecture
Information and Software Technology
Environment support for developing and configuring adaptive agents
Multiagent and Grid Systems - Engineering Environments in Multiagent Systems
Hi-index | 0.00 |
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.