Requirements Engineering

, Volume 22, Issue 1, pp 77–103 | Cite as

Engineering requirements for adaptive systems

  • Mirko Morandini
  • Loris Penserini
  • Anna Perini
  • Alessandro Marchetto
Original Article


The increasing demand for complex and distributed software calls for novel software engineering methods and techniques, to create systems able to autonomously adapt to dynamically changing situations. In this paper, we present a framework for engineering requirements for adaptive software systems. The approach, called Tropos4AS, combines goal-oriented concepts and high-variability design methods. The Tropos4AS requirements model can be directly mapped to software prototypes with an agent-oriented architecture which can be executed for requirements validation and refinement. We give a comprehensive description of the framework, with conceptual models, modelling guidelines, and supporting tools. The applicability of the framework to requirements validation and refinement is illustrated through a case study. Two controlled experiments with subjects provide an empirical evaluation of the proposed modelling language, with statistical evidence of the effectiveness of the modelling approach for gathering requirements of adaptive systems.


Requirements engineering Agent-oriented software engineering Adaptive software BDI agents Empirical study 


  1. 1.
    Aranda J, Ernst N, Horkoff J, Easterbrook S (2007) A framework for empirical evaluation of model comprehensibility. In: ICSE workshop on modeling in software engineering (MISE ’07), p 7Google Scholar
  2. 2.
    Asnar Y, Bryl V, Giorgini P (2006) Using risk analysis to evaluate design alternatives. In: AOSE, pp 140–155Google Scholar
  3. 3.
    Avizienis A, Laprie JC, Randell B, Landwehr CE (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Sec Comput 1(1):11–33CrossRefGoogle Scholar
  4. 4.
    Baresi L, Pasquale L, Spoletini P (2010) Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 2010 18th IEEE international requirements engineering conference, IEEE Computer Society, pp 125–134Google Scholar
  5. 5.
    Bencomo N, Belaggoun A, Issarny V (2013) Dynamic decision networks for decision-making in self-adaptive systems: a case study. In: 8th International symposium on software engineering for adaptive and self-managing systems SEAMS, San Francisco, pp 113–122Google Scholar
  6. 6.
    Bencomo N, Whittle J, Sawyer P, Finkelstein A, Letier E (2010) Requirements reflection: requirements as runtime entities. In: ICSE 2010, vol 2, pp 199–202Google Scholar
  7. 7.
    Berry D, Cheng B, Zhang J (2005) The four levels of requirements engineering for and in dynamic adaptive systems. In: Proceedings of the 11th international REFSQ workshop, Porto, PortugalGoogle Scholar
  8. 8.
    Braubach L, Pokahr A, Moldt D, Lamersdorf W (2004) Goal representation for bdi agent systems. In: PROMAS, pp 44–65Google Scholar
  9. 9.
    Bresciani P, Giorgini P, Giunchiglia F, Mylopoulos J, Perini A (2004) Tropos: an agent-oriented software development methodology. Auton Agents Multi-Agent Syst 8(3):203–236CrossRefzbMATHGoogle Scholar
  10. 10.
    Brun Y (2010) Improving impact of self-adaptation and self-management research through evaluation methodology. In: Proceedings of software engineering for adaptive and self-managing systems (SEAMS10), pp 1–9Google Scholar
  11. 11.
    Cailliau A, van Lamsweerde A (2012) A probabilistic framework for goal-oriented risk analysis. In: Proceedings of the 20th IEEE international conference on requirements engineering (RE 2012). IEEEGoogle Scholar
  12. 12.
    Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) (2009a) Software engineering for self-adaptive systems (outcome of a Dagstuhl Seminar). Lecture notes in computer science, vol 5525. SpringerGoogle Scholar
  13. 13.
    Cheng BHC, Sawyer P, Bencomo N, Whittle J (2009b) A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: MODELS ’09: 12th International conference on model driven engineering languages and systems. Springer, pp 468–483Google Scholar
  14. 14.
    Chen B, Peng X, Yu Y, Nuseibeh B, Zhao W (2014) Self-adaptation through incremental generative model transformations at runtime. In: 36th international conference on software engineering, ICSE ’14. Hyderabad, pp 676–687Google Scholar
  15. 15.
    Cohen J (2004) Statistical power analysis for the behavioral sciences. Lawrence Erlbaum Associates, HillsdalezbMATHGoogle Scholar
  16. 16.
    Dalgaard P (2008) Introductory statistics with R (statistics and computing), 2nd edn. Springer, BerlinCrossRefzbMATHGoogle Scholar
  17. 17.
    Dalpiaz F, Giorgini P, Mylopoulos J (2013) Adaptive socio-technical systems: a requirements-based approach. Requir Eng 18(1):1–24CrossRefGoogle Scholar
  18. 18.
    Dalpiaz F, Borgida A, Horkoff J, Mylopoulos J (2013) Runtime goal models: Keynote. In: IEEE 7th international conference on research challenges in information science, RCIS 2013. Paris, pp 1–11Google Scholar
  19. 19.
    Dastani M, van Riemsdijk MB, Meyer JJC (2006) Goal types in agent programming. In: ECAI, pp 220–224Google Scholar
  20. 20.
    de Lemos R, Giese H, Müller HA, Shaw M et al (2010) Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos R, Giese H, Müller HA, and Shaw M (eds) Software engineering for self-adaptive systems II. Lecture Notes in Computer Science, vol 7475. Springer, Berlin, pp 1–32Google Scholar
  21. 21.
    DeLoach SA, Miller M (2009) A goal model for adaptive complex systems. In: International Conference on Knowledge-Intensive Multi-Agent Systems (KIMAS 2009), St. Louis, MOGoogle Scholar
  22. 22.
    Di Nitto E, Ghezzi C, Metzger A, Papazoglou MP, Pohl K (2008) A journey to highly dynamic, self-adaptive service-based applications. Autom Softw Eng 15(3–4):313–341CrossRefGoogle Scholar
  23. 23.
    Duff S, Harland J, Thangarajah J (2006) On proactivity and maintenance goals. In: AAMAS ’06: proceedings of the fifth international joint conference on autonomous agents and multiagent systems. ACM, New York, pp 1033–1040Google Scholar
  24. 24.
    Estrada H, Rebollar AM, Pastor O, Mylopoulos J (2006) An empirical evaluation of the i* framework in a model-based software generation environment. In: CAiSE, pp 513–527Google Scholar
  25. 25.
    Fuxman A, Liu L, Mylopoulos J, Roveri M, Traverso P (2004) Specifying and analyzing early requirements in tropos. Requir Eng 9(2):132–150CrossRefGoogle Scholar
  26. 26.
    Goldsby HJ, Sawyer P, Bencomo N, Hughes D, Cheng BHC (2008) Goal-based modeling of dynamically adaptive system requirements. In: ECBS 08, Belfast, Northern IrelandGoogle Scholar
  27. 27.
    Hadar I, Kuflik T, Perini A, Reinhartz-Berger I, Ricca F, Susi A (2010) An empirical study of requirements model understanding: use case vs. Tropos models. In: SAC, pp 2324–2329Google Scholar
  28. 28.
    Hindriks KV, van Riemsdijk MB (2007) Satisfying maintenance goals. In: DALT, pp 86–103Google Scholar
  29. 29.
    Jureta IJ, Borgida A, Ernst NA, Mylopoulos J (2010) Techne: towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: 18th IEEE International requirements engineering conference. Sydney, pp 115–124Google Scholar
  30. 30.
    Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Computer 36(1):41–50CrossRefGoogle Scholar
  31. 31.
    Kotsiantis SB (2007) Supervised machine learning: a review of classification techniques. In: Conference on emerging artificial intelligence applications in computer engineering. IOS Press, Amsterdam, pp 3–24Google Scholar
  32. 32.
    Lapouchnian A, Yu Y, Liaskos S, Mylopoulos J (2006) Requirements-driven design of autonomic application software. In: CASCON, pp 80–94Google Scholar
  33. 33.
    Matulevicius R, Heymans P (2007) Comparing goal modelling languages: an experiment. In: REFSQ, pp 18–32Google Scholar
  34. 34.
    Mermet B, Simon G (2009) GDT4MAS: an extension of the GDT model to specify and to verify multiagent systems. In: AAMAS’09, pp 505–512Google Scholar
  35. 35.
    Molesini A, Omicini A, Viroli M (2009) Environment in agent-oriented software engineering methodologies. Multiagent Grid Syst 5(1):37–57CrossRefzbMATHGoogle Scholar
  36. 36.
    Moody D (2007) What makes a good diagram? improving the cognitive effectiveness of diagrams in is development. Adv Inf Syst Dev pp 481–492Google Scholar
  37. 37.
    Morandini M (2011) Goal-oriented development of self-adaptive systems. PhD thesis, DISI, Università di Trento, Italy.
  38. 38.
    Morandini M, Dalpiaz F, Nguyen C, Siena A (2014) The tropos software engineering methodology. In: Cossentino M, Hilaire V, Molesini A, Seidita V (eds) Handbook on agent-oriented design processes. Springer, Berlin, pp 463–490CrossRefGoogle Scholar
  39. 39.
    Morandini M, Marchetto A, Perini A (2011) Requirements comprehension: a controlled experiment on conceptual modeling methods. In: Proceedings of the first workshop on empirical requirements engineering (EmpiRE11)Google Scholar
  40. 40.
    Morandini M, Migeon F, Gleizes MP, Maurel C, Penserini L, Perini A (2009a) A goal-oriented approach for modelling self-organising MAS. In: Proceedings of the 10th international workshop on Engineering Societies in the Agents’ World (ESAW 2009). LNCS, vol 5881. SpringerGoogle Scholar
  41. 41.
    Morandini M, Penserini L, Perini A (2008) Automated mapping from goal models to self-adaptive systems. In: ASE 2008 Demo session, pp 485–486Google Scholar
  42. 42.
    Morandini M, Penserini L, Perini A (2008) Modelling self-adaptivity: a goal-oriented approach. In: 2nd IEEE international conference on self-adaptive and self-organizing systems (SASO’08). IEEE, pp 469–470Google Scholar
  43. 43.
    Morandini M, Penserini L, Perini A (2008) Towards goal-oriented development of self-adaptive systems. In: SEAMS ’08: workshop on software engineering for adaptive and self-managing systems. ACM, New York, pp 9–16Google Scholar
  44. 44.
    Morandini M, Penserini L, Perini A (2009) Operational semantics of goal models in adaptive agents. In: 8th International conference on autonomous agents and multi-agent systems (AAMAS), IFAAMASGoogle Scholar
  45. 45.
    Nguyen CD, Perini A, Tonella P (2008) eCAT: a tool for automating test cases generation and execution in testing multi-agent systems (demo paper). In: 7th International conference on autonomous agents and multiagent systems (AAMAS), IFAAMS, pp 1669–1670Google Scholar
  46. 46.
    Nguyen CD, Perini A, Tonella P (2010) Goal-oriented testing for mass. Int J Agent Oriented Softw Eng 4(1):79–109. doi: 10.1504/IJAOSE.2010.029810 CrossRefGoogle Scholar
  47. 47.
    Omicini A, Ricci A, Viroli M (2006) Agens Faber: toward a theory of artefacts for MAS. Electron Notes Theor Comput Sci 150(3):21–36CrossRefGoogle Scholar
  48. 48.
    Padgham L, Winikoff M, DeLoach SA, Cossentino M (2008) A unified graphical notation for aose. In: AOSE, pp 116–130Google Scholar
  49. 49.
    Penserini L, Perini A, Susi A, Mylopoulos J (2007) High variability design for software agents: extending tropos. ACM Trans Auton Adapt Syst (TAAS) 2(4):16–25CrossRefGoogle Scholar
  50. 50.
    Perini A, Susi A (2004) Developing tools for agent-oriented visual modeling. In: Lindemann G, Denzinger J, Timm I, Unland R (eds) Multiagent system technologies. Proceedings of the second German conference, MATES 2004. LNAI, vol 3187. Springer, pp 169–182Google Scholar
  51. 51.
    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: Proceedings of RE’14. Karlskrona (SE). IEEE, pp 113–122Google Scholar
  52. 52.
    Qureshi NA, Jureta I, Perini A (2012) Towards a requirements modeling language for self-adaptive systems. In: Regnell B, Damian DE (eds) REFSQ. LNCS, vol 7195. Springer, pp 263–279Google Scholar
  53. 53.
    Qureshi N, Perini A (2010) Continuous adaptive requirements engineering: an architecture for self-adaptive service-based applications. In: RE@RunTime workshop at RE’10. Australia, Sydney, pp 17–24Google Scholar
  54. 54.
    Rao AS, Georgeff MP (1995) Bdi agents: from theory to practice. In: ICMAS, pp 312–319Google Scholar
  55. 55.
    Ricca F, di Penta M, Torchiano M, Tonella P, Ceccato M (2010) How developers’ experience and ability influence web application comprehension tasks supported by uml stereotypes: a series of four experiments. IEEE Trans Softw Eng 36(1):96–118CrossRefGoogle Scholar
  56. 56.
    Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst (TAAS) 4(2):14–42Google Scholar
  57. 57.
    Sawyer P, Bencomo N, Whittle J, Letier E, Finkelstein A (2010) Requirements-aware systems: a research agenda for RE for self-adaptive systems. In: IEEE International conference on requir Engeneering (RE10), pp 95–103Google Scholar
  58. 58.
    Sousa KS, Vanderdonckt J, Henderson-Sellers B, Gonzalez-Perez C (2012) Evaluating a graphical notation for modelling software development methodologies. J Vis Lang Comput 23(4):195–212CrossRefGoogle Scholar
  59. 59.
    Souza VES, Lapouchnian A, Robinson WN, Mylopoulos J (2013) Awareness requirements. In: de Lemos R, Giese H, Mueller HA, Shaw M (eds) Software engineering for self-adaptive systems II. LNCS, vol 7475. Springer, pp 133–161Google Scholar
  60. 60.
    Susi A, Perini A, Giorgini P, Mylopoulos J (2005) The tropos metamodel and its use. Informatica (Slovenia) 29(4):401–408Google Scholar
  61. 61.
    Tomkins CC (2006) An introduction to non-parametric statistics for health scientists. Univ Alta Health Sci J 3(1):20–26Google Scholar
  62. 62.
    van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: RE, p 249Google Scholar
  63. 63.
    van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005CrossRefGoogle Scholar
  64. 64.
    van Riemsdijk B, Dastani M, Winikoff M (2008) Goals in agent systems: a unifying framework. In: Proceedings of the 7th international conference on autonomous agents and multiagent systems (AAMAS’08), pp 713–720Google Scholar
  65. 65.
    Wampold B, Drew C (1990) Theory and application of statistics. McGraw-Hill, New YorkGoogle Scholar
  66. 66.
    Weyns D, Omicini A, Odell J (2007) Environment as a first class abstraction in multiagent systems. Auton Agents Multi-Agent Syst 14(1):5–30CrossRefGoogle Scholar
  67. 67.
    Whittle J, Sawyer P, Bencomo N, Cheng BHC, Bruel J (2010) RELAX: a language to address uncertainty in self-adaptive systems requirement. Requir Eng 15(2):177–196CrossRefGoogle Scholar
  68. 68.
    Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer, NorwellCrossRefzbMATHGoogle Scholar
  69. 69.
    Yang Z, Li Z, Jin Z, Chen Y (2014) A systematic literature review of requirements modeling and analysis for self-adaptive systems. In: Requirements Engineering: Foundation for Software Quality REFSQ 2014. Essen, pp 55–71Google Scholar
  70. 70.
    Yu E (1995) Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, Department of Computer ScienceGoogle Scholar
  71. 71.
    Yu E (2009) Social modeling and i*. In: Borgida AT, Chaudhri V, Giorgini P, Yu E (eds) Conceptual modeling: foundations and applications. Lecture notes in computer science, vol 5600. Springer, Berlin, pp 99–121Google Scholar
  72. 72.
    Zhu Q, Lin L, Kienle HM, Müller HA (2008) Characterizing maintainability concerns in autonomic element design. In: ICSM, pp 197–206Google Scholar

Copyright information

© Springer-Verlag London 2015

Authors and Affiliations

  • Mirko Morandini
    • 1
  • Loris Penserini
    • 1
  • Anna Perini
    • 1
  • Alessandro Marchetto
    • 1
  1. 1.FBK Center for Communication and Information TechnologyPovo, TrentoItaly

Personalised recommendations