Self-Adaptive Systems: A Middleware Managed Approach
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.
KeywordsService Implementation Client Device Adaptable Service Service Mirror Personal Medium Server
Unable to display preview. Download preview PDF.
- 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.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.Capra, L., Emmerich, W., Mascolo, C.: CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications. IEEE Transactions on Software Engineering (2003)Google Scholar
- 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.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
- 9.Georgakopoulos, D., Papazoglou, M.: Service-oriented computing. Communications of the ACM 46(10) (2003)Google Scholar
- 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
- 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.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