Abstract
Software applications executing in highly dynamic environments are faced with the challenge of frequent and usually unpredictable changes in their execution environment. In order to cope with this challenge effectively, the applications need to adapt to these changes dynamically. CASA (Contract-based Adaptive Software Architecture) provides a framework for enabling dynamic adaptation of applications, in response to changes in their execution environment. One of the principle adaptation mechanisms employed in the CASA framework is dynamic recomposition of application components. In this paper, we discuss implementation issues related to the approach for dynamic recomposition of application components in CASA.
The work presented in this paper was supported (in part) by the National Center of Competence in Research on Mobile Information and Communication Systems (NCCR-MICS), a center supported by the Swiss National Science Foundation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The CASA Project, http://www.ifi.unizh.ch/req/casa/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Gupta, D., Jalote, P., Barua, G.: A Formal Framework for On-line Software Version Change. IEEE Transactions on Software Engineering 22(2) (1996)
Gygax, A.: Studying the Effect of Size and Complexity of Components on the Performance of CASA. Internship Report, IFI, University of Zurich (2004), http://www.ifi.unizh.ch/req/ftp/papers/casa-perf.pdf
Hjalmtysson, G., Gray, R.: Dynamic C++ Classes: A lightweight mechanism to update code in a running program. In: Proc. of USENIX Annual Technical Conference (1998)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Proc. of 11th European Conference on Object-Oriented Programming (1997)
Liu, H., Parashar, M., Hariri, S.: A Component Based Programming Framework for Autonomic Applications. In: Proc. of 1st International Conference on Autonomic Computing (2004)
Malabarba, S., Pandey, R., Gragg, J., Barr, E., Barnes, J.F.: Runtime Support for Type-Safe Dynamic Java Classes. In: Proc. of 14th European Conference on Object- Oriented Programming (2000)
Meyer, B.: Applying “Design by Contract”. IEEE Computer 25(10) (1992)
Mukhija, A., Glinz, M.: A Framework for Dynamically Adaptive Applications in a Self-organized Mobile Network Environment. In: Proc. of ICDCS 2004 Workshop on Distributed Auto-adaptive and Reconfigurable Systems (2004)
Noble, B.D., Satyanarayanan, M., Narayanan, D., Tilton, J.E., Flinn, J., Walker, K.R.: Agile Application-Aware Adaptation for Mobility. In: Proc. of 16th ACM Symposium on Operating Systems Principles (1997)
Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-Based Runtime Software Evolution. In: Proc. of 20th International Conference on Software Engineering (1998)
Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: Proc. of 1st International Conference on Aspect-Oriented Software Development (2002)
Rasche, A., Polze, A.: Configuration and Dynamic Reconfiguration of Component-based Applications with Microsoft.NET. In: Proc. of 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (2003)
Zinky, J.A., Bakken, D.E., Schantz, R.E.: Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Object Systems 3(1) (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mukhija, A., Glinz, M. (2005). Runtime Adaptation of Applications Through Dynamic Recomposition of Components. In: Beigl, M., Lukowicz, P. (eds) Systems Aspects in Organic and Pervasive Computing - ARCS 2005. ARCS 2005. Lecture Notes in Computer Science, vol 3432. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31967-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-31967-2_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25273-3
Online ISBN: 978-3-540-31967-2
eBook Packages: Computer ScienceComputer Science (R0)