Abstract

Requirements-driven approaches provide an effective mechanism for self-adaptive systems by reasoning over their runtime requirements models to make adaptation decisions. However, such approaches usually assume that the relations among alternative system configurations, environmental parameters and requirements are clearly understood, which is often not true. Moreover, they do not consider the influence of the current configuration of an executing system on adaptation decisions. In this paper, we propose an improved requirements-driven self-adaptation approach that combines goal reasoning and case-based reasoning. In the approach, past experiences of successful adaptations are retained as adaptation cases, which are described by not only requirements violations and contexts, but also currently deployed system configurations. The approach does not depend on a set of original adaptation cases, but employs goal reasoning to provide adaptation solutions when no similar cases are available. Case-based reasoning is used to provide more precise adaptation decisions that better reflect the complex relations among requirements violations, contexts, and current system configurations by utilizing past experiences. To prevent case-based reasoning from getting trapped in suboptimal adaptation solutions, an additional case mutation mechanism is introduced to mutate existing adaptation solutions when necessary. We conduct an experimental study with an online shopping benchmark to evaluate the effectiveness of our approach. The results show that our approach outperforms both a requirements-driven approach and a case-based approach in terms of satisfaction level of quality constraints. The results also confirm the effectiveness of case mutation for producing better adaptation solutions. In addition, we empirically investigate the evolution process of adaptation solutions. The evolution analysis reveals some general evolution trends of adaptation solutions such as different evolution phases.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call