ABSTRACT

This chapter proposes a conceptual adaptation framework which mainly consists of the context model, the internal runtime architecture mechanism, and other supporting assurance mechanisms. It identifies the requirements of software adaptation and incorporates the characteristics of an open environment into the framework. Software adaptation is closely related to the architecture reconfiguration. Architecture description languages (ADL) provide a means to model and analyze software architectures in order to support the architecture-based software development, and improve software quality and correctness. Existing ADLs can be classified into two categories, general-purpose and domain specific ADLs. The dynamic software architecture models a system that reacts to certain events at runtime by supporting reconfiguration of the system’s architecture. The chapter presents some supporting techniques that can help enable self-adaptation. Generally speaking, software adaptation has four fundamental elements: context, sensing, decision-making, and adaptation. These four elements form a closed loop and guide the self-adaptation process.