计算机科学 ›› 2013, Vol. 40 ›› Issue (6): 142-147.

• 软件与数据库技术 • 上一篇    下一篇

面向特征编程中的特征组合失效问题及其解决方法

陈志聃,沈立炜,赵文耘   

  1. 复旦大学计算机科学技术学院 上海201203;复旦大学计算机科学技术学院 上海201203;复旦大学计算机科学技术学院 上海201203
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受国家“八六三”高技术研究发展计划项目(2011AA010101)资助

Feature Composition Failures and its Solution in FOP

CHEN Zhi-dan,SHEN Li-wei and ZHAO Wen-yun   

  • Online:2018-11-16 Published:2018-11-16

摘要: 软件产品线的特征之间存在依赖关系,因此在面向特征编程(FOP)中,特征模块之间在代码结构上存在密切关联。另一方面,具有可变性的特征在应用产品中的绑定与否会对依赖关系的实现造成破坏性的影响,导致FOP在实施过程中可能出现特征组合失效问题。对该问题的产生进行分析,总结出3种主要的依赖场景。另外,提出一种特征模块垂直分解方法,其核心机制在于将可变性引入特征模块内部,根据需求组装实现代码,从而可避免出现组合失效问题。最后,通过一个出版社利润考核系统产品线实例验证了方法的有效性。

关键词: 面向特征编程,软件产品线,特征模块组装,特征依赖

Abstract: There exist dependencies between software product line features,thus the feature modules in feature-oriented programming (FOP) is closely related in the code or structure level.On the other hand,whether the variable features are bound in the applications has destructive impact on the implementation of the feature dependencies,causing the potential problem of feature composition failures during FOP process.This paper analyzed the problem and concluded three main dependency scenarios,besides,proposed a vertical decomposition method for feature modules to solve the problem.Its key mechanism is to introduce variability into the inner part of feature modules,thus the problem can be avoided by composing the codes according to the specific requirements.Furthermore,the method was applied on a software product line of publishing-house profit evaluation systems to validate its effectiveness.

Key words: Feature-oriented programming,Software product line,Feature module composition,Feature dependency

[1] Clements P,Northrop L.Software product Lines:Practices and Patterns[M].张莉,王雷,译.北京:清华大学出版社,2001
[2] Pohl K,Bckle G,van der Linden F.Software Product line Engi-neering:Foundations,Principles,and Techniques[M].Heidelberg New York:Springer Berlin,2005
[3] Lee K,Kang K C.Feature Dependency Analysis for ProductLine Component Design[C]∥Proceedings of 8th the International Conference on Software Reuse,ICSR.2004
[4] Peng Xin,Zhao Wen-yun,Xue Yun-jiao,et al.Ontology-BasedFeature Modeling and Application-Oriented Tailoring[C]∥ Proceedings of 9th the International Conference on Software Reuse,ICSR.2006
[5] Batory D,Sarvela J N,Rauschmayer A.Scaling Step-Wise Re-finement [J].IEEE Transactions on Software Engineering,2004,30(6):355-371
[6] Liu Jia,Batory D,Lengauer C.Feature Oriented Refactoring of Legacy Applications[C]∥Proceedings of 28th the International Conference on Software Engineering,ICSE.2006
[7] Kang K C,Cohen S G,Hess J A,et al.Feature-Oriented Domain Analysis (FODA) Feasibility Study[R].CMU/SEI-90-TR-21.Pittsburgh:Software Engineering Institute,Carnegie Mellon University,1990
[8] Kang K C,Kim S,Lee J,et al.FORM:A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures[J].Annals of Software Engineering,1998,5(1):143-168
[9] Apel S,Scholz W,Lengauer C.Detecting Dependences and Interactions in Feature-Oriented Design[C]∥Proceedings of 21st International Symposium on Software Reliability Engineering,ISSRE.2010
[10] Zhang Wei,Mei Hong,Zhao Hai-yan.A Feature-Oriented Approach to Modeling Requirements Dependencies[C]∥Procee-dings of 13th International Conference on Requirements Engineering,RE.2005
[11] Cho H,Lee K,Kang K C.Feature Relation and Dependency Management:An Aspect-Oriented Approach[C]∥Proceedings of 13th International Software Product Line Conference,SPLC.2008
[12] Apel S.A Calculus for Uniform Feature Composition[J].ACM Transactions on Programming Languages and Systems,2010,32(5):19
[13] Zhang C,Jacobsen H-A.Resolving Feature Convolution in Middleware Systems[C]∥Proceedings of 19th Annual ACM Conference on Object-Oriented Programming,Systems,Languages,and Applications,OOPSLA.2004
[14] Apel S,Kstner C.An Overview of Feature-Oriented Software Development[J].Journal of Object Technology,2009,8(5):49-84
[15] Godil I,Jacobsen H-A.Horizontal Decomposition of Prevayler[C]∥Proceedings of 2005Conference of the Centre for Advanced Studies on Collaborative Research,CASCON.2005
[16] Czarnecki K,Eisenecker U.Generative Programming-Methods,Tools,and Applications[M].Addison-Wesley,2000
[17] 谢仲文,李彤,代飞,等.基于特征组合的软件需求建模[J].计算机科学,2012,39(1):130-133,141
[18] 吴元凯,彭鑫,赵文耘.应用面向特征编程方法FOP实现软件产品线增量开发[J].小型微型计算机系统,2010,31(8):1613-1618

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!