SCIENTIA SINICA Informationis, Volume 44, Issue 5: 564-587(2014) https://doi.org/10.1360/N112013-00042

ABC:a method of software architecture modeling in the whole lifecycle

More info
  • AcceptedMar 4, 2014
  • PublishedMay 12, 2014


With the continually-increasing capability of computer hardware and scale of computer software, the complexity of software is also continually increasing, and has manifest itself as one of the key factors that limit the significant improvement of software quality and productivity. The structural complexity, especially the high-level structural complexity, is considered as the most important complexity of a software system. How to control the high-level structural complexity in efficient and effective ways has become a critical issue for large-scale software development in the Internet computing environment, which is open, dynamic and constantly changing. To resolve this problem, this article extends the software architecture (SA) models-a kind of model aiming to control the high-level structural complexity on software designing-into the whole software lifecycle, and proposes an SA centric software development method, called ABC. The ABC method unifies the core artifacts in different software lifecycle phases into different kinds of SA models, and then the core activities of software development, deployment, maintenance and evolution are performed as the continual refinement, mapping, and transformation to these different kinds of SA models. In particular, this article aims to give a systematic introduction to the ABC method, and present some latest research outputs in collaborative feature modeling, runtime SA generation, and SA recovering.


[1] Mens T. On the complexity of software systems. IEEE Computer, 2012, 45: 79-81. Google Scholar

[2] Brooks F. The Mythical Man-Month. Anniversary ed. Reading: Addison-Wesley, 1995. Google Scholar

[3] Mei H, Shen J R. Progress of research on software architecture. J Softw, 2006, 17: 1257-1275 [梅宏, 申峻嵘. 软件体系 结构研究进展. 软件学报, 2006, 17: 1257-1275]. Google Scholar

[4] Brooks F. No silver bullet: Essence and accidents of software engineering. IEEE Computer, 1987, 20: 10-19. Google Scholar

[5] Mei H. A complementary approach to requirements engineering - software architecture orientation. ACM SIGSOFT Softw Engin Note, 2000, 25: 40-45. Google Scholar

[6] Mei H, Chen F, Feng Y D, et al. ABC: An architecture based, component oriented approach to software development. J Softw, 2003, 14: 721-732 [梅宏, 陈锋, 冯耀东, 等. ABC: 基于软件体系结构、面向构件的软件开发方法. 软件学报, 2003, 14: 721-732]. Google Scholar

[7] Mei H, Huang G, Zhao H, et al. A software architecture centric development method for Internetware. Sci China Ser-F Inf Sci, 2006, 49: 702-730 [梅宏, 黄罡, 赵海燕, 等. 一种以软件体系结构为中心的网构软件开发方法. 中国科学E 辑: 信息 科学, 2006, 36: 1100-1126]. Google Scholar

[8] Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requir Eng, 2006, 11: 205-220. Google Scholar

[9] Zhang W, Mei H, Zhao H. A Feature-oriented approach to modeling requirements dependencies. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering. Washington: IEEE Computer Society, 2005. 273-284. Google Scholar

[10] Mei H, Zhang W, Gu F. A feature-oriented approach to modeling and reusing requirements of software product lines. In: Proceedings of the 27th Annual International Conference on Computer Software and Applications (COMPSAC). Washington: IEEE Computer Society, 2003. Google Scholar

[11] Zhang W, Zhao H, Mei H. A propositional logic based method for veri cation of feature models. In: Davies J, Schulte W, Barnett M, eds. In: ICFEM, 2004. LNCS, vol. 3308. Heidelberg: Springer, 2004. 115-130. Google Scholar

[12] Yan H, Zhang W, Zhao H, et al. An optimization strategy to feature models' veri cation by eliminating veri cation- irrelevant features and constraints. In: Edwards S H, Kulczycki G, eds. Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering (ICSR). Berlin/Heidelberg: Springer-Verlag, 2009. 65-75. Google Scholar

[13] Zhang W, Mei H, Zhao H, et al. Transformation from CIM to PIM: A feature-oriented component-based approach. In: Briand L, Williams C, eds. Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems (MoDELS). Berlin/Heidelberg: Springer-Verlag, 2005. 248-263. Google Scholar

[14] Zhou L, Chen X P, Huang G, et al. Negotiation-enabled modeling and veri cation of architectural behavior of Inter- netware. J Softw, 2008, 19: 1099-1112 [周立, 陈湘萍, 黄罡, 等. 支持协商的网构软件体系结构行为建模与验证. 软件学报, 2008, 19: 1099-1112]. Google Scholar

[15] Cui X F, Sun Y C, Mei H. A decision-centric software architecture design method. J Softw, 2010, (06): 1196-1208 [崔 晓峰, 孙艳春, 梅宏. 以决策为中心的软件体系结构设计方法. 软件学报, 2010, (06): 1196-1208]. Google Scholar

[16] Huang G, Liu X Z, Mei H. Online approach to feature interaction problems in middleware based system. Sci China Ser-F inf Sci, 2008, 51: 225-239 [黄罡, 刘譞哲, 梅宏. 基于中间件的软件系统特征交互问题在线检测与消除. 中国科学E 辑: 信息科学, 2007, 37: 1235-1247]. Google Scholar

[17] Lan L, Huang G, Ma L Y, et al. Architecture based deployment of large-scale component based system: the tool and principles. In: Proceedings of the 8th International Symposium on Component-based Software Engineering (CBSE). St. Louis, 2005. 123-138. Google Scholar

[18] Lehman M. Programs, life cycles, and laws of software evolution. Proc IEEE, 1980, 68: 1060-1076. Google Scholar

[19] Huang G, Mei H, Yang F Q. Runtime software architecture based on re ective middleware. Sci China Ser-F Inf Sci, 2004, 47: 555-576 [黄罡, 梅宏, 杨芙清. 基于反射式软件中间件的运行时软件体系结构. 中国科学E 辑: 信息科学, 2004, 34: 121-138]. Google Scholar

[20] Mei H, Huang G, Lan L, et al. A software architecture centric self-adaptation approach for Internetware. Sci China Ser-F Inf Sci, 2008, 51: 901-920 [梅宏, 黄罡, 兰灵, 等. 基于体系结构的网构软件自适应方法. 中国科学E 辑: 信息科学, 2008, 38: 901-920]. Google Scholar

[21] Chen X P, Huang G, Sun Y C, et al. A software architecture Model supporting analysis and planning in self-adaptation. J Comput Res Dev, 2010, (07): 1156-1165 [陈湘萍, 黄罡, 孙艳春, 等. 支持自适应过程中分析与规划的软件体系结构模型. 计算机研究与发展, 2010, (07): 1156-1165]. Google Scholar

[22] 吕建, 马晓星, 陶先平, 等. 网构软件的研究与进展. 中国科学E 辑: 信息科学, 2006, 36: 1037-1080. Google Scholar

[23] Mei H, Huang G, Xie T. Internetware: A software paradigm for Internet computing. Computer, 2012, 45: 26-31. Google Scholar

[24] Theraulaz G, Bonbeau E. A brief history of stigmergy. Artif Life, 1999, 5: 97-116. Google Scholar

[25] Zhang W, Yi L, Zhao H, et al. Feature-oriented stigmergy-based collaborative requirements modeling: An exploratory approach for requirements elicitation and evolution based on web-enabled collective intelligence. Sci China Inf Sci, 2013, 56: 082108(18). Google Scholar

[26] Oreizy P, Medvidovic N, Taylor R N. Architecture-based runtime software evolution. In: Proceeding of International Conference on Software Engineering, 1998. 177-186. Google Scholar

[27] Garlan D, Cheng S, Huang A, et al. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Com- puter, 2004, 37: 46-54. Google Scholar

[28] Huang G, Mei H, Yang F. Runtime recovery and manipulation of software architecture of component-based systems. Autom Softw Eng, 2006, 13: 257-281. Google Scholar

[29] Blair G, Bencomo N, France R. Models@run.time. Computer, 2009, 42: 22-27. Google Scholar

[30] Huang G, Song H, Mei H. SM@RT: Applying architecture-based runtime Management of Internetware systems. Int J Softw Inform, 2009, 3: 439-464. Google Scholar

[31] Song H, Huang G, Chauvel F, et al. Supporting runtime software architecture: A bidirectional-transformation based Approach. J Syst Softw, 2011, 84: 711-723. Google Scholar

[32] Song H, Huang G, Xiong Y F, et al. Inferring meta-models for runtime system data from the clients of management APIs. In: Model Driven Engineering Languages and Systems. LNCS 6395. Berlin/Heidelberg: Springer, 2010. 168-182. Google Scholar

[33] Mei H, Wang Q X, Zhang L, et al. Software analysis: A road map. Chinese J Comput, 2009, 32: 1697-1710 [梅宏, 王千祥, 张路, 等. 软件分析技术进展. 计算机学报, 2009, 32: 1697-1710]. Google Scholar

[34] Luo J, Zhao W, Qin T, et al. A decomposition method for object-oriented systems based on iterative analysis of the directed weighted graph. J Softw, 2004, 15: 1292-1300 [罗景, 赵伟, 秦涛, 等. 一种基于有向带权图迭代的面向对象系统分 解方法. 软件学报, 2004, 15: 1292-1300]. Google Scholar

[35] Zhang L, Luo J, Li H, et al. A biting-down approach to hierarchical decomposition of object-oriented systems based on structure analysis. J Softw Mainten Evol Res Pract, 2010, 22: 567-596. Google Scholar

[36] Zhong H, Xie T, Zhang L, et al. MAPO: Mining and recommending API usage patterns. In: Proceedings of 23rd European Conference on Object-Oriented Programming (ECOOP), 2009. 318-343. Google Scholar

[37] Zhong H, Zhang L, Xie T, et al. Inferring resource specifications from natural language API documentation. In: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering, 2009. 307-318. Google Scholar

[38] Zhong H, Thummalapanta S, Xie T, et al. Mining API mapping for language migration. In: Proceedings of 32nd International Conference on Software Engineering (ICSE), 2010. 195-204. Google Scholar

[39] Meng S, Wang X, Zhang L, et al. A history-based matching approach to identification of framework evolution. In: Proceedings of 34th International Conference on Software Engineering (ICSE), 2012. 353-363. Google Scholar

[40] Zhao W, Zhang L, Liu Y, et al. SNIAFL: Towards a static noninteractive approach to feature location. ACM Trans Softw Engin Method, 2006, 15: 195-226. Google Scholar

[41] Zhao W, Zhang L, Sun J, et al. An objective-oriented approach to program comprehension using multiple information sources. Sci China Ser-F Inf Sci, 2008, 51: 825-847. Google Scholar

[42] Wang X, Zhang L, Xie T, et al. An approach to detecting duplicate bug reports using natural language and execution information. In: Proceedings of 30th International Conference on Software Engineering, 2008. 461-470. Google Scholar

Copyright 2020 Science China Press Co., Ltd. 《中国科学》杂志社有限责任公司 版权所有