软件产品线是提高软件开发效率与质量的有效途径,它以体系结构(SA)为蓝图,定义组成产品线的构件与构件之间相互作用的关系,指导基于构件的应用产品组装实现.现有的基于接口连接式的体系结构仅能描述构件间的直接交互,却无法支持产品线可变性所带来的更为复杂的构件交互情况.因此,本文提出一种扩展方面机制的软件产品线体系结构建模及构件组装实现方法,其核心是一套扩展xADL2.0、结合面向方面机制的软件产品线体系结构描述语言.它能支持基于可变性的产品线体系结构设计与定制,并指导应用产品的构件组装过程.在此方法的基础上,我们开发了原型工具FdSPLC,提供对体系结构的可视化建模以及应用产品的自动化生成.
Abstract
Soft ware product line (SPL) can increase the efficiency and quality of software development.Software architecture (SA),as the blueprint of SPL,defines the inter-relationships between components and guides the component composition implementation.However,the existing interface connection architecture is limited to describe the direct interactions between components.It cannot support the more complex interaction situations which emerge with the SPL variability.In this paper,we propose a method of software product line architecture modeling and component composition implementation with extension of aspectual mechanism.The core is an architecture description language (ADL) which extends xADL210 and combines with aspect-oriented techniques.The ADL supports the design and customization for SPL architecture based on variability,and instructs the component composition process for applications.Furthermore,we have developed a prototype tool FdSPLC which provides the visual modeling of architecture as well as the automatic application derivation.
关键词
软件体系结构 /
构件组装 /
构件交互模式
{{custom_keyword}} /
Key words
software product line development /
software architecture /
component composition /
component interaction style
{{custom_keyword}} /
中图分类号:
TP311
{{custom_clc.code}}
({{custom_clc.text}})
{{custom_sec.title}}
{{custom_sec.title}}
{{custom_sec.content}}
参考文献
[1] Show M,Garlan D.Software architecture:perspectives on an emerging discipline[M].Prentice Hall,1996.
[2] 杨芙清.软件复用及相关技术[J].计算机科学,1999,26(5):1-4.Fu-qing Yang.Software reuse and related technology[J].Computer Science,1999,26(5):1-4.(in Chinese)
[3] Luckham D,Vera J,Meldal S.Three Concepts of System Architecture[R].[Technical Report.CSL-TR-95-674.Stanford University,1995.
[4] 张世琨,张文娟,常欣,王立福,杨芙清.基于软件体系结构的可复用构件制作和组装[J].软件学报,2001,12(9):1351-1359.Shi-kun Zhang,Wen-juan Zhang,Xin Chang,Li-fu Wang,Fuqing Yang.Building and assembling reusable components based On software architecture[J].Journal of Software,2001,12(9):1351-1359.(in Chinese)
[5] Medvidovic N,Taylor R N.A classification and comparison framework for software architecture description languages[J].IEEE Transaction on Software Engineering,2000,26(1):70-93.
[6] Wei Zhang,Hong Mei,Hai-yan Zhao.Feature-driven requirement dependency analysis and high-level software design[J].Requirements Engineering,2006,11(3):205-220,
[7] Eric M Dashofy,Andrévan der Hoek,Richard N Taylor.A comprehensive approach for the development of modular software architecture description languages[J].ACM Transactions on Software Engineering and Methodology(TOSEM),2005,14(2):199-245.
[8] Michalis Anastasopoulos,Dirk Muthig.An evaluation of aspectoriented programming as a product line implementation technology[A].In Proceedings of the International Conference on Software Reuse(ICSR)[C].Springer LNCS 3107,2004,141-156.
[9] Xin Peng,Li-wei Shen,Wen-yun Zhao.Feature implementation modeling based product derivation in software product line[A].In Proceedings of the 10th International Conference on Software Reuse(ICSR)[C].Springer LNCS 5030,2008,142-153.
[10] AspectJ Team.AspectJ Project[OL].http://www,eclipse.org/aspectj/.
[11] GMF(Graphic Modeling Framework)[OL].http://www.eclipse.org/gmf/.
{{custom_fnGroup.title_cn}}
脚注
{{custom_fn.content}}
基金
国家863高技术研究发展计划 (No.2007AA01Z125; No.2006AA01Z189); 国家自然科学基金 (No.60703092)
{{custom_fund}}