TY - GEN
T1 - Featured Scents: Assessing Architectural Smells for Self-Adaptive Systems at Runtime
AU - Santos, Edilton Lima dos
AU - Schobbens, Pierre Yves
AU - Perrouin, Gilles
PY - 2021/11/9
Y1 - 2021/11/9
N2 - Self-adaptive systems (SAS) change their behavior and structure at runtime to answer the changes in their environment. Such systems combine different architectural fragments or solutions via feature binding/unbinding at runtime. Moreover, this combination may negatively impact the system's architectural qualities, exhibiting architectural bad smells (ABS). These issues are challenging to detect in the code due to the combinatorial explosion of interactions amongst features. Since SAS do not document these features in their source code, design time smell detection ignores them and risks reporting spurious smells. This paper assesses this risk to understand how ABS occur at runtime for different feature combinations. We look for cyclic dependency and hub-like ABS in various runtime adaptations of two SAS, Adasim and mRubis. Our results indicate that architectural smells are feature-dependent and that their number is highly variable from one adaptation to the other. Some ABS appear in all runtime adaptations, some in only a few. We discuss the reasons behind these architectural smells for each system and draw some lessons for targeted analyses of ABS in SAS.
AB - Self-adaptive systems (SAS) change their behavior and structure at runtime to answer the changes in their environment. Such systems combine different architectural fragments or solutions via feature binding/unbinding at runtime. Moreover, this combination may negatively impact the system's architectural qualities, exhibiting architectural bad smells (ABS). These issues are challenging to detect in the code due to the combinatorial explosion of interactions amongst features. Since SAS do not document these features in their source code, design time smell detection ignores them and risks reporting spurious smells. This paper assesses this risk to understand how ABS occur at runtime for different feature combinations. We look for cyclic dependency and hub-like ABS in various runtime adaptations of two SAS, Adasim and mRubis. Our results indicate that architectural smells are feature-dependent and that their number is highly variable from one adaptation to the other. Some ABS appear in all runtime adaptations, some in only a few. We discuss the reasons behind these architectural smells for each system and draw some lessons for targeted analyses of ABS in SAS.
U2 - 10.5281/zenodo.5657046
DO - 10.5281/zenodo.5657046
M3 - Other contribution
ER -