ABSTRACT
The use of handheld networked devices to access information systems by people moving around is spreading rapidly. Systems being used in this way typically face dynamic variation in their operating environment. In order to maintain the usability and usefulness for mobile users, self-adapting systems are needed. Self-adaptation has so far typically been applied only to mission critical systems at considerable additional cost. However, we now need ways to implement such capabilities that are affordable also in everyday systems development.In this paper we propose an approach to building such self-adapting systems where the adaptation is handled by generic middleware. The proposed approach builds on component frameworks and variability engineering to achieve adaptable systems, and property modelling, architectural reflection and context monitoring to support dynamic self-adaptation. We define a set of requirements for affordable self-adaptation and discuss the proposed approach in relation to these requirements.
- Szyperski, C., "Component Software: Beyond Object-Oriented Programming", Addison Wesley, 1997 (2nd ed. 2002, ISBN 0-201-74572-0). Google ScholarDigital Library
- Maes, P., "Concepts and experiments in computational reflection", OOPSLA'87 Proceedings. Google ScholarDigital Library
- Shaw, M. "Everyday Dependability for Everyday Needs". Keynote speech at ISSRE 2002.Google Scholar
- Almeida, J. P. A., Wegdam, M., van Sinderen, M., and Nieuwenhuis, L., "Transparent Dynamic Reconfiguration for CORBA", in Proc. of the 3rd Int. Symposium on Distributed Objects and Applications, 2001, pp. 197-- 207. Google ScholarDigital Library
- Gomaa, H. and Hussein, M., "Dynamic Software Reconfiguration in Software Product Families", in Proc. of the 5th Int. Workshop on Product Family Engineering (PFE), Lecture Notes in Computer Science, Springer-Verlag, 2003.Google Scholar
- Garlan, D. Schmerl, B. "Model-based Adaptation for Self-Healing Systems",. in Proc. of WOSS '02, pp 27--32. ACM, 2002. Google ScholarDigital Library
- Medvidovic, N., and Taylor, R. N., "A classification and Comparison Framework for Software Architecture Description Languages", IEEE Transactions on Software Engineering, 2000, pp. 70--93. Google ScholarDigital Library
- Magee, J., Dulay, N., Eisenbach, S., and Kramer, J., "Specifying Distributed Software Architectures", in Proc. of the Fifth European Software Engineering Conference, 1995. Google ScholarDigital Library
- van Ommering, R., van der Linden, F., Kramer, J., and Magee, J., "The Koala component model for consumer electronics software", IEEE Computer, Vol. 33, Nr. 3, March 2000, PP. 78--85. Google ScholarDigital Library
- OMG, "UML 2.0 Superstructure Specification", Final adopted specification. August 2003.Google Scholar
- OMG, "UML Profile for Modelling Quality of Service and Fault Tolerance Characteristics and Mechanisms", OMG draft adopted specification November 2003.Google Scholar
- Schmidt, D., Stal, M., Rohnert, H. and Buschmann, F. "Pattern-Oriented Software Architecture. Patterns for Concurrent and Networked Objects", John Wiley & Sons, Ltd, 2000. ISBN: 0-471-60695-2. Google ScholarDigital Library
- Hallsteinsen, S., Floch, J. and Stav, E. "A Middleware Centric Approach to Self-adaptation", Software Engineering and Middleware (SEM 2004), Linz, Austria 20--25 September 2004. To be published (LNCS).Google Scholar
- Poladian, V., Sousa, J., P., Garlan, D., and Shaw, M. "Dynamic Configuration of Resource-Aware Services", in Proc. of the 26th Int. Conf. on Software Engineering, 2004. Google ScholarDigital Library
- J. Bosch, "Design & Use of Software Architectures-Adopting and Evolving a Product-Line Approach", Addison Wesley, 2000. ISBN 0-201-67494-7. Google ScholarDigital Library
Recommendations
Dealing with Drift of Adaptation Spaces in Learning-based Self-Adaptive Systems Using Lifelong Self-Adaptation
Recently, machine learning (ML) has become a popular approach to support self-adaptation. ML has been used to deal with several problems in self-adaptation, such as maintaining an up-to-date runtime model under uncertainty and scalable decision-making. ...
Improving context-awareness in self-adaptation using the DYNAMICO reference model
SEAMS '13: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsSelf-adaptation mechanisms modify target systems dynamically to address adaptation goals, which may evolve continuously due to changes in system requirements. These changes affect values and thresholds of observed context variables and monitoring logic,...
Improving architecture-based self-adaptation using preemption
SOAR'09: Proceedings of the First international conference on Self-organizing architecturesOne common approach to self-adaptive systems is to incorporate a control layer that monitors a system, supervisorily detects problems, and applies adaptation strategies to fix problems or improve system behavior. While such approaches have been found to ...
Comments