A Systematic Literature Review of Requirements Modeling and Analysis for Self-adaptive Systems

  • Zhuoqun Yang
  • Zhi Li
  • Zhi Jin
  • Yunchuan Chen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8396)

Abstract

[Context and motivation] 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 evaluated these areas of research in requirements modeling and analysis. [Question/Problem] This review aims to investigate what modeling methods, RE activities, requirements quality attributes, application domains and research topics have been studied and how well these studies have been conveyed. [Principal ideas/results] We conduct a systematic literature review to answer the research questions by searching relevant studies, appraising the quality of these studies and extracting available data. The results are derived by synthesizing the extracted data with statistical methods. [Contributions] This paper provides an updated review of the research literature, enabling researchers and practitioners to better understand the research trends in these areas and identify research gaps which need to be further studied.

Keywords

systematic literature review self-adaptive systems modeling method RE activity requirements quality attribute 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Syst. J. 42, 5–18 (2003)CrossRefGoogle Scholar
  2. 2.
    Nuseibeh, B., Easterbrook, S.: Requirements engineering: a roadmap. In: ICSE 2000 Proceedings of the Conference on The Future of Software Engineering, pp. 35–46 (2000)Google Scholar
  3. 3.
    Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. Computer 36, 41–50 (2003)CrossRefGoogle Scholar
  4. 4.
    Dobson, S., Denazis, S., Fernandez, A., Gaiti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., Zambonelli, F.: A survey of autonomic communications. ACM Trans. Auton. Adapt. Syst. 1, 223–259 (2006)CrossRefGoogle Scholar
  5. 5.
    Cheng, B.H.C., et al.: Software Engineering for Self-Adaptive Systems: A Research Roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    de Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., Weyns, D., Baresi, L., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Göschka, K.M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, R., Smith, D.B., Sousa, J.P., Tahvildari, L., Wong, K., Wuttke, J.: Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4, 1–42 (2009)CrossRefGoogle Scholar
  8. 8.
    Brereton, P., Kitchenham, B.A., Budgen, D., Turner, M., Khalil, M.: Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software 80, 571–583 (2007)CrossRefGoogle Scholar
  9. 9.
    Kitchenham, B., Charters, S.: Guidelines for performing Systematic Literature Reviews in Software Engineering. EBSE Technical Report (2007)Google Scholar
  10. 10.
    Kitchenham, B.A., Dyba, T., Jorgensen, M.: Evidence-based software engineering. In: 26th International Conference on Software Engineering, pp. 273–281 (2004)Google Scholar
  11. 11.
    Dyba, T., Kitchenham, B.A., Jorgensen, M.: Evidence-based software engineering for practitioners. IEEE Software 22, 58–65 (2005)CrossRefGoogle Scholar
  12. 12.
    Protocol for A Systematic Literature Review of Requirements Modeling and Analysis for Self-adaptive Systems, https://www.dropbox.com/s/t6i4ock5g11zo2x/SASProtocol.pdf
  13. 13.
    Zhang, H., Babar, M.A., Tell, P.: Identifying relevant studies in software engineering. Information and Software Technology 53, 625–637 (2011)CrossRefGoogle Scholar
  14. 14.
  15. 15.
    Landis, J.R., Koch, G.G.: The measurement of observer agreement for categorical data. Biometrics 33, 159–174 (1977)CrossRefMATHMathSciNetGoogle Scholar
  16. 16.
    QDA Miner V4 and WordStat V6, http://provalisresearch.com/products/
  17. 17.
    Dybå, T., Dingsøyr, T.: Empirical studies of agile software development: A systematic review. Information and Software Technology 50, 833–859 (2008)CrossRefGoogle Scholar
  18. 18.
    ISO 9126 software quality model definition, http://www.sqa.net/iso9126.html
  19. 19.
    Cruzes, D.S., Dyba, T.: Recommended Steps for Thematic Synthesis in Software Engineering. In: International Symposium on Empirical Software Engineering and Measurement, pp. 275–284 (2011)Google Scholar
  20. 20.
    Cruzes, D., Mendonca, M., Basili, V., Shull, F., Jino, M.: Extracting Information from Experimental Software Engineering Papers. In: 26th International Conference of the Chilean Society of Computer Science, pp. 105–114 (2007)Google Scholar
  21. 21.
    Extracted Data of Systematic Literature Review of Requirements Modeling and Analysis for Self-adaptive Systems, https://www.dropbox.com/s/lksksvcyjsxhg0n/SASData.xlsx
  22. 22.
    Weyns, D., Iftikhar, M.U., Malek, S., Andersson, J.: Claims and supporting evidence for self-adaptive systems: A literature study. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 89–98 (2012)Google Scholar
  23. 23.
    Weyns, D., Iftikhar, M.U., de la Iglesia, D.G., Ahmad, T.: A survey of formal methods in self-adaptive systems. In: 5th International Conference on Computer Science and Software Engineering, pp. 67-79 (2012) Google Scholar
  24. 24.
    Patikirikorala, T., Colman, A., Han, J., Liuping, W.: A systematic survey on the design of self-adaptive software systems using control engineering approaches. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 33–42 (2012)Google Scholar
  25. 25.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20, 3–50 (1993)CrossRefMATHGoogle Scholar
  26. 26.
    Yu, E.S.K.: Towards modelling and reasoning support for early-phase requirements engineering. In: 3rd International Symposium on Requirements Engineering, pp. 226–235 (1997)Google Scholar
  27. 27.
    Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: the Tropos project. Information Systems 27, 365–389 (2002)CrossRefMATHGoogle Scholar
  28. 28.
    Zhang, J., Cheng, B.H.C.: Using temporal logic to specify adaptive program semantics. Journal of Systems and Software 79, 1361–1369 (2006)CrossRefGoogle Scholar
  29. 29.
    Filieri, A., Ghezzi, C., Leva, A., Maggio, M.: Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. In: 26th International Conference on Automated Software Engineering (ASE), pp. 283–292 (2011)Google Scholar
  30. 30.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.-M.: RELAX: a language to address uncertainty in self-adaptive systems requirement. Requir. Eng. 15, 177–196 (2010)CrossRefGoogle Scholar
  31. 31.
    Ali, R., Dalpiaz, F., Giorgini, P.: A goal-based framework for contextual requirements modeling and analysis. Requir. Eng. 15, 439–458 (2010)CrossRefGoogle Scholar
  32. 32.
    Weyns, D., Malek, S., Andersson, J.: FORMS: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auto. Adapt. Syst. 7, 1–61 (2012)CrossRefGoogle Scholar
  33. 33.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: A formal approach to adaptive software: continuous assurance of non-functional requirements. Form. Asp. Comp. 24, 163–186 (2012)CrossRefMATHMathSciNetGoogle Scholar
  34. 34.
    Zhang, J., Cheng, B.H.C.: Model-based development of dynamically adaptive software. In: The 28th International Conference on Software Engineering, pp. 371–380 (2006)Google Scholar
  35. 35.
    Bencomo, N., Belaggoun, A.: Supporting Decision-Making for Self-Adaptive Systems: From Goal Models to Dynamic Decision Networks. In: Doerr, J., Opdahl, A.L. (eds.) REFSQ 2013. LNCS, vol. 7830, pp. 221–236. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  36. 36.
    Goldsby, H.J., Cheng, B.H.: Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 568–583. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  37. 37.
    Cheng, B.H., Sawyer, P., Bencomo, N., Whittle, J.: A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  38. 38.
    Weyns, D.: Towards an integrated approach for validating qualities of self-adaptive systems. In: The 2012 Workshop on Dynamic Analysis, pp. 24–29 (2012)Google Scholar
  39. 39.
    Pimentel, J., Lucena, M., Castro, J., Silva, C., Santos, E., Alencar, F.: Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach. Requir. Eng. 17, 259–281 (2012)CrossRefGoogle Scholar
  40. 40.
    Morandini, M., Penserini, L., Perini, A.: Towards goal-oriented development of self-adaptive systems. In: Proceedings of the 2008 International Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 9–16 (2008)Google Scholar
  41. 41.
    Wang, Y., Mcilraith, S.A., Yu, Y., Mylopoulos, J.: Monitoring and diagnosing software requirements. Automated Software Engg. 16, 3–35 (2009)CrossRefGoogle Scholar
  42. 42.
    Yiqiao, W., Mylopoulos, J.: Self-Repair through Reconfiguration: A Requirements Engineering Approach. In: 24th International Conference on Automated Software Engineering, pp. 257–268 (2009)Google Scholar
  43. 43.
    Inverardi, P., Mori, M.: Requirements models at run-time to support consistent system evolutions. In: 2nd International Workshop on Requirements@Run.Time, pp. 1–8 (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Zhuoqun Yang
    • 1
  • Zhi Li
    • 2
    • 3
  • Zhi Jin
    • 3
  • Yunchuan Chen
    • 1
  1. 1.Institute of Mathematics, Academy of Maths and Syst. Sci.Chinese Academy of SciencesBeijingP.R. China
  2. 2.Software Engineering Dept., College of Computer Science and Information TechnologyGuangxi Normal UniversityGuilinP.R. China
  3. 3.Key Laboratory of High Confidence Software Technologies (MoE)Peking University, Ministry of EducationBeijingP.R. China

Personalised recommendations