当前位置: X-MOL 学术Software Qual. J. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A preliminary analysis of self-adaptive systems according to different issues
Software Quality Journal ( IF 1.7 ) Pub Date : 2020-03-13 , DOI: 10.1007/s11219-020-09502-5
Claudia Raibulet , Francesca Arcelli Fontana , Simone Carettoni

Self-adaptive systems dynamically change their structure and behavior in response to changes in their execution environment to ensure the quality of the services they provide. Self-adaptive systems are usually built of a managed part, which implements their functionality, and a managing part, which implements the self-adaptive mechanisms. Hence, the complexity of self-adaptive systems results also from the existence of the managing part and the interaction between the managed and the managing parts. The available evaluation approaches of self-adaptive systems focus on their performances, i.e., on the benefits (e.g., degree of autonomy, support for detecting anomalous behavior, adaptivity time, quality of response) achieved through the self-adaptive mechanisms of the managing part. In this paper, we evaluate the quality of the design of self-adaptive systems (including the managed and the managing parts) as it is done in traditional software engineering. We are interested in the internal software quality of self-adaptive systems, as the existence of the managing part and its interaction with the managed part leads to a tightly coupled system. We analyze the self-adaptive systems through the detection of different issues such as architectural and code smells and the detection of design patterns. The smells provide some hints on possible design and implementation problems, and help software engineers to improve the quality of the systems. While, design patterns are usually indicators of the application of good practices in the software development and allow to capture part of the design rationale. In this way, they can help software engineers to understand, reuse, and extend self-adaptive systems. In this paper, we have considered the detection of 3 architectural smells, 18 code smells, and 15 design patterns in 11 self-adaptive systems written in the Java programming language. The results indicate that the 3 architectural smells, 9 out of the 18 code smells, and the 15 design patterns have been detected in all the analyzed self-adaptive systems. We also discuss the possible reasons behind the presence of these quality issues, and provide our lessons learned.

中文翻译:

针对不同问题的自适应系统初步分析

自适应系统会根据执行环境的变化动态地改变其结构和行为,以确保其提供的服务质量。自适应系统通常由实现其功能的管理部分和实现自适应机制的管理部分构成。因此,自适应系统的复杂性也源于管理部分的存在以及被管理部分和管理部分之间的相互作用。自适应系统的可用评估方法侧重于它们的性能,即通过管理部分的自适应机制实现的收益(例如,自主程度、对检测异常行为的支持、适应时间、响应质量) . 在本文中,我们评估自适应系统(包括管理和管理部分)的设计质量,就像在传统软件工程中所做的那样。我们对自适应系统的内部软件质量感兴趣,因为管理部分的存在及其与被管理部分的交互导致了一个紧密耦合的系统。我们通过检测不同的问题(如架构和代码异味以及设计模式检测)来分析自适应系统。这些气味为可能的设计和实现问题提供了一些提示,并帮助软件工程师提高系统质量。同时,设计模式通常是软件开发中良好实践应用的指标,并允许捕获部分设计原理。这样,它们可以帮助软件工程师理解、重用和扩展自适应系统。在本文中,我们考虑了在用 Java 编程语言编写的 11 个自适应系统中检测 3 种架构气味、18 种代码气味和 15 种设计模式。结果表明,在所有分析的自适应系统中都检测到了 3 种架构异味、18 种代码异味中的 9 种和 15 种设计模式。我们还讨论了存在这些质量问题的可能原因,并提供了我们的经验教训。18 种代码异味中的 9 种,并且在所有分析的自适应系统中都检测到了 15 种设计模式。我们还讨论了存在这些质量问题的可能原因,并提供了我们的经验教训。18 种代码异味中的 9 种,并且在所有分析的自适应系统中都检测到了 15 种设计模式。我们还讨论了存在这些质量问题的可能原因,并提供了我们的经验教训。
更新日期:2020-03-13
down
wechat
bug