Self-Adaptive Systems: A Middleware Managed Approach

  • Eli Gjørven
  • Frank Eliassen
  • Ketil Lund
  • Viktor S. Wold Eide
  • Richard Staehli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3996)


Recent works on self-adaptivity use a middleware-based approach where the adaptation mechanisms and meta-level information are separated and externalized from the application code. Current solutions generally target individual life-cycle phases of an application in isolation, preventing easy integration of design-time and run-time adaptability. Integration is needed in order to support the introduction of new adaptive behavior during run-time. Self-adapting systems therefore need to support both planning, instantiation and maintenance of applications throughout their life-time.

In this paper we propose middleware managed adaptation, in which services are specified by their behavior, and planned, instantiated and maintained by middleware services in such a way that the behavioral requirements are satisfied throughout the service life-time. Central to this approach is mirror-based reflection, which supports introspection and intercession on an application, or any service, through all the phases of its life-cycle, including pre-runtime. The mirror of a service may contain information about its implementation, including the developer’s knowledge about how this implementation will perform in different contexts. By making this knowledge available to the middleware, we facilitate the implementation of a wide range of self-adaptive behaviors.


Service Implementation Client Device Adaptable Service Service Mirror Personal Medium Server 
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.
    Amundsen, S.L., Eliassen, F.: Combined Resource and Context Model for QoS-aware Mobile Middleware. In: Grass, W., Sick, B., Waldschmidt, K. (eds.) ARCS 2006. LNCS, vol. 3894, pp. 84–98. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Blair, G.S., Coulson, G., Andersen, A., Blair, L., Clarke, M., Costa, F., Duran-Limon, H., Fitzpatrick, T., Johnston, L., Moreira, R., Parlavantzas, N., Saikoski, K.: The Design and Implementation of Open ORB 2. IEEE Distributed Systems Online (2001)Google Scholar
  3. 3.
    Bracha, G., Ungar, D.: Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages. In: Proceedings of the 19th Conference on Object-oriented programming, systems, languages, and applications, pp. 331–344. ACM Press, New York (2004)Google Scholar
  4. 4.
    Capra, L., Emmerich, W., Mascolo, C.: CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications. IEEE Transactions on Software Engineering (2003)Google Scholar
  5. 5.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: A Component Model For Building Systems Software. In: Proceedings of Software Engineering and Applications (2004)Google Scholar
  6. 6.
    Wold Eide, V.S., Eliassen, F., Michaelsen, J.A.: Exploiting Content-Based Networking for Fine Granularity Multi-Receiver Video Streaming. In: Chandra, S., Venkatasubramanian, N. (eds.) Proceedings of the Twelfth Annual Multimedia Computing and Networking (MMCN 2005), San Jose, California, USA, vol. 5680, pp. 155–166 (January 2005)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.
    Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for reflective middleware. Commun. ACM 45(6), 33–38 (2002)CrossRefGoogle Scholar
  9. 9.
    Georgakopoulos, D., Papazoglou, M.: Service-oriented computing. Communications of the ACM 46(10) (2003)Google Scholar
  10. 10.
    Maes, P.: Concepts and experiments in computational reflection. In: OOPSLA 1987: Conference proceedings on Object-oriented programming systems, languages and applications, pp. 147–155. ACM Press, New York (1987)Google Scholar
  11. 11.
    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 14(3), 54–62 (1999)CrossRefGoogle Scholar
  12. 12.
    Staehli, R., Eliassen, F.: Compositional Quality of Service Semantics. In: SAVCBS 2004, Workshop at ACM SIGSOFT 2004/FSE-12, October 31–November 1, pp. 62–69 (2004)Google Scholar
  13. 13.
    Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Utility Functions in Autonomic Computing. In: First International Conference on Autonomic Computing (ICAC 2004) (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Eli Gjørven
    • 1
  • Frank Eliassen
    • 1
    • 2
  • Ketil Lund
    • 1
  • Viktor S. Wold Eide
    • 1
  • Richard Staehli
    • 1
  1. 1.Simula Research LaboratoryLysakerNorway
  2. 2.Dept. of InformaticsUniversity of OsloBlindern, OsloNorway

Personalised recommendations