• An integrated approach to developing self-adaptive software in open environments

      Mao, Xinjun; Dong, Menggao; Liu, Lu; Wang, Huaiming; University of Derby (The Institute of Information Science (IIS), 2014-07)
      One of the main challenges of developing self-adaptive systems in open environment comes from uncertain self-adaptation requirements due to the unpredictability of environment changes and its co-existence with well-defined self-adaptation requirements in self-adaptive systems. This paper presents an integrated approach that combines off-line and on-line self-adaptation together in a unified technical framework to support the development and running of such systems. We consider self-adaptive system as a multi-agent organization and propose a novel dynamic binding self-adaptation mechanism inspired from organization metaphors to specify and analyze self-adaptation. A description language, SADL, is designed to program well-defined self-adaptation logic at design-time and implement off-line self-adaptation. In order to deal with uncertain self-adaptation, a reinforcement learning method is incorporated with the dynamic binding mechanism, which enables software agents to make decisions on self-adaptation at run-time and implement on-line self-adaptation. Our approach provides a unified frame-work to accommodate off-line and on-line approaches and a general-purpose methodology to develop complex self-adaptive systems in a systematic way. A supported platform called SADE+ is developed and a case is studied to illustrate the proposed approach.