An Assignment Model and Algorithm for Self-Adaptive Software Based on Architecture
-
Graphical Abstract
-
Abstract
The research on self-adaptive evolution software is one of the new focuses in the field of software engineering, and the online evolution that makes software adapt to the changing environment according to the architecture meta information attracts most people's attention. But due to the insufficient consideration in non-function requirements of software evolution, we focus on the optimal component assignment problem in self-adaptive software which is continuously meeting system's constraints based on architecture information during runtime. In this paper, the component assignment based architecture model is firstly described in detail, and a component assignment model is set up for this problem and proved to be NP (non-deterministic polynomial). And then we propose a heuristic algorithm to find a solution for this problem. Finally, the experimental results show that compared with the algorithm of greedy and ILP, the proposed algorithm has many advantages such as multi-object balance and time performance, and compared with ILP alone, the algorithm has better time performance. So it testifies that the heuristic algorithm proposed in this paper is effective for online evolution decision.
-
-