Skip to main content.

Overview

The KBAAM project addresses the construction of self-adaptive software systems through a firmly architecture-centric approach: the principal system artifact is an explicit architectural model. This provides the focal point for activities related to the self-adaptive process: information gathering, decision making, and change enactment.

Adaptive behavior is governed through a collection of independent, modularly- defined adaptation policies specified at the architectural level. These policies capture the conditions which indicate the need for adaptation and the specific modifications which must take place. Separating adaptive behavior in such policies decouples them from system implementations and allows for their independent evolution (even while the system they govern is running).

Of the possible techniques which could be used for the dynamic management of these policies, the KBAAM project currently employs knowledge-based expert systems. Each adaptation policy is reified as an independent rule in an expert system, which monitors and learns information about the self-adaptive system. This expert system resolves the rule-base against this body of information, and manages the "firing" of rules.

The KBAAM project combines insights from the software architecture and artificial intelligence communities to generate self-adaptive systems built in an architecture-based manner with the capability to support dynamic change during system runtime.