Activities per year
Abstract
Self-adaptive systems (SAS) change their architecture or behavior depending on the (re)configuration plans to answer the environmental context. Moreover, the (re)configurations process may also negatively affect the system’s architectural qualities because this process combines different architectural fragments or solutions via feature binding/unbinding at runtime. Thus, Architectural Bad Smells (ABS) may emerge, implying reduced system maintainability. Also, it indicates possible design and implementation issues and helps improve the system’s quality. But, ABS is less studied in SAS. However, these studies do not analyze the impact of runtime variability on smell detection and evolution as the SAS adapts. We extend our previous work to employ the Behavioral Map to analyze the ABS in SAS at runtime. In particular, we presented the feature identification process employed to instrument the source code of the SASs to detect ABS at runtime. We targeted for Cyclic Dependency (CD), Extraneous Connector (EC), Hub-Like Dependency (HL), and Oppressed Monitor (OM) ABS in multiple runtime adaptations in the SHE [8], Adasim [9], and mRUBiS [10] systems developed in Java. Our results suggest that some ABS appear only in a specific system configuration or architecture. For instance, the EC and OM smell appear in publish-subscribe architecture, as used in SHE. Also, we observed that the type and number of ABS found in the SAS depend on the configuration analyzed at runtime. For instance, in Adasim, the BM found 9 CD and 3 HL smells in the first adaptation, but the BM found 6 CD smells in the second adaptation. We could explain this variation by binding/unbinding certain runtime features. Thus, the Behavioral Map offers interesting support for assessing the architectural qualities of a given runtime adaptation. However, instrumenting the systems for runtime ABS identification demands expertise and time because the core and variable features are not documented. This paper provides the following contributions: i) A first study to identify ABS for SAS at runtime; ii) Our analysis based on two runtime adaptations of SHE, 40 runtime adaptations of Adasim, and 16 runtime adaptations of mRUBiS, demonstrate that runtime variability affects the type and occurrence of smells found; iii) The results and scripts to process behavioral maps are available in Github.
Original language | English |
---|---|
Number of pages | 2 |
Publication status | Published - Jun 2022 |
Event | Conférence francophone sur les Architectures Logicielles (CAL): 13ème édition de la Conférence francophone sur les Architectures Logicielles (CAL) - Université Bretagne Sud, Vannes, France Duration: 7 Jun 2022 → 10 Jun 2022 https://www.redcad.org/events/cal2022/index.html |
Conference
Conference | Conférence francophone sur les Architectures Logicielles (CAL) |
---|---|
Abbreviated title | CAL |
Country/Territory | France |
City | Vannes |
Period | 7/06/22 → 10/06/22 |
Internet address |
Keywords
- Architectural Smells
- Dynamic Software Product Lines
- Runtime Validation
- Self-adaptive Systems
- Behavioral Maps
Fingerprint
Dive into the research topics of 'Identifying Architectural Smells in Self-Adaptive Systems at Runtime'. Together they form a unique fingerprint.-
Abstract: Identifying Architectural Smells in Self-Adaptive Systems at Runtime
Lima dos Santos, E. (Speaker)
8 Jun 2022Activity: Talk or presentation types › Oral presentation
-
Conférence francophone sur les Architectures Logicielles (CAL)
Lima dos Santos, E. (Contributor)
7 Jun 2022 → 10 Jun 2022Activity: Participating in or organising an event types › Participation in conference