Weitere Kapitel dieses Buchs durch Wischen aufrufen
Software adaptation is at the heart of autonomic computing. Indeed self-management cannot be reached without the ability to modify the structure and behaviour of a system. Unfortunately, software adaptation remains a particularly complex task. It requires changing low-level code, an act that is often complicated and intricate. Side effects that succeed an update are difficult to anticipate and to fix. An additional challenge specific to autonomic computing is that the code to be modified has already been run or is currently executing, meaning that computational state has to be identified and preserved.
The purpose of this chapter is to define precisely the notion of software adaptation and discuss the related challenges. It is also to present a set of techniques that can be used to implement self-managed software systems. As we will see, adaptation can be realised at different levels of abstraction, and very diverse approaches can be implemented. This diversity of technique is welcome. As said in previous chapters, a self-managed system is made of a number of collaborating autonomic elements with different requirements in terms of reactivity, scope, precision, etc. Different, complementary approaches are needed to meet these demands.
In this chapter, we will focus on techniques allowing dynamic updates. Indeed, more and more, users require updates to be dynamic, at runtime, as downtime is not an option; service interruption can be very costly and has to be avoided as much as possible. This is especially true for critical systems that may have to be updated tens or hundreds of times every year and that cannot be stopped that often.
Bitte loggen Sie sich ein, um Zugang zu diesem Inhalt zu erhalten
Sie möchten Zugang zu diesem Inhalt erhalten? Dann informieren Sie sich jetzt über unsere Produkte:
Lin, D.-L., Neamtiu, L.: Collateral evolution of applications and databases. In: ERCIM Workshop on Software Evolution/International Workshop on Principles of Software Evolution (IWPSE-Evol'09), Amsterdam, Aug 2009
Neamtiu, I.: Practical dynamic software updating. Ph.D. dissertation, University of Maryland, Aug 2008
Kiczales, G.: The Art of Meta-Object Protocol. MIT Press, Cambridge, MA (1991)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison Wesley/Longman Publishing Co., Inc., Boston (1997)
Krakowiak, S.: Middleware architecture with patterns and frameworks http://sardes.inrialpes.fr/~krakowia/MW-Book/ (2007)
Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering, pp. 259–268. IEEE Computer Society, Washington, DC (2007)
Papazoglou, M.: Service-oriented computing: concepts, characteristics and directions. In: Proceedings of Web Information Systems Engineering, Los Alamitos, CA, 2003
Cervantes, H., Hall, R.: Autonomous adaptation to dynamic availability in service-oriented component model. In: Proceedings of the 26th International Conference on Software Engineering, pp. 614–623. IEEE Computer Society, Washington, DC (2004)
Hall, R., Pauls, K., McCulloch, S., Savage, D.: OSGi in Action: Creating Modular Applications in Java. Manning Publications, Greenwich (2011)
Escoffier, C.: iPOJO: a flexible service-oriented component model. Ph.D. dissertation, University Joseph Fourier. http://defense.pdf. Dec 2008
- The Adaptation Function
Julie A. McCann
- Springer London
Neuer Inhalt/© ITandMEDIA