This paper is an extended version of a short paper, titled as ‘A Weighted Voting Mechanism for Action Selection Problem in Self-Adaptive Software’, published in Proceedings of Self-Adaptive and Self-Organizing Systems Conference (SASO'07).
Towards a goal-driven approach to action selection in self-adaptive software†
Article first published online: 13 MAY 2011
Copyright © 2011 John Wiley & Sons, Ltd.
Software: Practice and Experience
Volume 42, Issue 2, pages 211–233, February 2012
How to Cite
Salehie, M. and Tahvildari, L. (2012), Towards a goal-driven approach to action selection in self-adaptive software. Softw: Pract. Exper., 42: 211–233. doi: 10.1002/spe.1066
- Issue published online: 23 JAN 2012
- Article first published online: 13 MAY 2011
- Manuscript Accepted: 17 JAN 2011
- Manuscript Revised: 13 JAN 2011
- Manuscript Received: 6 MAY 2009
- self-adaptive software;
- goal-driven model;
- run-time action selection
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 self-adaptive software, and proposes the Goal-Action-Attribute Model (GAAM). An action selection mechanism, based on cooperative decision making, is also proposed that 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. The GAAM and action selection mechanism are evaluated using a set of experiments on a simulated multi-tier enterprise application, and two sample ordinal and cardinal action preference lists. The evaluation is accomplished based on a systematic design of experiment and a detailed statistical analysis 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. Copyright © 2011 John Wiley & Sons, Ltd.