Self-adaptation is emerging as an increasingly important capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by Self-Adaptive Systems (SAS) is the need to handle changes to the requirements and corresponding behavior of a SAS in response to varying environmental condition during runtime. In this paper, we discuss the role of uncertainty in such systems, research challenges and present results from our experiences when tackling those challenges. We also review different modeling techniques for the development of self-adaptive systems with specific emphasis on goal-based techniques.


Requirements reflection run-time self-adaptive system 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bencomo, N., Whittle, J., Sawyer, P., Finkelstein, A., Letier, E.: Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 2, pp. 199–202 (2010)Google Scholar
  2. 2.
    Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Second IEEE International Symposium on Requirements Engineering, RE 1995 (1995)Google Scholar
  3. 3.
    Feather, M., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proceedings of Ninth International Workshop on Software Specification and Design, pp. 50–59 (April 1998)Google Scholar
  4. 4.
    Capra, L., Blair, G., Mascolo, C., Emmerich, W., Grace, P.: Exploiting reflection in mobile computing middleware. ACM SIGMOBILE Mobile Computing and Communications Review 6(4), 34–44 (2002)CrossRefGoogle Scholar
  5. 5.
    Sawyer, P., Bencomo, N., Whittle, J., Letier, E., Finkelstein, A.: Requirements-aware systems: A research agenda for re for self-adaptive systems. In: IEEE International Conference on Requirements Engineering, pp. 95–103 (2010)Google Scholar
  6. 6.
    Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: 2007 Future of Software Engineering, FOSE 2007, pp. 259–268. IEEE Computer Society (2007)Google Scholar
  7. 7.
    Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37(10), 46–54 (2004)CrossRefGoogle Scholar
  8. 8.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Transactions on Computer Systems (February 2008)Google Scholar
  9. 9.
    Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intelligent Systems and Their Applications 14(3), 54–62 (1999)CrossRefGoogle Scholar
  10. 10.
    Hughes, D., Greenwood, P., Coulson, G., Blair, G., Pappenberger, F., Smith, P., Beven, K.: Gridstix: Supporting flood prediction using embedded hardware and next generation grid middleware. In: 4th International Workshop on Mobile Distributed Computing (MDC 2006), Niagara Falls, USA (2006)Google Scholar
  11. 11.
    Robinson, W.: A requirements monitoring framework for enterprise systems. Requirements Engineering 11(1), 17–41 (2005)CrossRefGoogle Scholar
  12. 12.
    Baresi, L., Ghezzi, C., Guinea, S.: Smart monitors for composed services. In: Proceedings of the 2nd International Conference on Service Oriented Computing, ICSOC 2004, pp. 193–202. ACM, New York (2004)Google Scholar
  13. 13.
    Andersson, J., Lemos, R., Malek, S., Weyns, D.: Modeling Dimensions of Self-Adaptive Software Systems. 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. 27–47. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Goldsby, H.J., Sawyer, P., Bencomo, N., Hughes, D., Cheng, B.H.: Goal-based modeling of dynamically adaptive system requirements. In: 15th Annual IEEE International Conference on the Engineering of Computer Based Systems, ECBS (2008)Google Scholar
  15. 15.
    Welsh, K., Sawyer, P., Bencomo, N.: Towards requirements aware systems: Run-time resolution of design-time assumptions. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, KS, USA, pp. 560–563 (2011)Google Scholar
  16. 16.
    Zhang, J., Cheng, B.H.: Model-based development of dynamically adaptive software. In: International Conference on Software Engineering (ICSE 2006), China (2006)Google Scholar
  17. 17.
    Hughes, D., Bencomo, N., Blair, G.S., Coulson, G., Grace, P., Porter, B.: Exploiting extreme heterogeneity in a flood warning scenario using the gridkit middleware. In: Middleware (Companion), pp. 54–57 (2008)Google Scholar
  18. 18.
    Sawyer, P., Bencomo, N., Hughes, D., Grace, P., Goldsby, H.J., Cheng, B.H.C.: Visualizing the analysis of dynamically adaptive systems using i* and dsls. In: REV 2007: 2nd Interl Workshop on Requirements Engineering Visualization, India (2007)Google Scholar
  19. 19.
    Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE 1997), Washington, DC, USA (1997)Google Scholar
  20. 20.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H., Bruel, J.M.: Relax: Incorporating uncertainty into the specification of self-adaptive systems. In: 17th IEEE International Requirements Engineering Conference, RE 2009 (2009)Google Scholar
  21. 21.
    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
  22. 22.
    Halpern, J.Y.: Reasoning about uncertainty. MIT Press (2005)Google Scholar
  23. 23.
    Kwiatkowska, M., Norman, G., Parker, D.: Probabilistic symbolic model checking with prism: A hybrid approach. International Journal on Software Tools for Technology Transfer (STTT), 52–66 (2002)Google Scholar
  24. 24.
    Fenton, N.E., Neil, M.: Making decisions: using bayesian nets and mcda. Knowl.-Based Syst. 14(7), 307–325 (2001)CrossRefGoogle Scholar
  25. 25.
    Stewart, M., Melchers, R.: Probabilistic Risk Assessment of Engineering Systems. Springer (2007)Google Scholar
  26. 26.
    Gollier, C.: The Economics of Risk and Time. MIT (2001)Google Scholar
  27. 27.
    Courtney, H.: 20/20 Foresight: Crafting Strategy in an Uncertain World. Harvard Business School Press (2001)Google Scholar
  28. 28.
    Maes, P.: Computional reflection. PhD thesis, Vrije Universiteit (1987)Google Scholar
  29. 29.
    van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. John Wiley & Sons (2009)Google Scholar
  30. 30.
    van Lamsweerde, A., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Software Eng. 26(10), 978–1005 (2000)CrossRefGoogle Scholar
  31. 31.
    Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  32. 32.
    Goknil, A., Kurtev, I., Berg, K.: A Metamodeling Approach for Reasoning about Requirements. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 310–325. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  33. 33.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming, 3–50 (1993)Google Scholar
  34. 34.
    Bencomo, N., Welsh, K., Sawyer, P., Whittle, J.: Self-explanation in adaptive systems. In: 17th IEEE Int. Conf. International Conference on Engineering of Complex Computer Systems, ICECCS (2012)Google Scholar
  35. 35.
    Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: FOSE 2007, pp. 285–303 (2007)Google Scholar
  36. 36.
    Johnson, W.L., Feather, M.: Building an evolution transformation library. In: Proceedings of the 12th International Conference on Software Engineering, ICSE 1990, pp. 238–248. IEEE Computer Society Press, Los Alamitos (1990)Google Scholar
  37. 37.
    Egyed, A.: Fixing inconsistencies in uml design models. In: ICSE, pp. 292–301 (2007)Google Scholar
  38. 38.
    Letier, E., Kramer, J., Magee, J., Uchitel, S.: Deriving event-based transition systems from goal-oriented requirements models. Autom. Softw. Eng. 15(2), 175–206 (2008)CrossRefGoogle Scholar
  39. 39.
    Baresi, L., Pasquale, L.: Fuzzy goals for requirements-driven adaptatio. In: 18th International IEEE Requirements Engineering Conference, RE 2010 (2010)Google Scholar
  40. 40.
    Morin, B., Fleurey, F., Bencomo, N., Jezequel, J.M., Solberg, A., Dehlen, V., Blair, G.: An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 782–796. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  41. 41.
    Bencomo, N., Grace, P., Flores, C., Hughes, D., Blair, G.: Genie: Supporting the model driven development of reflective, component-based adaptive systems. In: ICSE 2008 - Formal Research Demonstrations Track (2008)Google Scholar
  42. 42.
    Bencomo, N., Blair, G.: Using Architecture Models to Support the Generation and Operation of Component-Based Adaptive Systems. 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. 183–200. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  43. 43.
    Issarny, V., Bennaceur, A., Bromberg, Y.-D.: Middleware-Layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 217–255. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  44. 44.
    Berry, D., Cheng, B., Zhang, J.: The four levels of requirements engineering for and in dynamic adaptive systems. In: 11th International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ 2005), Porto, Portugal (2005)Google Scholar
  45. 45.
    Morin, B., Barais, O., Nain, G., Jezequel, J.M.: Taming dynamically adaptive systems using models and aspects. In: International Conference in Software Engineering, ICSE (2009)Google Scholar
  46. 46.
    Sykes, D., Heaven, W., Magee, J., Kramer, J.: Exploiting non-functional preferences in architectural adaptation for self-managed systems. In: Proceedings of the 2010 ACM Symposium on Applied Computing, SAC 2010, pp. 431–438. ACM, New York (2010)Google Scholar
  47. 47.
    Lapouchnian, A.: Exploiting Requirements Variability for Software Customization and Adaptation. PhD thesis, University of Toronto (2011)Google Scholar
  48. 48.
    Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. Technical report, University of Trento (2010)Google Scholar
  49. 49.
    Letier, E., van Lamsweerde, A.: Reasoning about partial goal satisfaction for requirements and design engineering. In: Proc. of 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 53–62 (2004)Google Scholar
  50. 50.
    DeLoach, S.A., Miller, M.: A goal model for adaptive complex systems. International Journal of Computational Intelligence: Theory and Practice 5(2) (2010)Google Scholar
  51. 51.
    Chen, B., Peng, X., Yu, Y., Zhao, W.: Are your sites down? requirements-driven self-tuning for the survivability of web systems. In: 19th International Conference on Requirements Engineering (2011)Google Scholar
  52. 52.
    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(2), 177–196 (2010)CrossRefGoogle Scholar
  53. 53.
    Ramirez, A.J., Jensen, A.C., Cheng, B.H.C., Knoester, D.B.: Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems. In: 26th IEEE/ACM International Conference on Automated Software Engineering, ASE, pp. 568–571 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Nelly Bencomo
    • 1
  1. 1.Domaine de VoluceauINRIA Paris - RocquencourtLe ChesnayFrance

Personalised recommendations