A Thematic Study of Requirements Modeling and Analysis for Self-Adaptive Systems

Over the last decade, researchers and engineers have developed a vast body of methodologies and technologies in requirements engineering for self-adaptive systems. Although existing studies have explored various aspects of this topic, few of them have categorized and summarized these areas of research in require-ments modeling and analysis. This study aims to investigate the research themes based on the utilized modeling methods and RE activities. We conduct a thematic study in the systematic literature review. The results are derived by synthesizing the extracted data with statistical methods. This paper provides an updated review of the research literature, enabling researchers and practitioners to better understand the research themes in these areas and identify research gaps which need to be further studied.

[1]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[2]  Bashar Nuseibeh,et al.  On the role of primary and secondary assets in adaptive security: An application in smart grids , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[3]  Lin Liu,et al.  Goal-oriented requirements modelling for running systems , 2010, 2010 First International Workshop on Requirements@Run.Time.

[4]  B. Cheng,et al.  Specifying adaptation semantics , 2005, WADS@ICSE.

[5]  Andres J. Ramirez,et al.  Adaptive monitoring of software requirements , 2010, 2010 First International Workshop on Requirements@Run.Time.

[6]  Paola Inverardi,et al.  Requirements models at run-time to support consistent system evolutions , 2011, 2011 2nd International Workshop on Requirements@Run.Time.

[7]  John Mylopoulos,et al.  Awareness Requirements , 2010, Software Engineering for Self-Adaptive Systems.

[8]  Yijun Yu,et al.  Goal-Directed Modeling of Self-adaptive Software Architecture , 2009, BMMDS/EMMSAD.

[9]  João Pimentel,et al.  Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach , 2011, Requirements Engineering.

[10]  Akihiko Ohsuga,et al.  Towards Dynamic Evolution of Self-Adaptive Systems Based on Dynamic Updating of Control Loops , 2012, 2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems.

[11]  David B. Knoester,et al.  Plato: a genetic algorithm approach to run-time reconfiguration in autonomic computing systems , 2011, Cluster Computing.

[12]  Danny Weyns,et al.  Guaranteeing robustness in a mobile learning Application using formally verified MAPE loops , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[13]  Bashar Nuseibeh,et al.  Specifying Monitoring and Switching Problems in Context , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[14]  John Mylopoulos,et al.  Adaptive socio-technical systems: a requirements-based approach , 2011, Requirements Engineering.

[15]  Danny Weyns,et al.  A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System , 2012, FOCLASA.

[16]  Akihiko Ohsuga,et al.  gocc: a configuration compiler for self-adaptive systems using goal-oriented requirements description , 2011, SEAMS '11.

[17]  Yijun Yu,et al.  An automated approach to monitoring and diagnosing requirements , 2007, ASE.

[18]  Anna Perini,et al.  Towards a Requirements Modeling Language for Self-Adaptive Systems , 2012, REFSQ.

[19]  Hernán Astudillo,et al.  Mitigating the obsolescence of quality specifications models in service-based systems , 2012, 2012 Second IEEE International Workshop on Model-Driven Requirements Engineering (MoDRE).

[20]  Bashar Nuseibeh,et al.  Social Adaptation at Runtime , 2012, ENASE.

[21]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.

[22]  Neil A. Ernst,et al.  Towards a continuous requirements engineering framework for self-adaptive systems , 2010, 2010 First International Workshop on Requirements@Run.Time.

[23]  Carlo Ghezzi,et al.  Reliability-driven dynamic binding via feedback control , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[24]  Luciano Baresi,et al.  Adaptive Goals for Self-Adaptive Service Compositions , 2010, 2010 IEEE International Conference on Web Services.

[25]  Wei-Hao Wang,et al.  Studies , 1926 .

[26]  Marin Litoiu,et al.  Goal-Based Behavioral Customization of Information Systems , 2011, CAiSE.

[27]  Luciano Baresi,et al.  Fuzzy Goals for Requirements-Driven Adaptation , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[28]  Xin Peng,et al.  Quality-Driven Self-Adaptation: Bridging the Gap between Requirements and Runtime Architecture by Design Decision , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[29]  Oscar Pastor,et al.  Using NFR and context to deal with adaptability in business process models , 2011, 2011 2nd International Workshop on Requirements@Run.Time.

[30]  Andres J. Ramirez,et al.  Automatically generating adaptive logic to balance non-functional tradeoffs during reconfiguration , 2010, ICAC '10.

[31]  Jing Li,et al.  Towards Verifying Global Properties of Adaptive Software Based on Linear Temporal Logic , 2011, 2011 IEEE International Conference on Advanced Information Networking and Applications.

[32]  References , 1971 .

[33]  Valérie Issarny,et al.  Dynamic decision networks for decision-making in self-adaptive systems: A case study , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[34]  Nelly Bencomo,et al.  Supporting Decision-Making for Self-Adaptive Systems: From Goal Models to Dynamic Decision Networks , 2013, REFSQ.

[35]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[36]  David B. Knoester,et al.  Applying genetic algorithms to decision making in autonomic computing systems , 2009, ICAC '09.

[37]  John Mylopoulos,et al.  Designing an adaptive computer‐aided ambulance dispatch system with Zanshin: an experience report , 2015, Softw. Pract. Exp..

[38]  Gregor Engels,et al.  High-quality specification of self-adaptive software systems , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[39]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[40]  Peter Sawyer,et al.  Requirements Tracing to Support Change in Dynamically Adaptive Systems , 2009, REFSQ.

[41]  John Mylopoulos,et al.  (Requirement) evolution requirements for adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[42]  Yongwang Zhao,et al.  Development of global specification for dynamically adaptive software , 2013, Computing.

[43]  Jianmin Wang,et al.  Goal-driven adaptation of internetware , 2010, Internetware.

[44]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[45]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[46]  Jin Zhi,et al.  Requirements modeling and system reconfiguration for self-adaptation of Internetware , 2012, Internetware.

[47]  Vicente Pelechano,et al.  Dynamic evolution of context-aware systems with models at runtime , 2012, MODELS'12.

[48]  Akihiko Ohsuga,et al.  Dynamic reconfiguration in self-adaptive systems considering non-functional properties , 2012, SAC '12.

[49]  Paola Inverardi,et al.  Leveraging State-Based User Preferences in Context-Aware Reconfigurations for Self-Adaptive Systems , 2011, SEFM.

[50]  Mathieu Acher,et al.  A feature-based approach to system deployment and adaptation , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[51]  Anna Perini,et al.  Requirements comprehension: A controlled experiment on conceptual modeling methods , 2011, Workshop on Empirical Requirements Engineering (EmpiRE 2011).

[52]  Andres J. Ramirez,et al.  Automatically RELAXing a Goal Model to Cope with Uncertainty , 2012, SSBSE.

[53]  Hernán Astudillo,et al.  Addressing the QoS drift in specification models of self-adaptive service-based systems , 2013, 2013 2nd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE).

[54]  Peter Sawyer,et al.  Understanding the Scope of Uncertainty in Dynamically Adaptive Systems , 2010, REFSQ.

[55]  Heather Goldsby,et al.  Goal-oriented specification of adaptation requirements engineering in adaptive systems , 2006, SEAMS '06.

[56]  Raian Ali,et al.  A goal-based framework for contextual requirements modeling and analysis , 2010, Requirements Engineering.

[57]  Pericles Loucopoulos,et al.  System Requirements Engineering , 1995, System Requirements Engineering.

[58]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[59]  Anna Perini,et al.  Towards goal-oriented development of self-adaptive systems , 2008, SEAMS '08.

[60]  Anthony Finkelstein,et al.  A framework for requirements engineering for context-aware services , 2001, ICSE 2001.

[61]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[62]  Ladan Tahvildari,et al.  Towards a goal‐driven approach to action selection in self‐adaptive software , 2012, Softw. Pract. Exp..

[63]  Nelly Bencomo,et al.  Self-Explanation in Adaptive Systems , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[64]  Bashar Nuseibeh,et al.  Requirements-driven adaptive security: Protecting variable assets at runtime , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[65]  Heather Goldsby,et al.  AMOEBA-RT: Run-Time Verification of Adaptive Software , 2008, MoDELS.

[66]  John Mylopoulos,et al.  System Identification for Adaptive Software Systems: A Requirements Engineering Perspective , 2011, ER.

[67]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[68]  N. Bencomo,et al.  A Language for Self-Adaptive System Requirements , 2008, 2008 International Workshop on Service-Oriented Computing: Consequences for Engineering Requirements.

[69]  Lidia Fuentes,et al.  Run-time adaptation of mobile applications using genetic algorithms , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[70]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[71]  Giordano Tamburrelli,et al.  Probabilistic Verification at Runtime for Self-Adaptive Systems , 2013, Assurances for Self-Adaptive Systems.

[72]  Bashar Nuseibeh,et al.  Engineering adaptive privacy: On the role of privacy awareness requirements , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[73]  Yijun Yu,et al.  Are your sites down? Requirements-driven self-tuning for the survivability of Web systems , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[74]  Luciano Baresi,et al.  Live goals for adaptive service compositions , 2010, SEAMS '10.

[75]  Sebastián Uchitel,et al.  Synthesizing nonanomalous event-based controllers for liveness goals , 2013, TSEM.

[76]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[77]  John Mylopoulos,et al.  An Architecture for Requirements-Driven Self-reconfiguration , 2009, CAiSE.

[78]  Heather Goldsby,et al.  Goal-Based Modeling of Dynamically Adaptive System Requirements , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[79]  Alistair Sutcliffe,et al.  Modeling Personalized Adaptive Systems , 2013, CAiSE.

[80]  Luciano Baresi,et al.  Adaptation Goals for Adaptive Service-Oriented Architectures , 2011, Relating Software Requirements and Architectures.

[81]  Massimo Cossentino,et al.  GoalSPEC: A Goal Specification Language Supporting Adaptivity and Evolution , 2013, EMAS@AAMAS.

[82]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[83]  Liliana Pasquale,et al.  Monitoring fuzzy temporal requirements for service compositions: Motivations, challenges and experimental results , 2011, 2011 Workshop on Requirements Engineering for Systems, Services and Systems-of-Systems.

[84]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[85]  Nelly Bencomo,et al.  RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[86]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[87]  Raian Ali,et al.  A Goal Modeling Framework for Self-contextualizable Software , 2009, BMMDS/EMMSAD.

[88]  Sam Malek,et al.  Taming uncertainty in self-adaptive software , 2011, ESEC/FSE '11.

[89]  Ji Zhang,et al.  Using temporal logic to specify adaptive program semantics , 2006, J. Syst. Softw..

[90]  Yijun Yu,et al.  Self-tuning of software systems through dynamic quality tradeoff and value-based feedback control loop , 2012, J. Syst. Softw..

[91]  Jesper Andersson,et al.  Claims and supporting evidence for self-adaptive systems: A literature study , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[92]  Nelly Bencomo,et al.  Relaxing claims: coping with uncertainty while evaluating assumptions at run time , 2012, MODELS'12.

[93]  Heather Goldsby,et al.  Modular verification of dynamically adaptive systems , 2009, AOSD '09.

[94]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[95]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[96]  Xin Peng,et al.  Towards Feature-Oriented Variability Reconfiguration in Dynamic Software Product Lines , 2011, ICSR.

[97]  Mehdi Jazayeri,et al.  Runtime Adaptability through Automated Model Evolution , 2010, 2010 14th IEEE International Enterprise Distributed Object Computing Conference.

[98]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[99]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[100]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[101]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[102]  Yijun Yu,et al.  Analysing monitoring and switching problems for adaptive systems , 2012, J. Syst. Softw..

[103]  P. Sawyer,et al.  Visualizing the Analysis of Dynamically Adaptive Systems Using i* and DSLs , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[104]  Marin Litoiu,et al.  Behavioral adaptation of information systems through goal models , 2012, Inf. Syst..

[105]  Danny Weyns,et al.  A survey of formal methods in self-adaptive systems , 2012, C3S2E '12.

[106]  Heather Goldsby,et al.  Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty , 2008, MoDELS.

[107]  Yijun Yu,et al.  Stateful requirements monitoring for self-repairing socio-technical systems , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[108]  John Mylopoulos,et al.  Adaptive Service Composition Based on Runtime Requirements Monitoring , 2011, 2011 IEEE International Conference on Web Services.

[109]  Andres J. Ramirez,et al.  Automatic derivation of utility functions for monitoring software requirements , 2011, MODELS'11.

[110]  Tore Dybå,et al.  Evidence-based software engineering , 2004, Proceedings. 26th International Conference on Software Engineering.

[111]  Raian Ali,et al.  Optimizing Monitoring Requirements in Self-adaptive Systems , 2012, BMMDS/EMMSAD.

[112]  John Mylopoulos,et al.  Self-Repair through Reconfiguration: A Requirements Engineering Approach , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[113]  Yongwang Zhao,et al.  Model Checking of Adaptive Programs with Mode-extended Linear Temporal Logic , 2011, 2011 Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems.

[114]  Carlo Ghezzi,et al.  Managing non-functional uncertainty via model-driven adaptivity , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[115]  Sebastián Uchitel,et al.  Synthesis of live behaviour models , 2010, FSE '10.

[116]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.

[117]  Gregor Engels,et al.  Adapt cases: extending use cases for adaptive systems , 2011, SEAMS '11.

[118]  Régine Laleau,et al.  Using RELAX, SysML and KAOS for Ambient Systems Requirements Modeling , 2012, ANT/MobiWIS.

[119]  John Mylopoulos,et al.  Requirements-Driven Qualitative Adaptation , 2012, OTM Conferences.

[120]  Sam Malek,et al.  Ieee Transactions on Software Engineering 1 a Learning-based Framework for Engineering Feature-oriented Self-adaptive Software Systems , 2022 .

[121]  Ladan Tahvildari,et al.  Requirements driven software evolution , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[122]  Raian Ali,et al.  Reasoning with contextual requirements: Detecting inconsistency and conflicts , 2013, Inf. Softw. Technol..

[123]  Marie-Pierre Gleizes,et al.  A Goal-Oriented Approach for Modelling Self-organising MAS , 2009, ESAW.

[124]  Steffen Becker,et al.  Performance analysis of self-adaptive systems for requirements validation at design-time , 2013, QoSA '13.

[125]  Danny Weyns,et al.  Towards an integrated approach for validating qualities of self-adaptive systems , 2012, WODA 2012.

[126]  Carlo Ghezzi,et al.  Dealing with Non-Functional Requirements for Adaptive Systems via Dynamic Software Product-Lines , 2010, Software Engineering for Self-Adaptive Systems.

[127]  Franco Zambonelli,et al.  Model Checking Goal-Oriented Requirements for Self-Adaptive Systems , 2012, 2012 IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems.

[128]  Xin Peng,et al.  Software Product Line Engineering for Developing Self-Adaptive Systems: Towards the Domain Requirements , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.