cs.SE
Towards Bridging the Gap between Control and Self Adaptive System Properties. Two of the main paradigms used to build adaptive software employ different types of properties to capture relevant aspects of the system's run time behavior. On the one hand, control systems consider properties that concern static aspects like stability, as well as dynamic properties that capture the transient evolution of variables such as settling time. On the other hand, self adaptive systems consider mostly non functional properties that capture concerns such as performance, reliability, and cost. In general, it is not easy to reconcile these two types of properties or identify under which conditions they constitute a good fit to provide run time guarantees. There is a need of identifying the key properties in the areas of control and self adaptation, as well as of characterizing and mapping them to better understand how they relate and possibly complement each other. In this paper, we take a first step to tackle this problem by (1) identifying a set of key properties in control theory, (2) illustrating the formalization of some of these properties employing temporal logic languages commonly used to engineer self adaptive software systems, and (3) illustrating how to map key properties that characterize self adaptive software systems into control properties, leveraging their formalization in temporal logics. We illustrate the different steps of the mapping on an exemplar case in the cloud computing domain and conclude with identifying open challenges in the area.