论文部分内容阅读
软件体系结构(software architecture,简称SA)层性能优化可以尽早发现性能问题,并且缓解它们的消极影响。近年来,人们已经提出了基于规则和基于元启发两种SA层自动化性能优化方法。已有的基于规则的方法大多未充分考虑优化过程中各规则的使用次数、使用顺序和改进幅度的不确定性,导致了搜索空间受限而难以获取更优的性能改进方案。而元启发方法在演化优化过程中很少应用性能改进知识,导致了所获取的优化结果难以进行合理解释。针对上述问题,本文提出了一种基于随机搜索规则的SA层性能多目标演化优化方法(performance multi-objective evolutionary optimization at software architecture level based on random search rule,简称RRM04PO)。本文研究内容如下:(1)从部署、结构和行为三种视图定义了一组用于SA层性能改进的随机搜索规则。这些规则通过对SA层性能改进策略的动作部分进行随机化处理,可在保持可解释性的同时,为增大每个规则的性能改进空间提供有效支持。(2)构建了一种基于随机搜索规则的性能优化模型(random search rules based performance optimization model,简称RRPOM)。该模型可精确刻画各规则的使用次数、使用顺序和修改元素与系统响应时间、可用性以及改进成本三个优化目标之间的关系。在权衡可用性和改进成本的基础上,进一步增大了性能改进的搜索空间。(3)设计了 RRPOM 模型的演化优化算法(multi-objective evolutionary algorithm forperformance optimization,简称EA4PO),该算法定义了带约束检查和修复机制的交叉算子和变异算子,可高效地在较大SA设计空间中搜索Pareto最优性能改进方案。(4)将本文方法RRM04PO与典型的基于规则的方法PB和基于元启发的方法PCM在6个不同规模的案例上开展了实验对比研究。实验结果表明:RRM04PO方法在贡献度、世代距离和超体积3个解质量的度量指标上显著性优于PCM方法,并能够输出具有更好可解释性的解;RRM04PO方法较PB方法在使用更少的规则、更少次修改SA、获取更好可解释性的同时,还可有效地降低系统响应时间和改进代价。