Software architecture optimization aims to enhance non-functional attributes like performance and reliability while meeting functional requirements. Multi-objective optimization employs metaheuristic search techniques, such as genetic algorithms, to explore feasible architectural changes and propose alternatives to designers. However, this resource-intensive process may not always align with practical constraints. This study investigates the impact of designer interactions on multi-objective software architecture optimization. Designers can intervene at intermediate points in the fully automated optimization process, making choices that guide exploration towards more desirable solutions. Through several controlled experiments as well as an initial user study (14 subjects), we compare this interactive approach with a fully automated optimization process, which serves as a baseline. The findings demonstrate that designer interactions lead to a more focused solution space, resulting in improved architectural quality. By directing the search towards regions of interest, the interaction uncovers architectures that remain unexplored in the fully automated process. In the user study, participants found that our interactive approach provides a better trade-off between sufficient exploration of the solution space and the required computation time.
翻译:软件架构优化旨在提升性能与可靠性等非功能性属性,同时满足功能性需求。多目标优化采用元启发式搜索技术(如遗传算法)探索可行的架构变更,并为设计者提供备选方案。然而,这种资源密集型过程可能并不总是符合实际约束条件。本研究探讨了设计者交互对多目标软件架构优化的影响。设计者可在全自动优化过程的中间节点进行干预,通过决策引导搜索方向以获取更理想的解决方案。通过若干对照实验及初步用户研究(14名受试者),我们将这种交互式方法与作为基准的全自动优化流程进行比较。研究结果表明,设计者交互能够产生更聚焦的解空间,从而提升架构质量。通过将搜索导向关注区域,交互过程发现了全自动流程中未被探索的架构方案。在用户研究中,参与者认为我们的交互式方法能在解空间的充分探索与所需计算时间之间实现更优的权衡。