ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2018, Vol. 55 ›› Issue (5): 1014-1033.doi: 10.7544/issn1000-1239.2018.20161039

Previous Articles     Next Articles

Self-Adaptive Decision Making Under Uncertainty in Environment and Requirements

Yang Zhuoqun2,Jin Zhi1,3   

  1. 1(Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871); 2(Institute of Mathematics, Academy of Mathematics and Systems Science, Chinese Academy of Sciences, Beijing 100190); 3(Insitute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871)
  • Online:2018-05-01

Abstract: Software systems intensively interact with other software/hardware systems, devices and users. The operation environment of software becomes unstable and software requirements may also change. Due to the fact that it is hard to predict the environment and requirements at runtime, their changes become uncertain. For providing continuous service, software systems need to adjust themselves according to changes in the environment and themselves. Uncertainties bring great challenges to the adaptation process. Existing related efforts either target at modeling the effects on requirements caused by environmental changes, or focus on how to adjust software behaviors to satisfy fixed requirements under changing environment. With these approaches, it is difficult to deal with the variability and complexity in the adaptation process when requirements are uncertain. This paper proposes a fuzzy control based adaptation decision-making approach, to tackling environment and requirements uncertainties at runtime. It applies fuzzy logic to model and specify variables existing in the environment and software, and generates reasoning rules between variables; designs the adaptation mechanism based on the feedforward-feedback control structure and fuzzy controllers; implements decision-making through fuzzy inference and genetic algorithm. The adaptation results under different environment and constraints show that software can achieve the optimal decision with the adaptation mechanism and algorithms. The feasibility and effectiveness of the approach are illustrated through a mobile bitcoin-miner system.

Key words: self-adaptive software system, uncertainty, requirements engineering, feedforward-feedback control, fuzzy logic, optimal decision-making

CLC Number: