posted on 2012-11-21, 12:15authored byMazeiar Salehie, Ladan Tahvildari
Self-adaptive software is a closed-loop system, since it continuously monitors its context (i.e. environment)
and/or self (i.e. software entities) in order to adapt itself properly to changes. We believe that representing
adaptation goals explicitly and tracing them at run time are helpful in decision-making for adaptation.
While goal-driven models are used in requirements engineering, they have not been utilized systematically
yet for run-time adaptation. To address this research gap, this article focuses on the deciding process in selfadaptive
software, and proposes the Goal-Action-Attribute Model (GAAM). An action selection mechanism,
based on cooperative decision-making, is also proposed, which uses GAAM to select the appropriate
adaptation action(s). The emphasis is on building a light-weight and scalable run-time model which needs
less design and tuning effort comparing with a typical rule-based approach. TheGAAMand action selection
mechanism are evaluated using a set of experiments on a simulated multi-tier enterprise application, and
two sample ordinal and cardinal preference lists. The evaluation is accomplished based on a systematic
design of experiment and a detailed statistical analysis with ANOVA in order to investigate several research
questions. The findings are promising, considering the obtained results, and other impacts of the approach
on engineering self-adaptive software. Although, one case study is not enough to generalize the findings, and
the proposed mechanism does not always outperform a typical rule-based approach, less effort, scalability
and flexibility of GAAM are remarkable.
History
Publication
Software Practice and Experience;42(2), pp. 211-233
Publisher
John Wiley & Sons
Note
peer-reviewed
Other Funding information
SFI
Rights
The definitive version is available at www.blackwell-synergy.com