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.
Similar content being viewed by others
Notes
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].
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.
It has been successfully used in university courses on agent-oriented modelling and programming at the university of Trento.
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].
Fondazione Bruno Kessler (FBK) is a research centre located in Trento, Italy—see http://www.fbk.eu.
The questionnaires, a detailed description and the anonymised raw data of the experiments are available at http://selab.fbk.eu/morandini/taom4e_eval/.
References
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
Asnar Y, Bryl V, Giorgini P (2006) Using risk analysis to evaluate design alternatives. In: AOSE, pp 140–155
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
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
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
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
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
Braubach L, Pokahr A, Moldt D, Lamersdorf W (2004) Goal representation for bdi agent systems. In: PROMAS, pp 44–65
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
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
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
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
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
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
Cohen J (2004) Statistical power analysis for the behavioral sciences. Lawrence Erlbaum Associates, Hillsdale
Dalgaard P (2008) Introductory statistics with R (statistics and computing), 2nd edn. Springer, Berlin
Dalpiaz F, Giorgini P, Mylopoulos J (2013) Adaptive socio-technical systems: a requirements-based approach. Requir Eng 18(1):1–24
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
Dastani M, van Riemsdijk MB, Meyer JJC (2006) Goal types in agent programming. In: ECAI, pp 220–224
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
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
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
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
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
Fuxman A, Liu L, Mylopoulos J, Roveri M, Traverso P (2004) Specifying and analyzing early requirements in tropos. Requir Eng 9(2):132–150
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
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
Hindriks KV, van Riemsdijk MB (2007) Satisfying maintenance goals. In: DALT, pp 86–103
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
Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Computer 36(1):41–50
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
Lapouchnian A, Yu Y, Liaskos S, Mylopoulos J (2006) Requirements-driven design of autonomic application software. In: CASCON, pp 80–94
Matulevicius R, Heymans P (2007) Comparing goal modelling languages: an experiment. In: REFSQ, pp 18–32
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
Molesini A, Omicini A, Viroli M (2009) Environment in agent-oriented software engineering methodologies. Multiagent Grid Syst 5(1):37–57
Moody D (2007) What makes a good diagram? improving the cognitive effectiveness of diagrams in is development. Adv Inf Syst Dev pp 481–492
Morandini M (2011) Goal-oriented development of self-adaptive systems. PhD thesis, DISI, Università di Trento, Italy. http://eprints-phd.biblio.unitn.it/511
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
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)
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
Morandini M, Penserini L, Perini A (2008) Automated mapping from goal models to self-adaptive systems. In: ASE 2008 Demo session, pp 485–486
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
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
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
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
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
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
Padgham L, Winikoff M, DeLoach SA, Cossentino M (2008) A unified graphical notation for aose. In: AOSE, pp 116–130
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
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
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
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
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
Rao AS, Georgeff MP (1995) Bdi agents: from theory to practice. In: ICMAS, pp 312–319
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
Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst (TAAS) 4(2):14–42
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
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
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
Susi A, Perini A, Giorgini P, Mylopoulos J (2005) The tropos metamodel and its use. Informatica (Slovenia) 29(4):401–408
Tomkins CC (2006) An introduction to non-parametric statistics for health scientists. Univ Alta Health Sci J 3(1):20–26
van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: RE, p 249
van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005
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
Wampold B, Drew C (1990) Theory and application of statistics. McGraw-Hill, New York
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
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
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer, Norwell
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
Yu E (1995) Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, Department of Computer Science
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
Zhu Q, Lin L, Kienle HM, Müller HA (2008) Characterizing maintainability concerns in autonomic element design. In: ICSM, pp 197–206
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-015-0236-0