On Designing Self-Adaptive Software Systems

Authors

  • Norha Milena Villegas Machado University of Victoria, British Columbia
  • Hausi A. Müller University of Victoria, British Columbia
  • Gabriel Tamura Morimitsu Universidad Icesi, Cali

DOI:

https://doi.org/10.18046/syt.v9i18.1076

Keywords:

Self-adaptation, reference models for self-adaptation, self-adaptive software, control loops.

Abstract

Self-adaptive systems modify themselves at run-time in order to control the satisfaction of their requirements under changing environmental conditions. Over the past century, feedback-loops have been used as important models for controlling dynamic behavior of mechanical, electrical, fluid and chemical systems in the corresponding fields of engineering. More recently, they also have been adopted for engineering self-adaptive software systems. However, obtaining sound and explicit mappings consistently between adaptive software architectures and feedback loop elements is still an open challenge. This paper, recalling a reference model proposed previously with that goal, discuss key aspects on the design of adaptive software where feedback loop elements are explicitly defined as first-class components in its software architecture. It complements this discussion with an illustration of the process to use this reference model by applying it to a plausible adaptive software example. This paper aims at providing a reference starting point to support software engineers in the process of designing self-adaptive software systems.

Author Biographies

  • Norha Milena Villegas Machado, University of Victoria, British Columbia

    Ph.D. Candidate under the supervision of Dr. Hausi A. Müller, Department of Computer Science, University of Victoria, Canada. She is a CAS student at the Center for Advanced Studies at the IBM Toronto Laboratory (2010-2011). Her dissertation focuses on the application of dynamic context management to the optimization of self-adaptive software systems. Her research interests include control theory, autonomic computing, dynamic context management, context-awareness, semantic web, and service-oriented systems. Norha Villegas received a Diploma Degree in Systems Engineering and a Graduate Degree in Organizational Informatics Management in 2002 and 2004, from Universidad Icesi, Cali, Colombia.

  • Hausi A. Müller, University of Victoria, British Columbia

    Professor, Department of Computer Science and Associate Dean of Research, Faculty of Engineering at University of Victoria, Canada. He is a Visiting Scientist at the Center for Advanced Studies at the IBM Toronto Laboratory (CAS), CA Canada Inc., and the Carnegie Mellon Software Engineering Institute (SEI). Dr. Müller‘s research interests include software engineering, self-adaptive and self-managing systems, context-aware systems, and service-oriented systems. He serves on the Editorial Board of Software Maintenance and Evolution and Software Process: Improvement and Practice (JSME). He served on the Editorial Board of IEEE Transactions on Software Engineering (TSE) 1994-2000, 2005- 2009). He is Chair of the IEEE Technical Council on Software Engineering (TCSE). Dr. Müller received a Diploma Degree in Electrical Engineering in 1979 from the Swiss Federal Institute of Technology (ETH), Zürich, Switzerland and MSc and PhD degrees in Computer Science in 1984 and 1986 from Rice University in Houston, Texas, USA.

  • Gabriel Tamura Morimitsu, Universidad Icesi, Cali
    PhD student in co-supervision between University of Los Andes, Bogotá, Colombia, and University of Lille 1, Lille, France, and a member of the INRIA-USTL-CNRS team-project ADAM (Adaptive Distributed Applications and Middleware) and the Software Construction Research Group. Gabriel Tamura obtained his M.Sc. degree in Systems and Computing Engineering from Universidad de Los Andes, Bogotá, Colombia, in 1996, and his professional degree in Computing Engineering from Universidad Javeriana, Cali, Colombia. His current research interests include the engineering of context-aware self-adaptive software systems and the evolution of component-based and service-oriented computing.

Downloads

Published

2011-09-30

Issue

Section

Discussion papers