Skip to main content

Requirements for Self-adaptation

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7680))

Abstract

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.

This work has been supported in part by Marie-Curie Fellowship Requirements@run.time.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Second IEEE International Symposium on Requirements Engineering, RE 1995 (1995)

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  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. Robinson, W.: A requirements monitoring framework for enterprise systems. Requirements Engineering 11(1), 17–41 (2005)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  22. Halpern, J.Y.: Reasoning about uncertainty. MIT Press (2005)

    Google Scholar 

  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. Fenton, N.E., Neil, M.: Making decisions: using bayesian nets and mcda. Knowl.-Based Syst. 14(7), 307–325 (2001)

    Article  Google Scholar 

  25. Stewart, M., Melchers, R.: Probabilistic Risk Assessment of Engineering Systems. Springer (2007)

    Google Scholar 

  26. Gollier, C.: The Economics of Risk and Time. MIT (2001)

    Google Scholar 

  27. Courtney, H.: 20/20 Foresight: Crafting Strategy in an Uncertain World. Harvard Business School Press (2001)

    Google Scholar 

  28. Maes, P.: Computional reflection. PhD thesis, Vrije Universiteit (1987)

    Google Scholar 

  29. van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. John Wiley & Sons (2009)

    Google Scholar 

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

    Article  Google Scholar 

  31. Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  33. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming, 3–50 (1993)

    Google Scholar 

  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. Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: FOSE 2007, pp. 285–303 (2007)

    Google Scholar 

  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. Egyed, A.: Fixing inconsistencies in uml design models. In: ICSE, pp. 292–301 (2007)

    Google Scholar 

  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)

    Article  Google Scholar 

  39. Baresi, L., Pasquale, L.: Fuzzy goals for requirements-driven adaptatio. In: 18th International IEEE Requirements Engineering Conference, RE 2010 (2010)

    Google Scholar 

  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)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. Lapouchnian, A.: Exploiting Requirements Variability for Software Customization and Adaptation. PhD thesis, University of Toronto (2011)

    Google Scholar 

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

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bencomo, N. (2013). Requirements for Self-adaptation. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering IV. GTTSE 2011. Lecture Notes in Computer Science, vol 7680. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35992-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35992-7_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35991-0

  • Online ISBN: 978-3-642-35992-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics