Advertisement

Computer Science - Research and Development

, Volume 28, Issue 4, pp 311–329 | Cite as

Requirements-driven software evolution

  • Vítor E. Silva Souza
  • Alexei Lapouchnian
  • Konstantinos Angelopoulos
  • John Mylopoulos
Special Issue Paper

Abstract

It is often the case that stakeholders want to strengthen/weaken or otherwise change their requirements for a system-to-be when certain conditions apply at runtime. For example, stakeholders may decide that if requirement R is violated more than N times in a week, it should be relaxed to a less demanding one R−. Such evolution requirements play an important role in the lifetime of a software system in that they define possible changes to requirements, along with the conditions under which these changes apply. In this paper we focus on this family of requirements, how to model them and how to operationalize them at runtime. In addition, we evaluate our proposal with a case study adopted from the literature.

Keywords

Requirements engineering Modeling Evolution Requirements Adaptive systems 

Notes

Acknowledgements

This work has been supported by the ERC advanced grant 267856 “Lucretius: Foundations for Software Evolution” (unfolding during the period of April 2011–March 2016)—http://www.lucretius.eu.

References

  1. 1.
    Andersson J, de Lemos R, Malek S, Weyns D (2009) Modeling dimensions of self-adaptive software systems. In: Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) Software engineering for self-adaptive systems. Lecture notes in computer science, vol 5525. Springer, Berlin, pp 27–47 CrossRefGoogle Scholar
  2. 2.
    Antón AI, Potts C (2001) Functional paleontology: system evolution as the user sees it. In: Proceedings of the 23rd international conference on software engineering. IEEE, New York, pp 421–430 Google Scholar
  3. 3.
    Baresi L, Pasquale L (2010) Adaptive goals for self-adaptive service compositions. In: Proceedings of the 2010 IEEE international conference on web services. IEEE, New York, pp 353–360 CrossRefGoogle Scholar
  4. 4.
    Bennett KH, Rajlich VT (2000) Software maintenance and evolution: a roadmap. In: Proceedings of the 22nd international conference on software engineering. ACM, New York, pp 73–87 Google Scholar
  5. 5.
    Beynon-Davies P (1995) Information systems ‘failure’: the case of the London Ambulance Service’s Computer Aided Despatch project. Eur J Inf Syst 4(3):171–184 CrossRefGoogle Scholar
  6. 6.
    Breitman KK, Leite JCSP, Finkelstein A (1999) The world’s a stage: a survey on requirements engineering using a real-life case study. J Braz Comput Soc 6(1) Google Scholar
  7. 7.
    Brown G, Cheng BHC, Goldsby HJ, Zhang J (2006) Goal-oriented specification of adaptation requirements engineering in adaptive systems. In: Proceedings of the 2006 international workshop on self-adaptation and self-managing systems. ACM, New York, pp 23–29 CrossRefGoogle Scholar
  8. 8.
    Brun Y et al. (2009) Engineering self-adaptive systems through feedback loops. In: Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) Software engineering for self-adaptive systems. Lecture notes in computer science, vol 5525. Springer, Berlin, pp 48–70 CrossRefGoogle Scholar
  9. 9.
    Cheng BHC et al. (2009) Software engineering for self-adaptive systems: a research roadmap. In: Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) Software engineering for self-adaptive systems. Lecture notes in computer science, vol 5525. Springer, Berlin, pp 1–26 CrossRefGoogle Scholar
  10. 10.
    Cheng SW, Garlan D, Schmerl B (2009) Evaluating the effectiveness of the rainbow self-adaptive system. In: Proceedings of the ICSE 2009 workshop on software engineering for adaptive and self-managing systems. IEEE, New York, pp 132–141 CrossRefGoogle Scholar
  11. 11.
    Dalpiaz F, Chopra AK, Giorgini P, Mylopoulos J (2010) Adaptation in open systems: giving interaction its rightful place. In: Parsons J, Saeki M, Shoval P, Woo C, Wand Y (eds) Conceptual modeling, ER 2010. Lecture notes in computer science, vol 6412. Springer, Berlin, pp 31–45 CrossRefGoogle Scholar
  12. 12.
    Dalpiaz F, Giorgini P, Mylopoulos J (2012) Adaptive socio-technical systems: a requirements-based approach. In: Requirements engineering, pp 1–24 Google Scholar
  13. 13.
    Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20(1–2):3–50 CrossRefzbMATHGoogle Scholar
  14. 14.
    Dinkelaker T, Mitschke R, Fetzer K, Mezini M (2010) A dynamic software product line approach using aspect models at runtime. In: Proceedings of the 1st international workshop on composition: objects, aspects, components, services and product lines, CEUR, pp 11–18 Google Scholar
  15. 15.
    Ernst NA, Borgida A, Jureta I (2011) Finding incremental solutions for evolving requirements. In: Proceedings of the 19th international requirements engineering conference. IEEE, New York, pp 15–24 Google Scholar
  16. 16.
    Ernst NA, Borgida A, Mylopoulos J (2011) Requirements evolution drives software evolution. In: Proceedings of the 12th international workshop on principles of software evolution and the 7th annual ERCIM workshop on software evolution. ACM, New York, pp 16–20 CrossRefGoogle Scholar
  17. 17.
    Ernst NA, Borgida A, Mylopoulos J, Jureta I (2012) Agile requirements evolution via paraconsistent reasoning. In: Proceedings of the 24th international conference on advanced information systems engineering (to appear) Google Scholar
  18. 18.
    Finkelstein A (1993) Report of the inquiry into the London ambulance service (electronic version). Technical report, South West Thames Regional Health Authority Google Scholar
  19. 19.
    Finkelstein A, Dowell J (1996) A comedy of errors: the London ambulance service case study. In: Proceedings of the 8th international workshop on software specification and design. IEEE, New York, pp 2–4 CrossRefGoogle Scholar
  20. 20.
    Fu L, Peng X, Yu Y, Zhao W (2010) Stateful requirements monitoring for self-repairing of software systems. Technical report, FDSE-TR201101, Fudan University, China. Available online: http://www.se.fudan.sh.cn/paper/techreport/1.pdf
  21. 21.
    Garcia-Molina H, Salem K (1987) Sagas. SIGMOD Rec 16(3):249–259 CrossRefGoogle Scholar
  22. 22.
    Garlan D, Cheng SW, Huang AC, Schmerl B, Steenkiste P (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10):46–54 CrossRefGoogle Scholar
  23. 23.
    Griss ML, Favaro J, D’Alessandro M (1998) Integrating feature modeling with the RSEB. In: Proceedings of the 5th international conference on software reuse. IEEE, New York, pp 76–85 Google Scholar
  24. 24.
    Hallsteinsen S, Hinchey M, Park S, Schmid K (2008) Dynamic software product lines. Computer 41(4):93–95 CrossRefGoogle Scholar
  25. 25.
    Harker SD, Eason KD, Dobson JE (1993) The change and evolution of requirements as a challenge to the practice of software engineering. In: Proceedings of the 1993 IEEE international symposium on requirements engineering. IEEE, New York, pp 266–272 Google Scholar
  26. 26.
    Hellerstein JL, Diao Y, Parekh S, Tilbury DM (2004) Feedback control of computing systems, 1st edn. Wiley, New York CrossRefGoogle Scholar
  27. 27.
    Hevner AR, March ST, Park J, Ram S (2004) Design science in information systems research. Manag Inf Syst Q 28(1):75–105 Google Scholar
  28. 28.
    Jureta I, Mylopoulos J, Faulkner S (2008) Revisiting the core ontology and problem in requirements engineering. In: Proceedings of the 16th IEEE international requirements engineering conference. IEEE, New York, pp 71–80 Google Scholar
  29. 29.
    Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36(1):41–50 MathSciNetCrossRefGoogle Scholar
  30. 30.
    Khan MJ, Awais MM, Shamail S (2008) Enabling self-configuration in autonomic systems using case-based reasoning with improved efficiency. In: Proceedings of the 4th international conference on autonomic and autonomous systems. IEEE, New York, pp 112–117 CrossRefGoogle Scholar
  31. 31.
    Kramer J, Magee J (2009) A rigorous architectural approach to adaptive software engineering. J Comput Sci Technol 24(2):183–188 CrossRefGoogle Scholar
  32. 32.
    Kramer J, Wolf AL (1996) Succeedings of the 8th international workshop on software specification and design. SIGSOFT Softw Eng Notes 21(5):21–35 CrossRefGoogle Scholar
  33. 33.
    Lam W, Loomes M (1998) Requirements evolution in the midst of environmental change: a managed approach. In: Proceedings of the 2nd Euromicro conference on software maintenance and reengineering. IEEE, New York, pp 121–127 CrossRefGoogle Scholar
  34. 34.
    van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications, 1st edn. Wiley, New York Google Scholar
  35. 35.
    Lapouchnian A, Mylopoulos J (2009) Modeling domain variability in requirements engineering with contexts. In: Laender A, Castano S, Dayal U, Casati F, de Oliveira J (eds) Conceptual modeling, ER 2009. Lecture notes in computer science, vol 5829. Springer, Berlin, pp 115–130 CrossRefGoogle Scholar
  36. 36.
    Lehman MM (1979) On understanding laws, evolution, and conservation in the large-program life cycle. J Syst Softw 1:213–221 CrossRefGoogle Scholar
  37. 37.
    Menasce DA, Gomaa H, Malek S, Sousa JaP (2011) SASSY: a framework for self-architecting service-oriented systems. IEEE Softw 28(6):78–85 CrossRefGoogle Scholar
  38. 38.
    Nakagawa H, Ohsuga A, Honiden S (2011) gocc: a configuration compiler for self-adaptive systems using goal-oriented requirements description. In: Proceedings of the 6th international symposium on software engineering for adaptive and self-managing systems. ACM, New York, pp 40–49 CrossRefGoogle Scholar
  39. 39.
    Peng X, Chen B, Yu Y, Zhao W (2010) Self-tuning of software systems through goal-based feedback loop control. In: Proceedings of the 18th IEEE international requirements engineering conference. IEEE, New York, pp 104–107 Google Scholar
  40. 40.
    Qureshi NA, Perini A (2010) Requirements engineering for adaptive service based applications. In: Proceedings of the 18th IEEE international requirements engineering conference. IEEE, New York, pp 108–111 Google Scholar
  41. 41.
    Ramirez AJ, Cheng BHC (2010) Design patterns for developing dynamically adaptive systems. In: Proceedings of the 2010 ICSE workshop on software engineering for adaptive and self-managing systems. ACM, New York, pp 49–58 CrossRefGoogle Scholar
  42. 42.
    Rosenmüller M, Siegmund N, Pukall M, Apel S (2011) Tailoring dynamic software product lines. In: Proceedings of the 10th ACM international conference on generative programming and component engineering. ACM, New York, pp 3–12 CrossRefGoogle Scholar
  43. 43.
    Semmak F, Gnaho C, Laleau R (2008) Extended KAOS to support variability for goal oriented requirements reuse. In: Ebersold S, Front A, Lopistéguy P, Nurcan S (eds) Proceedings of the international workshop on model driven information systems engineering: enterprise, user and system models, CEUR, pp 22–33 Google Scholar
  44. 44.
    Shen L, Peng X, Liu J, Zhao W (2011) Towards feature-oriented variability reconfiguration in dynamic software product lines. In: Schmid K (ed) Top productivity through software reuse. Lecture notes in computer science, vol 6727. Springer, Berlin, pp 52–68 CrossRefGoogle Scholar
  45. 45.
    Sousa JP, Balan RK, Poladian V, Garlan D, Satyanarayanan M (2009) A software infrastructure for user-guided quality-of-service tradeoffs. In: Cordeiro J, Shishkov B, Ranchordas A, Helfert M (eds) Software and data technologies, communications in computer and information science, vol 47. Springer, Berlin, pp 48–61 Google Scholar
  46. 46.
    Souza VES (2012) An experiment on the development of an adaptive system based on the LAS-CAD. Technical report, University of Trento. Available at http://disi.unitn.it/~vitorsouza/a-cad/
  47. 47.
    Souza VES, Lapouchnian A, Mylopoulos J (2011) System identification for adaptive software systems: a requirements engineering perspective. In: Jeusfeld M, Delcambre L, Ling TW (eds) Conceptual modeling, ER 2011. Lecture notes in computer science, vol 6998. Springer, Berlin, pp 346–361 CrossRefGoogle Scholar
  48. 48.
    Souza VES, Lapouchnian A, Robinson WN, Mylopoulos J (2011) Awareness requirements for adaptive systems. In: Proceedings of the 6th international symposium on software engineering for adaptive and self-managing systems. ACM, New York, pp 60–69 CrossRefGoogle Scholar
  49. 49.
    Souza VES, Lapouchnian A, Mylopoulos J (2012) (Requirement) evolution requirements for adaptive systems. In: Proceedings of the 7th international symposium on software engineering for adaptive and self-managing systems. IEEE, New York, pp 155–164 Google Scholar
  50. 50.
    Souza VES, Lapouchnian A, Mylopoulos J (2012) Requirements-driven qualitative adaptation. In: Meersman R, et al. (eds) On the move to meaningful internet systems: OTM 2012 confederated international conferences: CoopIS, DOA-SVI, and ODBASE, proceedings, part I. Lecture notes in computer science, vol 7565. Springer, Berlin, pp 342–361 CrossRefGoogle Scholar
  51. 51.
    Wang Y, Mylopoulos J (2009) Self-repair through reconfiguration: a requirements engineering approach. In: Proceedings of the 2009 IEEE/ACM international conference on automated software engineering. IEEE, New York, pp 257–268 CrossRefGoogle Scholar
  52. 52.
    Whittle J, Sawyer P, Bencomo N, Cheng BHC, Bruel JM (2009) RELAX: incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th IEEE international requirements engineering conference. IEEE, New York, pp 79–88 Google Scholar
  53. 53.
    Yu ESK, Giorgini P, Maiden N, Mylopoulos J (2011) Social modeling for requirements engineering, 1st edn. MIT Press, Cambridge Google Scholar
  54. 54.
    Zowghi D, Offen R (1997) A logical framework for modeling and reasoning about the evolution of requirements. In: Proceedings of the 3rd IEEE international symposium on requirements engineering IEEE, New York, pp 247–257 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Vítor E. Silva Souza
    • 1
  • Alexei Lapouchnian
    • 1
  • Konstantinos Angelopoulos
    • 1
  • John Mylopoulos
    • 1
  1. 1.Department of Information Engineering and Computer ScienceUniversity of TrentoTrentoItaly

Personalised recommendations