Skip to main content

Software Engineering for Self-Adaptive Systems: A Research Roadmap

  • Chapter

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

Abstract

The goal of this roadmap paper is to summarize the state-of-the-art and to identify critical challenges for the systematic software engineering of self-adaptive systems. The paper is partitioned into four parts, one for each of the identified essential views of self-adaptation: modelling dimensions, requirements, engineering, and assurances. For each view, we present the state-of-the-art and the challenges that our community must address. This roadmap paper is a result of the Dagstuhl Seminar 08031 on “Software Engineering for Self-Adaptive Systems,” which took place in January 2008.

Keywords

  • Software Engineering
  • Software Engineer
  • Control Loop
  • Requirement Engineering
  • Multiagent System

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-02161-9_1
  • Chapter length: 26 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   64.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-02161-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   84.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Feiler, P., Gabriel, R.P., Goodenough, J., Linger, R., Longstaff, T., Kazman, R., Klein, M., Northrop, L., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-large-scale systems: The software challenge of the future. Technical report, Software Engineering Institute (2006), http://www.sei.cmu.edu/uls/

  2. Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Towards a classification of self-adaptive software system. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525. Springer, Heidelberg (2009)

    CrossRef  Google Scholar 

  3. Seetharaman, G., Lakhotia, A., Blasch, E.P.: Unmanned Vehicles Come of Age: The DARPA Grand Challenge. Computer 39, 26–29 (2006)

    CrossRef  Google Scholar 

  4. Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Object Technology 7, 125–151 (2008)

    CrossRef  Google Scholar 

  5. Jackson, M.: The meaning of requirements. Annals of Software Engineering 3, 5–21 (1997)

    CrossRef  Google Scholar 

  6. Laprie, J.C.: From dependability to resilience. In: International Conference on Dependable Systems and Networks (DSN 2008), Anchorage, AK, USA, pp. G8–G9 (2008)

    Google Scholar 

  7. Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: FOSE 2007: 2007 Future of Software Engineering, pp. 285–303. IEEE Computer Society, Minneapolis (2007)

    Google Scholar 

  8. Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: IEEE International Symposium on Requirements Engineering (RE 1995), pp. 140–147 (1995)

    Google Scholar 

  9. Savor, T., Seviora, R.: An approach to automatic detection of software failures in realtime systems. In: IEEE Real-Time Technology and Applications Symposium, pp. 136–147 (1997)

    Google Scholar 

  10. Sutcliffe, A., Fickas, S., Sohlberg, M.M.: PC-RE a method for personal and context requirements engineering with some experience. Requirements Engineering Journal 11, 1–17 (2006)

    CrossRef  Google Scholar 

  11. Liaskos, S., Lapouchnian, A., Wang, Y., Yu, Y., Easterbrook, S.: Configuring common personal software: a requirements-driven approach. In: 13th IEEE International Conference on Requirements Engineering (RE 2005), pp. 9–18. IEEE Computer Society, Los Alamitos (2005)

    CrossRef  Google Scholar 

  12. Lapouchnian, A., Yu, Y., Liaskos, S., Mylopoulos, J.: Requirements-driven design of autonomic application software. In: CASCON 2006: Proceedings of the 2006 Conference of the Center for Advanced Studies on Collaborative Research, p. 7. ACM, New York (2006)

    CrossRef  Google Scholar 

  13. Goldsby, H.J., Sawyer, P., Bencomo, N., Hughes, D., Cheng, B.H.C.: 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 

  14. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal directed requirements acquisition. In: Selected Papers of the Sixth International Workshop on Software Specification and Design (IWSSD), pp. 3–50 (1993)

    Google Scholar 

  15. Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In: 3rd IEEE International Symposium on Requirements Engineering (RE 1997), Washington, DC, USA, p. 226 (1997)

    Google Scholar 

  16. Harel, D., Marelly, R.: Come Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2005)

    Google Scholar 

  17. Zhang, J., Cheng, B.H.C.: Using temporal logic to specify adaptive program semantics. Journal of Systems and Software (JSS), Architecting Dependable Systems 79, 1361–1369 (2006)

    Google Scholar 

  18. Easterbrook, S., Chechik, M.: A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of International Conference on Software Engineering (ICSE 2001), pp. 411–420 (2001)

    Google Scholar 

  19. Sabetzadeh, M., Easterbrook, S.: View merging in the presence of incompleteness and inconsistency. Requirements Engineering Journal 11, 174–193 (2006)

    CrossRef  Google Scholar 

  20. Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35, 705–754 (2005)

    Google Scholar 

  21. Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.: A language for self-adaptive system requirement. In: SOCCER Workshop (2008)

    Google Scholar 

  22. Finkelstein, A.: Requirements reflection. Dagstuhl Presentation (2008)

    Google Scholar 

  23. Zhang, J., Cheng, B.H.C.: Model-based development of dynamically adaptive software. In: Proceedings of International Conference on Software Engineering (ICSE 2006), Shanghai,China (2006)

    Google Scholar 

  24. Robinson, W.N.: Monitoring web service requirements. In: Proceedings of International Requirements Engineering Conference (RE 2003), pp. 65–74 (2003)

    Google Scholar 

  25. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: FOSE 2007: 2007 Future of Software Engineering, Minneapolis, MN, USA, pp. 259–268. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

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

    Google Scholar 

  27. Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for reflective middleware. Communications of the ACM 45, 33–38 (2002)

    CrossRef  Google Scholar 

  28. Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: A generic component model for building systems software. ACM Transactions on Computer Systems (2008)

    Google Scholar 

  29. Robinson, W.: A requirements monitoring framework for enterprise systems. Requirements Engineering 11, 17–24 (2006)

    Google Scholar 

  30. Tanner, J.A.: Feedback control in living prototypes: A new vista in control engineering. Medical and Biological Engineering and Computing 1(3), 333–351 (1963), http://www.springerlink.com/content/rh7wx0675k5mx544/

  31. Dumont, G., Huzmezan, M.: Concepts, methods and techniques in adaptive control. In: Proceedings American Control Conference (ACC 2002), Anchorage, AK, USA, vol. 2, pp. 1137–1150 (2002)

    Google Scholar 

  32. Brun, Y., Di Marzo Serugendo, G., Gacek, C., Giese, H., Kienle, H., Litiou, M., Müller, H., Pezzè, M., Shaw, M.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science Hot Topics, vol. 5525 (2009)

    Google Scholar 

  33. Dobson, S., Denazis, S., Fernández, A., Gaïti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., Zambonelli, F.: A survey of autonomic communications. ACM Transactions Autonomous Adaptive Systems (TAAS) 1(2), 223–259 (2006)

    CrossRef  Google Scholar 

  34. Burns, R.: Advanced Control Engineering. Butterworth-Heinemann (2001)

    Google Scholar 

  35. Dorf, R.C., Bishop, R.H.: Modern Control Systems, 10th edn. Prentice-Hall, Englewood Cliffs (2005)

    MATH  Google Scholar 

  36. Perrow, C.: Normal Accidents: Living with High-Risk Technologies. Princeton University Press, Princeton (1999)

    Google Scholar 

  37. Söderström, T., Stoica, P.: System Identification. Prentice-Hall, Englewood Cliffs (1988)

    MATH  Google Scholar 

  38. Schloss Dagstuhl Seminar 08031 Wadern, Germany: Software Engineering for Self-Adaptive Systems (2008), http://www.dagstuhl.de/08031/

  39. Liu, Y., Cukic, B., Fuller, E., Yerramalla, S., Gururajan, S.: Monitoring techniques for an online neuro-adaptive controller. Journal of Systems and Software (JSS) 79(11), 1527–1540 (2006)

    CrossRef  Google Scholar 

  40. Burmester, S., Giese, H., Münch, E., Oberschelp, O., Klein, F., Scheideler, P.: Tool support for the design of self-optimizing mechatronic multi-agent systems. International Journal on Software Tools for Technology Transfer (STTT) 10 (2008) (to appear)

    Google Scholar 

  41. Weyns, D.: An architecture-centric approach for software engineering with situated multiagent systems. PhD thesis, Department of Computer Science, K.U. Leuven, Leuven, Belgium (2006)

    Google Scholar 

  42. Garlan, D., Cheng, S.W., Schmerl, B.: Increasing system dependability through architecture-based self-repair. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677. Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  43. Müller, H.A., Pezzè, M., Shaw, M.: Visibility of control in adaptive systems. In: Second International Workshop on Ultra-Large-Scale Software-Intensive Systems (ULSSIS 2008), ICSE 2008 Workshop (2008)

    Google Scholar 

  44. Brun, Y., Medvidovic, N.: An architectural style for solving computationally intensive problems on large networks. In: Proceedings of Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2007), Minneapolis, MN, USA (2007)

    Google Scholar 

  45. Brun, Y., Medvidovic, N.: Fault and adversary tolerance as an emergent property of distributed systems’ software architectures. In: Proceedings of the 2nd International Workshop on Engineering Fault Tolerant Systems (EFTS 2007), Dubrovnik, Croatia, pp. 38–43 (2007)

    Google Scholar 

  46. Di Marzo Serugendo, G., Fitzgerald, J., Romanovsky, A., Guelfi, N.: Metaself - a framework for designing and controlling self-adaptive and self-organising systems. Technical Report BBKCS-08-08, School of Computer Science and Information Systems, Birkbeck College, London, UK (2008)

    Google Scholar 

  47. Cheng, S.W., Garlan, D., Schmerl, B.: Making self-adaptation an engineering reality. In: Babaoğlu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.) SELF-STAR 2004. LNCS, vol. 3460, pp. 158–173. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  48. Shaw, M.: Beyond objects. ACM SIGSOFT Software Engineering Notes (SEN) 20(1), 27–38 (1995)

    CrossRef  Google Scholar 

  49. Babaoglu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A.P.A.: The self-star vision. In: Babaoglu, O., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A. (eds.) SELF-STAR 2004. LNCS, vol. 3460, pp. 1–20. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  50. Inverardi, P., Tivoli, M.: The future of software: Adaptation and dependability. In: ISSSE 2008, pp. 1–31 (2008)

    Google Scholar 

  51. Sama, M., Rosenblum, D., Wang, Z., Elbaum, S.: Model-based fault detection in context-aware adaptive applications. In: International Symposium on Foundations of Software Engineering (2008)

    Google Scholar 

  52. Liu, Y., Cukic, B., Gururajan, S.: Validating neural network-based online adaptive systems: A case study. Software Quality Journal 15(3), 309–326 (2007)

    CrossRef  Google Scholar 

  53. Hageman, J.J., Smith, M.S., Stachowiak, S.: Integration of online parameter identification and neural network for in-flight adaptive control. Technical Report NASA/TM-2003-212028, NASA (2003)

    Google Scholar 

  54. Kaner, C.: Software liability. Software QA 4 (1997)

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Cheng, B.H.C. et al. (2009). 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. Lecture Notes in Computer Science, vol 5525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02161-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02161-9_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02160-2

  • Online ISBN: 978-3-642-02161-9

  • eBook Packages: Computer ScienceComputer Science (R0)