The policy language used by KBAAM is based on the xADL 2.0 architecture description language (ADL). xADL 2.0 is an XML-based language encapsulating basic ADL features and designed to be extensible. The current language provides support for various aspects of architectural representation, and the KBAAM project builds on this extensibility to support the definition of architectural adaptation policies.
The tools supporting KBAAM are constructed as modular elements of the Archstudio 3 architectural development environment. The Archstudio 3 tool set is designed as an integrated development environment (IDE) for software architectures, and provides support for many involved activities: design, development, visualisation, evolution, and maintenance. In the context of KBAAM, the most important of these capabilities is the architecture-based runtime evolution of software systems.
Java Expert System Shell (JESS)
The rule-based expert system responsible for the management of adaptation policies is based on the Java-based JESS rule engine from Sandia National Labs. The JESS engine provides complete Java-based facilities for the construction and management of expert systems which may be accessed programmatically, therefore easing the integration with other Archstudio and KBAAM tools.