Skip to main content
Log in

Rationalism with a dose of empiricism: combining goal reasoning and case-based reasoning for self-adaptive software systems

  • RE 2014
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations, and system approaches. AI Commun 7(1):39–59

    Google Scholar 

  2. Anglano C, Montani S (2005) Achieving self-healing in autonomic software systems: a case-based reasoning approach. In: SOAS, pp 267–281

  3. Baresi L, Pasquale L, Spoletini P (2010) Fuzzy goals for requirements-driven adaptation. In: RE, pp 125–134

  4. Bencomo N, Belaggoun A (2013) Supporting decision-making for self-adaptive systems: from goal models to dynamic decision networks. In: REFSQ, pp 221–236

  5. Bruneton E, Coupaye T, Leclercq M, Quéma V, Stefani J (2006) The FRACTAL component model and its support in java: experiences with auto-adaptive and reconfigurable systems. Softw Pract Exp 36(11–12):1257–1284

    Article  Google Scholar 

  6. Carzaniga A, Rosenblum D, Wolf A (2003) Design and evaluation of a wide-area event notification service. In: foundations of intrusion tolerant systems, 2003 (Organically Assured and Survivable Information Systems), pp 283–334

  7. Chen B, Peng X, Yu Y, Nuseibeh B, Zhao W (2014) Self-adaptation through incremental generative model transformations at runtime. In: ICSE, pp 676–687

  8. Chen B, Peng X, Yu Y, Zhao W (2011) Are your sites down? Requirements-driven self-tuning for the survivability of Web systems. In: RE, pp 219–228

  9. Chen B, Peng X, Yu Y, Zhao W (2014) Requirements-driven self-optimization of composite services using feedback control. IEEE Trans Serv Comput 1

  10. Chen B, Peng X, Yu Y, Zhao W (2014) Uncertainty handling in goal-driven self-optimization-limiting the negative effect on adaptation. J Syst Softw 90:114–127

    Article  Google Scholar 

  11. Cheng BH, De Lemos R, Giese H, Inverardi P, Magee J, Andersson J, Becker B, Bencomo N, Brun Y, Cukic B, et al (2009) Software engineering for self-adaptive systems: a research roadmap. In: Softw Eng Self-Adapt Syst, pp 1–26

  12. Dalpiaz F, Giorgini P, Mylopoulos J (2009) An architecture for requirements-driven self-reconfiguration. In: CAiSE, pp 246–260

  13. De Lemos R, Giese H, Müller HA, Shaw M, Andersson J, Litoiu M, Schmerl B, Tamura G, Villegas NM, Vogel T et al (2013) Software engineering for self-adaptive systems: a second research roadmap. In: Softw Eng Self-Adapt Syst II, pp 1–32

  14. Fu L, Peng X, Yu Y, Mylopoulos J, Zhao W (2012) Stateful requirements monitoring for self-repairing socio-technical systems. In: RE, pp 121–130

  15. Giorgini P, Mylopoulos J, Nicchiarelli E, Sebastiani R (2002) Reasoning with goal models. In: ER, pp 167–181

  16. Hinchey M, Sterritt R (2006) Self-managing software. Comput 39(2):107–109

    Article  Google Scholar 

  17. Kephart JO, Chess DM (2003) The vision of autonomic computing. Comput 36(1):41–50

    Article  Google Scholar 

  18. Khan MJ, Awais MM, Shamail S (2007) Achieving self-configuration capability in autonomic systems using case-based reasoning with a new similarity measure. In: ICIC, pp 97–106

  19. Khan MJ, Awais MM, Shamail S (2008) Enabling self-configuration in autonomic systems using case-based reasoning with improved efficiency. In: ICAS, pp 112–117

  20. Khan MJ, Awais MM, Shamail S (2010) Improving efficiency of self-configurable autonomic systems using clustered cbr approach. IEICE Trans Inf Syst 93(11):3005–3016

    Article  Google Scholar 

  21. Kolodneer JL (1991) Improving human decision making through case-based decision aiding. AI Mag 12(2):52

    Google Scholar 

  22. Letier E, Van Lamsweerde A (2004) Reasoning about partial goal satisfaction for requirements and design engineering. ACM SIGSOFT Softw Eng Notes 29(6):53–62

    Article  Google Scholar 

  23. McSherry D, Hassan S, Bustard D (2008) Conversational case-based reasoning in self-healing and recovery. In: ECCBR, pp 340–354

  24. Montani S, Anglano C (2006) Case-based reasoning for autonomous service failure diagnosis and remediation in software systems. In: ECCBR, pp 489–503

  25. Montani S, Anglano C (2008) Achieving self-healing in service delivery software systems by means of case-based reasoning. Appl Intell 28(2):139–152

    Article  Google Scholar 

  26. Montani S, Anglano C (2008) Retrieval, reuse, revision, and retention in casebased reasoning. Appl Intell 28(2):139–152

    Article  Google Scholar 

  27. Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans Softw Eng 18(6):483–497

    Article  Google Scholar 

  28. Peng X, Chen B, Yu Y, Zhao W (2012) Self-tuning of software systems through dynamic quality tradeoff and value-based feedback control loop. J Syst Softw 85(12):2707–2719

    Article  Google Scholar 

  29. Qian W, Peng X, Chen B, Mylopoulos J, Wang H, Zhao W (2014) Rationalism with a dose of empiricism: Case-based reasoning for requirements-driven self-adaptation. In: RE, pp 113–122

  30. Salehie M, Pasquale L, Omoronyia I, Ali R, Nuseibeh B (2012) Requirements-driven adaptive security: protecting variable assets at runtime. In: RE, pp 111–120

  31. Sawyer P, Bencomo N, Whittle J, Letier E, Finkelstein A (2010) Requirements-aware systems: a research agenda for RE for self-adaptive systems. In: RE, pp 95–103

  32. Sebastiani R, Giorgini P, Mylopoulos J (2004) Simple and minimum-cost satisfiability for goal models. In: CAiSE, pp 20–35

  33. Souza VES, Lapouchnian A, Mylopoulos J (2011) System identification for adaptive software systems: a requirements engineering perspective. In: ER, pp 346–361

  34. Srinivas M, Patnaik LM (1994) Adaptive probabilities of crossover and mutation in genetic algorithms. IEEE Trans Syst Man Cybern 24(4):656–667

    Article  Google Scholar 

  35. Srinivas M, Patnaik LM (1994) Genetic algorithms: a survey. Comput 27(6):17–26

    Article  Google Scholar 

  36. Wang Y, Mylopoulos J (2009) Self-repair through reconfiguration: a requirements engineering approach. In: ASE, pp 257–268

Download references

Acknowledgments

This work is supported by National Natural Science Foundation of China under Grant No. 61361120097 and National High Technology Development 863 Program of China under Grant No. 2013AA01A605.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xin Peng.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Qian, W., Peng, X., Chen, B. et al. Rationalism with a dose of empiricism: combining goal reasoning and case-based reasoning for self-adaptive software systems. Requirements Eng 20, 233–252 (2015). https://doi.org/10.1007/s00766-015-0227-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-015-0227-1

Keywords

Navigation