计算机科学 ›› 2026, Vol. 53 ›› Issue (6A): 250900102-7.doi: 10.11896/jsjkx.250900102

• 计算机软件&体系结构 • 上一篇    下一篇

面向C2风格的软件体系结构演化路径规划研究

钟林辉1, 廖梓辰1, 郑燚1, 屈乔乔1,2, 胡贞1, 李卓宇1, 刘文旋1   

  1. 1 江西师范大学人工智能学院 南昌 330022
    2 南昌交通学院人工智能学院 南昌 330100
  • 出版日期:2026-06-16 发布日期:2026-06-12
  • 通讯作者: 钟林辉(shiningto@jxnu.edu.cn)
  • 基金资助:
    国家自然科学基金(62062039,61966017);江西省自然科学基金(20212BAB202017,20224BAB202013,20212BAB202018);江西师范大学教学改革研究课题(JXSDJG2301,JXSDJG2044)

Research on C2 Style Oriented Software Architecture Evolution Path Planning

ZHONG Linhui1, LIAO Zichen1, ZHENG Yi1, QU Qiaoqiao1,2, HU Zhen1, LI Zhuoyu1, LIU Wenxuan1   

  1. 1 College of Artificial Intelligence,Jiangxi Normal University,Nanchang 330022,China
    2 College of Artificial Intelligence,Nanchang Jiaotong Institute,Nanchang 330100,China
  • Published:2026-06-16 Online:2026-06-12
  • About author:ZHONG Linhui,born in 1974,Ph.D,associate professor,is a member of CCF(No.09972M).His main research interests include software architecture,software evolution and maintenance.
  • Supported by:
    National Natural Science Foundation of China(62062039,61966017),Natural Science Foundation of Jiangxi Pro-vince,China(20212BAB202017,20224BAB202013,20212BAB202018) and Teaching Reform Research Project of Jiangxi Normal University(JXSDJG2301,JXSDJG2044)

摘要: 软件体系结构C2 风格是一种典型的层次化风格,强调软件构件通过连接件等规则进行通讯。将现有的软件系统向C2风格转换,能有效提升系统的灵活性与可扩展性。然而,现有软件系统存在构件直接连接导致的连接件不明确,以及软件系统在演化过程中路径不明确等问题。提出了基于规则的以“核类”为中心的聚类方法,用于识别连接件;进一步设计了一种引入CodeT5语义信息引导变异的改进多目标优化遗传算法,以C2风格距离、模块化质量和演化代价为优化目标,搜索得到更优的C2风格软件体系结构。最后,基于反射模型提取软件系统演化前后软件体系结构的差异,生成PDDL等领域文件,结合PDDL解释器生成演化路径。实验表明,RBCOC方法能够有效识别连接件。CT5NSGA3算法在C2风格体系结构搜索中表现出良好的性能,对比实验还验证了CT5NSGA3算法优于传统NSGA3算法。

关键词: 软件体系结构, C2风格, 遗传算法, PDDL, 演化路径规划

Abstract: The C2 style of software architecture is a typical hierarchical style that emphasizes communication between software components through connectors and other rules.Converting existing software systems to the C2 style can effectively enhance the flexibility and scalability of the system.However,existing software systems face issues such as unclear connectors caused by direct component connections,and ambiguous paths during the evolution of the software system.This paper proposes a rule-based clustering method centered around “core classes” to identify connectors.Utilizing an improved multi-objective optimization genetic algorithm,the CodeT5 model is introduced to guide the mutation process,optimizing the C2 style distance,modular quality,and evolutionary cost,thereby searching for the optimal C2 style software architecture.Finally,based on a reflection model,the diffe-rences in software architecture before and after the evolution of the software system are extracted,generating domain files such as PDDL.Combined with a PDDL interpreter,the evolutionary path is generated.Experiments show that the RBCOC method can effectively identify connectors.The CT5NSGA3 algorithm demonstrates promising performance in the architecture search of C2-style systems.Comparative experiments also verify that the CT5NSGA3 algorithm outperforms the traditional NSGA3 algorithm in several indicators.

Key words: Software architecture, C2 style, Genetic algorithm, PDDL, Evolutionary path planning

中图分类号: 

  • TP311
[1] RONG G P,ZHANG H,SHAO D,et al.A Review of Software Processes and Management Methods[J].Journal of Software,2019,30(1):62-79.
[2] PERRY D E,WOLFA L.Foundations for the study of software architecture[J].ACM SIGSOFT Software Engineering Notes,1992,17(4):40-52.
[3] GARLAN D,SHAW M.Advances in Software Engineering and Knowledge Engineering[M].World Scientific Publishing Company,New Jersey,1993.
[4] ZHONG L H,YANG C Y,XIA Z H,et al.A Style-Oriented Method for Generating Software Architecture Evolution Paths[J].Computer Science,2024,51(S2):776-784.
[5] MAHDAVI K,HARMAN M,HIERONS R M.A multiple hill climbing appro-ach to software module clustering[C]//Procee-dings of the International Conference on Software Maintenance.2003:315-324.
[6] SINGH S,KOZIOLEK A.Automated Reverse Engineering for MoM-based Microservices(ARE4MOM) using static analysis[C]//Proceedings of the 2024 IEEE 21st International Confe-rence on Software Architecture(ICSA).2024:12-22.
[7] KIRSCHNER Y R,GSTÜR M,SAGˇLAM T,et al.Retriever:A view-based approach to reverse engineering software architecture models[J].Journal of Systems and Software,2025,220:112277.
[8] XUE H.Research on Software Architecture Recovery Method Based on Dynamic-Center Hierarchical Clustering[D].Xi'an:Xidian University,2023.
[9] ALLEN R,GARLAN D.A formal basis for architectural connection[J].ACM Transactions on Software Engineering and Methodology(TOSEM),1997,6(3):213-249.
[10] CORTÉS M I,FONTOURA M,DE LUCENA C J P.A rule-based approach to framework evolution[J].Jourance Object Technolgy,2006,5(1):83-103.
[11] PRAJAPATI A.Harmony search-based approach for multi-objective soft-ware architecture reconstruction[J].Mathematics,2020,8(11):1906.
[12] GARLAN D,BARNES J M.Evolution styles:Foundations and tool support for software architecture evolution[C]//Procee-dings of the 2009 Joint Working IEEE/IFIP Conference on Software Architecture(WICSA/ECSA).2009:131-140.
[13] BARNES J M,PANDEY A,GARLAN D.Automated planning for soft-ware architecture evolution[C]//Proceedings of the 2013 28thIEEE/ACM International Conference on Automated Software Engineering(ASE).IEEE,2013:213-223.
[14] YE H T.Research on Recovery of Component-Based Software Evolution History Based on Architecture Reverse Engineering[D].Nanchang:Jiangxi Normal University,2019.
[15] GAMMA E.Design patterns:elements of reusable object-oriented soft-ware[J].1995.24(5):17-24.
[16] LIAO M Y,GUO H Q,ZHANG Y J.An Improved Genetic Algorithm with Integer Encoding[J].Computer Engineering and Applications,2003,39(1):103-105,120.
[17] XUAN R,CHEN L,SHI H H.Reusable Design and Implementation of Graph Algorithms[J].Journal of Jiangxi Normal University(Natural Science Edition),2023,47(1):52-60.
[18] ZHONG L H,XIA J,PENG Y,et al.Research on a Graph-Edit-Distance-Based Metric for Software Architecture Changeability and Its Application[J]. Journal of Chinese Computer Systems,2018,39(3):425-432.
[19] LI Z H,ZHU L.Principles and Practice of Software Engineering[M].Nanjing:Nanjing University Press,2020:252.
[20] WANG L P,REN Y,QIU Q C,et al.A Survey of Performance Evaluation Indicators for Multi-Objective Evolutionary Algorithms[J].Chinese Journal of Computers,2021,44(8):1590-1619.
[21] ZHONG L H,QI J,YE H T,et al.Research on a Software Evolution Style Matching Method Based on a Multidimensional Attribute Evolution Tree[J].Journal of Jiangxi Normal University(Natural Science Edition),2021,45(1):55-59.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!