Making Self-Adaptation an Engineering Reality

  • Shang-Wen Cheng
  • David Garlan
  • Bradley Schmerl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3460)


In this paper, we envision a world where a software engineer could take an existing software system, specify, for a set of properties of interest, an objective, conditions for change, and strategies for their adaptation and, within a few man weeks, make that system self-adaptive where it was not before. We describe how our approach generalizes to different classes of systems and holds promise for cost-effective, dynamic system self-adaptation to become an engineering reality.


Software Architecture Target System Architectural Model Architectural Style Autonomic Computing 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)CrossRefGoogle Scholar
  3. 3.
    Cheng, S.-W., Garlan, D., Schmerl, B., Sousa, J.P., Spitznagel, B., Steenkiste, P.: Using architectural style as a basis for self-repair. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds.) Software Architecture: System Design, Development, and Maintenance (WICSA-3), Massachusetts, USA, August 25-30, pp. 45–59. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar
  4. 4.
    Cheng, S.-W., Huang, A.-C., Garlan, D., Schmerl, B., Steenkiste, P.: An architecture for coordinating multiple self-management systems. In: Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4), Oslo, Norway, June 11-14 (2004)Google Scholar
  5. 5.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J. (eds.): Documenting Software Architecture: Views and Beyond. The SEI Series in Software Engineering. Pearson Education, Inc., London (2003)Google Scholar
  6. 6.
    Combs, N., Vagel, J.: Adaptive mirroring of system of systems architectures. In: Garlan et al. [14], pp. 96–98Google Scholar
  7. 7.
    Curry, T.W.: Profiling and tracing dynamic library usage via interposition. In: USENIX Summer, pp. 267–278 (1994)Google Scholar
  8. 8.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: Towards architecture-based self-healing systems. In: Garlan et al. [14], pp. 21–26Google Scholar
  9. 9.
    Flinn, J., Park, S.Y., Satyanarayanan, M.: Balancing performance, energy, and quality in pervasive computing. In: Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS 2002), July 02-05, pp. 217–226. IEEE Computer Society Press, Los Alamitos (2002)CrossRefGoogle Scholar
  10. 10.
    Frye, C.: Self-healing systems. Application Development Trends, 29–34 (September 2003)Google Scholar
  11. 11.
    Ganak, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Systems Journal 42(1), 5–18 (2003)CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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, pp. 61–89. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Garlan, D., Kramer, J., Wolf, A. (eds.): Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS 2002), November 18-19. ACM Press, New York (2002)Google Scholar
  15. 15.
    Garlan, D., Schmerl, B., Chang, J.: Using gauges for architecture-based monitoring and adaptation. In: [28]Google Scholar
  16. 16.
    Georgiadis, I., Magee, J., Kramer, J.: Self-organizing software architectures for distributed systems. In: Garlan et al. [14], pp. 33–38Google Scholar
  17. 17.
    Gorlick, M.M., Razouk, R.R.: Using Weaves for software construction and analysis. In: 13th International Conference of Software Engineering, pp. 23–34. IEEE Computer Society Press, Los Alamitos (1991)Google Scholar
  18. 18.
  19. 19.
    Gross, P.N., Gupta, S., Kaiser, G.E., Kc, G.S., Parekh, J.J.: An active events model for systems monitoring. In: [28]Google Scholar
  20. 20.
    Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for reflective middleware. Communications of the ACM 45(6), 33–38 (2002)CrossRefGoogle Scholar
  21. 21.
    Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995)Google Scholar
  22. 22.
    Markl, V., Lohman, G.M., Raman, V.: LEO: An autonomic query optimizer for DB2. IBM Systems Journal 42(1), 98–106 (2003)CrossRefGoogle Scholar
  23. 23.
    Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: Using interceptors to enhance CORBA. IEEE Computer, 62–68 (July 1999)Google Scholar
  24. 24.
    Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: Strongly consistent replication and recovery of fault-tolerant CORBA applications. Journal of Computer System Science and Engineering (Spring 2002)Google Scholar
  25. 25.
    Oreizy, P.: Open Architecture Software: A Flexible Approach to Decentralized Software Evolution. PhD thesis, University of California, Irvine (2000)Google Scholar
  26. 26.
    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-adaptative software. IEEE Intelligent Systems 14(3), 54–62 (1999)CrossRefGoogle Scholar
  27. 27.
    Proceedings of the International Conference on Autonomic Computing, New York, May 17-18 (2004)Google Scholar
  28. 28.
    Proceedings of the Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, December 12-14 (2001)Google Scholar
  29. 29.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  30. 30.
    Valetto, G., Kaiser, G.: A case study in software adaptation. In: Garlan et al. [14], pp. 73–78Google Scholar
  31. 31.
    Wolf, A.L., Heimbigner, D., Carzaniga, A., Anderson, K.M., Ryan, N.: Achieving survivability of complex and dynamic systems with the Willow framework. In: [28]Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Shang-Wen Cheng
    • 1
  • David Garlan
    • 1
  • Bradley Schmerl
    • 1
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations