Software Engineering for Self-Adaptive Systems: A Research Roadmap

  • Betty H. C. Cheng
  • Rogério de Lemos
  • Holger Giese
  • Paola Inverardi
  • Jeff Magee
  • Jesper Andersson
  • Basil Becker
  • Nelly Bencomo
  • Yuriy Brun
  • Bojan Cukic
  • Giovanna Di Marzo Serugendo
  • Schahram Dustdar
  • Anthony Finkelstein
  • Cristina Gacek
  • Kurt Geihs
  • Vincenzo Grassi
  • Gabor Karsai
  • Holger M. Kienle
  • Jeff Kramer
  • Marin Litoiu
  • Sam Malek
  • Raffaela Mirandola
  • Hausi A. Müller
  • Sooyong Park
  • Mary Shaw
  • Matthias Tichy
  • Massimo Tivoli
  • Danny Weyns
  • Jon Whittle
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

References

  1. 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. 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)CrossRefGoogle Scholar
  3. 3.
    Seetharaman, G., Lakhotia, A., Blasch, E.P.: Unmanned Vehicles Come of Age: The DARPA Grand Challenge. Computer 39, 26–29 (2006)CrossRefGoogle Scholar
  4. 4.
    Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Object Technology 7, 125–151 (2008)CrossRefGoogle Scholar
  5. 5.
    Jackson, M.: The meaning of requirements. Annals of Software Engineering 3, 5–21 (1997)CrossRefGoogle Scholar
  6. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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. 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. 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. 16.
    Harel, D., Marelly, R.: Come Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2005)Google Scholar
  17. 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. 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. 19.
    Sabetzadeh, M., Easterbrook, S.: View merging in the presence of incompleteness and inconsistency. Requirements Engineering Journal 11, 174–193 (2006)CrossRefGoogle Scholar
  20. 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. 21.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.: A language for self-adaptive system requirement. In: SOCCER Workshop (2008)Google Scholar
  22. 22.
    Finkelstein, A.: Requirements reflection. Dagstuhl Presentation (2008)Google Scholar
  23. 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. 24.
    Robinson, W.N.: Monitoring web service requirements. In: Proceedings of International Requirements Engineering Conference (RE 2003), pp. 65–74 (2003)Google Scholar
  25. 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. 26.
    Maes, P.: Computional reflection. PhD thesis, Vrije Universiteit (1987)Google Scholar
  27. 27.
    Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for reflective middleware. Communications of the ACM 45, 33–38 (2002)CrossRefGoogle Scholar
  28. 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. 29.
    Robinson, W.: A requirements monitoring framework for enterprise systems. Requirements Engineering 11, 17–24 (2006)Google Scholar
  30. 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. 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. 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. 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)CrossRefGoogle Scholar
  34. 34.
    Burns, R.: Advanced Control Engineering. Butterworth-Heinemann (2001)Google Scholar
  35. 35.
    Dorf, R.C., Bishop, R.H.: Modern Control Systems, 10th edn. Prentice-Hall, Englewood Cliffs (2005)MATHGoogle Scholar
  36. 36.
    Perrow, C.: Normal Accidents: Living with High-Risk Technologies. Princeton University Press, Princeton (1999)Google Scholar
  37. 37.
    Söderström, T., Stoica, P.: System Identification. Prentice-Hall, Englewood Cliffs (1988)MATHGoogle Scholar
  38. 38.
    Schloss Dagstuhl Seminar 08031 Wadern, Germany: Software Engineering for Self-Adaptive Systems (2008), http://www.dagstuhl.de/08031/
  39. 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)CrossRefGoogle Scholar
  40. 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. 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. 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)CrossRefGoogle Scholar
  43. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  48. 48.
    Shaw, M.: Beyond objects. ACM SIGSOFT Software Engineering Notes (SEN) 20(1), 27–38 (1995)CrossRefGoogle Scholar
  49. 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)CrossRefGoogle Scholar
  50. 50.
    Inverardi, P., Tivoli, M.: The future of software: Adaptation and dependability. In: ISSSE 2008, pp. 1–31 (2008)Google Scholar
  51. 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. 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)CrossRefGoogle Scholar
  53. 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. 54.
    Kaner, C.: Software liability. Software QA 4 (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Betty H. C. Cheng
  • Rogério de Lemos
  • Holger Giese
  • Paola Inverardi
  • Jeff Magee
  • Jesper Andersson
  • Basil Becker
  • Nelly Bencomo
  • Yuriy Brun
  • Bojan Cukic
  • Giovanna Di Marzo Serugendo
  • Schahram Dustdar
  • Anthony Finkelstein
  • Cristina Gacek
  • Kurt Geihs
  • Vincenzo Grassi
  • Gabor Karsai
  • Holger M. Kienle
  • Jeff Kramer
  • Marin Litoiu
  • Sam Malek
  • Raffaela Mirandola
  • Hausi A. Müller
  • Sooyong Park
  • Mary Shaw
  • Matthias Tichy
  • Massimo Tivoli
  • Danny Weyns
  • Jon Whittle

There are no affiliations available

Personalised recommendations