| 摘要: |
| 面向模式的软件体系结构合成主要包括两个核心活动:(1)将软件职责分配到对象类的职责合成活动;(2)减少体系结构模式约束违背的模式合成活动.但如何从以上两个核心活动生成的候选方案中无冲突地组合出最终的软件体系结构设计方案,是面向模式的软件体系结构合成所面临的挑战.以基于搜索的软件工程技术为框架,提出了基于学习的协作式协同演化方法(CoEA-L),以解决自动化软件体系结构合成中面临的上述问题.CoEA-L使用学习运算子扩展了传统遗传算法中的运算子.在学习运算子中,使用数据挖掘的关联算法自动发现软件职责间的关系,并用于解决面向模式的软件体系结构合成中的冲突问题.实验结果表明,该方法能够有效地消解面向模式的软件体系结构合成中产生的冲突. |
| 关键词: 面向模式的软件体系结构合成 冲突消解 协作式协同演化 基于搜索的软件工程 数据挖掘 |
| DOI:10.13328/j.cnki.jos.005511 |
| 分类号:TP311 |
| 基金项目:国家自然科学基金(61472286) |
|
| Conflict Resolution Approach in Pattern-oriented Software Architectural Synthesis |
|
XU Yong-Rui1,2, LIANG Peng1,2
|
|
1.School of Computer Science, Wuhan University, Wuhan 430072, China;2.State Key Laboratory of Software Engineering(Wuhan University), Wuhan 430072, China
|
| Abstract: |
| There are two core activities in pattern-oriented software architectural synthesis (AS):responsibility synthesis which attempts to assign responsibilities to classes, and pattern synthesis which tries to prevent violations of pattern constraints. One of the major challenges of providing automated support for architectural synthesis is how to compose a final architectural solution from generated solutions of the two activities without inconsistencies. In this study, a learning based cooperative co-evolution approach (CoEA-L) is proposed for automated AS by leveraging search-based software engineering (SBSE) techniques. CoEA-L extends the traditional genetic operator of the genetic algorithm with a learning operator, and employs an association algorithm from data mining in the learning operator to discover the relations between responsibilities. The relations are further used to address the inconsistency issues during pattern-oriented AS. The experiment results show the effectiveness of learning for addressing the inconsistency issues during automated pattern-oriented architectural synthesis. |
| Key words: pattern-oriented architectural synthesis conflict resolution cooperative co-evolution search-based software engineering data mining |