%0 Journal Article %T On Designing Self-Adaptive Software Systems %D 2011 %@ 16925238 %U http://www.icesi.edu.co/revistas/index.php/sistemas_telematica/article/view/1076 %X 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. %K AUTOADAPTACIÓN %K MODELO RELACIONAL DE DATOS %K MODELOS %K SOFTWARE AUTODAPTATIVO %K BUCLES DE CONTROL %K PRODUCCIÓN INTELECTUAL REGISTRADA - UNIVERSIDAD ICESI %K SISTEMA & TELEMÁTICA %K FACULTAD DE INGENIERÍA %~ GOEDOC, SUB GOETTINGEN