Skip to content The Open University

Software Systems Adaptation by Composition

Software Systems running in the Internet are facing an ever-changing environment, which requires constant monitoring and adaptation supporting facilities need to be in place to ensure that user's needs are satisfied on-demand. In order to understand the requirements of adaptive systems and discuss requirements engineering strategies and techniques in response to the needs of engineering adaptive systems, I would set out from example adaptation mechanism in biological systems and control systems to give my observation on the general model of adaptation by composition. In particular, a theoretical typology of different levels of adaptation capability is proposed, and their correspondence with the key characteristics of adaptive systems is concretized, namely, the static, reactive, adaptive and collaborative systems. The typology is built on a common architecture using rule base to store knowledge for run-time use. The accompanying development method includes a series of steps to allow run-time adaptation, and a goal-oriented modeling method and notation to analyze possible requirements changes at run-time. A general process to support for run-time adaptation of service-oriented system will also be mentioned to support the accompanying development method.