Skip to main navigation Skip to search Skip to main content

An assignment model and algorithm for self-adaptive software based on architecture

  • Honglong Chen*
  • , Renfa Li
  • , Rui Li
  • , Edwin Sha
  • *Corresponding author for this work
  • Hunan University
  • National University of Defense Technology
  • University of Texas at Dallas

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)2300-2307
Number of pages8
JournalJisuanji Yanjiu yu Fazhan/Computer Research and Development
Volume48
Issue number12
StatePublished - Dec 2011
Externally publishedYes

Keywords

  • Component assignment
  • Critical path
  • Online evolution
  • Self-adaptive software
  • Software architecture model

Fingerprint

Dive into the research topics of 'An assignment model and algorithm for self-adaptive software based on architecture'. Together they form a unique fingerprint.

Cite this