Previous [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [ 10] [ 11] [ 12] [ 13] [ 14] [ 15] [ 16] [ 17] [ 18] [ 19]


Journal of Information Science and Engineering, Vol. 30 No. 4, pp. 1071-1085 (July 2014)

An Integrated Approach to Developing Self-Adaptive Software*

1State Key Laboratory of Software Development Environment
Beihang University
Beijing, 100191 P.R. China
2Department of Computer Science and Technology
National University of Defense Technology
Changsha, 410073 P.R. China
3School of Computing and Mathematics
University of Derby
Derby, DE22 1GB UK

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 offline 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 selfadaptation, a reinforcement learning method is incorporated with the dynamic binding mechanism, which enables software agents to make decisions on self-adaptation at runtime 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.

Keywords: self-adaptive, agent, role dynamic binding, organization, learning

Full Text () Retrieve PDF document (201407_08.pdf)

Received May 27, 2013; accepted August 29, 2012.
Communicated by Cho-Li Wang.
* This work was supported by NSFC (No. 61070034 and 61379051), National Program on Key Basic Research (973) Project (No. 2011CB302601) and Program for New Century Excellent Talents in University with No. NCET-10-0898, State Key Laboratory of Software Development Environment Open Fund with No. SKLSDE- 2012KF-0X.