Skip to main content
Log in

Engineering requirements for adaptive systems

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

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.

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
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. Proactive maintain-goals require predictive reasoning mechanisms, and thus they are not easily representable in procedural agent languages in general [64], and approaches such as a “look-ahead with rollback” [28] are deployable only in specific domains.

  2. BDI (Belief–Desire–Intention) agents endow a reasoning cycle, are able to monitor the environment to update their belief, and to deliberate on the goals to achieve, selecting suitable plans [54].

  3. Tool for Agent-Oriented visual Modelling for Eclipse and its plugin t2x (Tropos4AS to Jadex), developed by the Software Engineering group at Fondazione Bruno Kessler (FBK), Trento [41, 50], available, including the extensions, at http://selab.fbk.eu/taom.

  4. http://www.activecomponents.org

  5. It has been successfully used in university courses on agent-oriented modelling and programming at the university of Trento.

  6. For this evaluation, we refer to the Tropos modelling language as defined in [9, 60] with the focus on Tropos goal diagrams, which are mainly affected by the proposed extensions.

  7. Note that we do not aim to a formal representation of requirements for which correctness and accuracy can be verified, as e.g. in Formal Tropos [25].

  8. Fondazione Bruno Kessler (FBK) is a research centre located in Trento, Italy—see http://www.fbk.eu.

  9. The questionnaires, a detailed description and the anonymised raw data of the experiments are available at http://selab.fbk.eu/morandini/taom4e_eval/.

References

  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 7

  2. Asnar Y, Bryl V, Giorgini P (2006) Using risk analysis to evaluate design alternatives. In: AOSE, pp 140–155

  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–33

    Article  Google Scholar 

  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–134

  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–122

  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–202

  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, Portugal

  8. Braubach L, Pokahr A, Moldt D, Lamersdorf W (2004) Goal representation for bdi agent systems. In: PROMAS, pp 44–65

  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–236

    Article  MATH  Google Scholar 

  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–9

  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). IEEE

  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. Springer

  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–483

  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–687

  15. Cohen J (2004) Statistical power analysis for the behavioral sciences. Lawrence Erlbaum Associates, Hillsdale

    MATH  Google Scholar 

  16. Dalgaard P (2008) Introductory statistics with R (statistics and computing), 2nd edn. Springer, Berlin

    Book  MATH  Google Scholar 

  17. Dalpiaz F, Giorgini P, Mylopoulos J (2013) Adaptive socio-technical systems: a requirements-based approach. Requir Eng 18(1):1–24

    Article  Google Scholar 

  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–11

  19. Dastani M, van Riemsdijk MB, Meyer JJC (2006) Goal types in agent programming. In: ECAI, pp 220–224

  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–32

  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, MO

  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–341

    Article  Google Scholar 

  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–1040

  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–527

  25. Fuxman A, Liu L, Mylopoulos J, Roveri M, Traverso P (2004) Specifying and analyzing early requirements in tropos. Requir Eng 9(2):132–150

    Article  Google Scholar 

  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 Ireland

  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–2329

  28. Hindriks KV, van Riemsdijk MB (2007) Satisfying maintenance goals. In: DALT, pp 86–103

  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–124

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

    Article  Google Scholar 

  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–24

  32. Lapouchnian A, Yu Y, Liaskos S, Mylopoulos J (2006) Requirements-driven design of autonomic application software. In: CASCON, pp 80–94

  33. Matulevicius R, Heymans P (2007) Comparing goal modelling languages: an experiment. In: REFSQ, pp 18–32

  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–512

  35. Molesini A, Omicini A, Viroli M (2009) Environment in agent-oriented software engineering methodologies. Multiagent Grid Syst 5(1):37–57

    Article  MATH  Google Scholar 

  36. Moody D (2007) What makes a good diagram? improving the cognitive effectiveness of diagrams in is development. Adv Inf Syst Dev pp 481–492

  37. Morandini M (2011) Goal-oriented development of self-adaptive systems. PhD thesis, DISI, Università di Trento, Italy. http://eprints-phd.biblio.unitn.it/511

  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–490

    Chapter  Google Scholar 

  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)

  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. Springer

  41. Morandini M, Penserini L, Perini A (2008) Automated mapping from goal models to self-adaptive systems. In: ASE 2008 Demo session, pp 485–486

  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–470

  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–16

  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), IFAAMAS

  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–1670

  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

    Article  Google Scholar 

  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–36

    Article  Google Scholar 

  48. Padgham L, Winikoff M, DeLoach SA, Cossentino M (2008) A unified graphical notation for aose. In: AOSE, pp 116–130

  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–25

    Article  Google Scholar 

  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–182

  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–122

  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–279

  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–24

  54. Rao AS, Georgeff MP (1995) Bdi agents: from theory to practice. In: ICMAS, pp 312–319

  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–118

    Article  Google Scholar 

  56. Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst (TAAS) 4(2):14–42

    Google Scholar 

  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–103

  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–212

    Article  Google Scholar 

  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–161

  60. Susi A, Perini A, Giorgini P, Mylopoulos J (2005) The tropos metamodel and its use. Informatica (Slovenia) 29(4):401–408

    Google Scholar 

  61. Tomkins CC (2006) An introduction to non-parametric statistics for health scientists. Univ Alta Health Sci J 3(1):20–26

    Google Scholar 

  62. van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: RE, p 249

  63. van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005

    Article  Google Scholar 

  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–720

  65. Wampold B, Drew C (1990) Theory and application of statistics. McGraw-Hill, New York

    Google Scholar 

  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–30

    Article  Google Scholar 

  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–196

    Article  Google Scholar 

  68. Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer, Norwell

    Book  MATH  Google Scholar 

  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–71

  70. Yu E (1995) Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, Department of Computer Science

  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–121

  72. Zhu Q, Lin L, Kienle HM, Müller HA (2008) Characterizing maintainability concerns in autonomic element design. In: ICSM, pp 197–206

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mirko Morandini.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Morandini, M., Penserini, L., Perini, A. et al. Engineering requirements for adaptive systems. Requirements Eng 22, 77–103 (2017). https://doi.org/10.1007/s00766-015-0236-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-015-0236-0

Keywords

Navigation