全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...
科学通报  2014 

面向特征的软件复用技术——发展与现状

DOI: 10.1360/972013-341, PP. 21-42

Keywords: 特征,特征模型,追踪关系,领域工程,软件复用,软件工程

Full-Text   Cite this paper   Add to My Lib

Abstract:

传统产业的工业化生产主要关注如何实现物理产品的大规模复制性生产.实现软件产业的工业化生产,达到其发展所需的质量和生产效率,软件复用是一条现实可行的途径.软件复用的主要关注点是如何实现软件产品的大规模定制性生产.面向特征的软件复用提供了一种实现软件大规模定制性生产的技术途径,对软件复用的研究和实践产生了重要影响.本文介绍并分析了面向特征的软件复用涉及的基本概念和核心思想,总结了近年来关于面向特征的软件复用研究的一些关键技术和重要成果.具体而言从内涵和外延两个方面总结了现有研究中关于特征的定义,分析了特征在软件复用中承担的基本责任;阐述了特征模型的基本结构及其命题逻辑语义,介绍了对特征模型基本结构和语义的3种扩展;总结了在特征模型与软件实现制品之间建立追踪关系的两种基本方式,分别针对用况模型、软件体系结构模型以及软件实现代码这3种软件实现制品,对在特征模型与这3者之间建立追踪关系的重要研究成果进行了介绍和评述;指出了值得进一步关注的问题及未来研究方向.通过介绍和评述,期望能够进一步凝聚本领域的研究者对相关问题及研究现状的理解,进而在面向特征的软件复用的研究上取得新的进展.

References

[1]  1 Brooks F P. The Mythical Man-Month: Essays on Software Engineering. 2nd ed. Boston: Addison-Wesley, 1995
[2]  2 杨芙清, 梅宏, 李克勤. 软件复用与软件构件技术. 电子学报, 1999, 27: 68-75
[3]  3 Weiss D M, Lai C T R. Software Product-Line Engineering: A Family-Based Software Development Process. Boston: Addison-Wesley, 1999
[4]  4 Parnas D L. On the design and development of program families. IEEE T Software Eng, 1976, SE-2: 1-9
[5]  5 Neighbors J M. Software construction using components. Doctoral Dissertation. Irvine: University of California,1980
[6]  6 Clements P, Northrop L. Software Product Lines: Practices and Patterns. Boston: Addison-Wesley, 2001
[7]  7 Kang K C, Cohen S G, Hess J A, et al. Feature-oriented domain analysis feasibility study. Technical Report. Carnegie Mellon University, 1990
[8]  8 Schobbens P Y, Heymans P, Trigaux J C. Feature diagrams: A survey and a formal semantics. In: Glinz M, Lutz R, eds. Proceedings of 14th International Requirements Engineering Conference, 2006 September 11-15, Minnesota. Los Alamitos, CA: IEEE Computer Society, 2006. 136-145
[9]  9 Benavides D, Segura S, Ruiz-Cortés A. Automated analysis of feature models 20 years later: A literature review. Inform Syst, 2010, 35: 615-636
[10]  12 Keck D O, Kuehn P J. The feature and service interaction problem in telecommunications systems: A survey. IEEE T Softw Eng, 1998, 24: 779-796
[11]  13 Turner C R, Fuggetta A, Lavazza L, et al. A conceptual basis for feature engineering. J Syst Softw, 1999, 49: 3-15
[12]  14 Prehofer C. Feature-oriented programming: A fresh look at objects. In: Aksit M, Matsuoka S, eds. Proceedings of 11th European Conference on Object-Oriented Programming, 1997 June 9-13, Jyv?skyl?, Finland. Berlin Heidelberg: Springer, 1997. 419-443
[13]  15 Mehta A, Heineman G T. Evolving legacy system features into fine-grained components. In: Tracz W, Young M, Magee J, eds. Proceedings of 22rd International Conference on Software Engineering, 2002 May 19-25, Orlando, Florida. New York: ACM, 2002. 417-427
[14]  16 Chastek G, Donohoe P, Kang K C, et al. Product line analysis: A practical introduction. Technical Report. Carnegie Mellon University, 2001
[15]  17 Griss M, Favaro J, d'Alessandro M. Integrating feature modeling with the RSEB. In: Devanbu P, Poulin J, eds. Proceedings of 5th International Conference on Software Reuse, 1998 June 2-5, Victoria, British Columbia, Canada. Los Alamitos, CA: Computer Society, 1998. 76-85
[16]  18 Eriksson M, Borstler J, Borg K. The PLUSS approach-domain modeling with features, use cases and use case realizations. In: Obbink J H, Pohl K, eds. Proceedings of 9th International Software Product Line Conference, 2005 September 26-29, Rennes, France. Berlin Heidelberg: Springer, 2004. 33-44
[17]  19 Mei H, Zhang W, Gu F. A feature oriented approach to modeling and reusing requirements of software product lines. In: Helms R, Bae D H, Voas J, eds. Proceedings of 27th International Computer Software and Applications Conference, 2003 November 3-6, Dallas. Los Alamitos, CA IEEE Computer Society, 2003. 250-256
[18]  20 Wiegers K E. Software Requirements. Washington: Microsoft Press, 1999.
[19]  22 Zhang W, Yan H, Zhao H, et al. A BDD-based approach to verifying clone-enabled feature models' constraints and customization. In: Mei H, ed. Proceedings of 10th International Conference on Software Reuse, 2008 May 25-29, Beijing. Berlin Heidelberg Springer, 2008. 186-199
[20]  23 Jacobson I. Object Oriented Software Engineering: A Use Case Driven Approach. Boston: Addison-Wesley, 1992
[21]  24 Leffingwell D, Widrig D. Managing Software Requirements: A Use Case Approach. Boston: Addison-Wesley, 2003
[22]  25 Object Management Group. Object Constraint Language (Version 2.2)
[23]  26 Mannion M. Using first-order logic for product line model validation. In: Chastek G J, ed. Proceedings of 2nd International Software Product Line Conference, 2002 August 19-22, San Diego. Berlin Heidelberg: Springer, 2002. 176-187
[24]  27 Zhang W, Zhao H, Mei H. A propositional logic-based method for verification of feature models. In: Davies J, Schulte W, Barnett M, eds. Proceedings of 6th International Conference on Formal Engineering Methods, 2004 November 8-12, Seattle. Berlin Heidelberg: Springer, 115-130
[25]  28 Batory D. Feature models, grammars, and propositional formulas. In: Obbink J H, Pohl K, eds. Proceedings of 9th International Software Product Line Conference, 2005 September 26-29, Rennes, France. Berlin Heidelberg: Springer, 2004. 7-20
[26]  29 Lee K, Kang K C. Feature dependency analysis for product line component design. In: Bosch J, Krueger C C, eds. Proceedings of 8th International Conference on Software Reuse, 2004 July 5-9, Madrid, Spain. Berlin Heidelberg: Springer, 2004. 69-85
[27]  31 Zhang W, Mei H, Zhao H. Feature-driven requirement dependency analysis and high-level software design. Requir Eng, 2006, 11: 205-220
[28]  32 Lee K, Kang K C. Feature dependency analysis for product line component design. In: Bosch J, Krueger C C, eds. Proceedings of 8th International Conference on Software Reuse, 2004 July 5-9, Madrid, Spain. Berlin Heidelberg: Springer, 2004. 69-85
[29]  33 Peng X, Zhao W, Xue Y, et al. Ontology-based feature modeling and application-oriented tailoring. In: Morisio M, ed. Proceedings of 9th International Conference on Software Reuse, 2006 June 12-15, Turin, Italy. Berlin Heidelberg: Springer, 2006. 87-100
[30]  36 Czarnecki K, Helsen S, Eisenecker U. Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract, 2005, 10: 7-29
[31]  50 Smaragdakis Y, Batory D. Mixin layers: An object-oriented implementation technique for refinements and collaboration-based designs. ACM T Softw Eng Meth, 2002, 11: 215-255
[32]  51 Apel S, Kastner C, Lengauer C. FEATUREHOUSE: Language-independent, automated software composition. In: Fickas S, Atlee J, Inverardi P, eds. Proceedings of 31st International Conference on Software Engineering, 2009 May 16-24, Vancouver, Canada. Los Alamitos, CA: IEEE Computer Society, 2009. 221-231
[33]  52 McIlroy M D. Mass produced software components. In: Naur P, Randell B, eds. Report of NATO Conference on Software Engineering, 1968 October 7-11, Garmisch, Germany. Los Alamitos, CA: NATO Science Committee, 1969. 138-155
[34]  53 Krueger C W. Software reuse. ACM Comput Surv, 1992, 24: 131-183
[35]  54 Mili H, Mili F, Mili A. Reusing software: Issues and research directions. IEEE T Softw Eng, 1995, 21: 528-562
[36]  55 Frakes W B, Kang K C. Software reuse research: Status and future. IEEE T Softw Eng, 2006, 31: 529-536
[37]  56 Spanoudakis G, Zisman A. Software traceability: A roadmap. In: Chang S K, ed. Handbook of Software Engineering and Knowledge Engineering, Vol. III: Recent Advancements: World Scientific Publishing, 2005. 395-428
[38]  57 Bohner S A. Impact analysis in the software change process: A year 2000 perspective. In: Schneidewind N, Bohner S A, Cimitile A, eds. Proceedings of International Conference on Software Maintenance, 1996 November 4-8, Monterey, Los Alamitos, CA: IEEE Computer Society, 1996. 42-51
[39]  58 Apel S, Kastner C. An overview of feature-oriented software development. J Object Tech, 2009, 8: 49-84
[40]  59 Schobbens P Y, Heymans P, Trigaux J C, et al. Generic semantics of feature diagrams. Comput Netw, 2007, 51: 456-479
[41]  60 Mernik M, Heering J, Sloane A M. When and how to develop domain-specific languages. ACM Comput Surv, 2005, 37: 316-344
[42]  61 梅宏, 刘譞哲. 互联网时代的软件技术: 现状与趋势. 科学通报, 2010, 55: 1214-1220
[43]  62 Malone T W, Laubacher R, Dellarocas C. The collective intelligence genome. MIT Sloan Manage Rev, 2010, 51: 21-31
[44]  10 Coplien J, Hoffman D, Weiss D. Commonality and variability in software engineering. IEEE Softw, 1998, 15: 37-45
[45]  11 Davis A M. The design of a family of application-oriented requirements languages. IEEE Comput, 1982, 15: 21-28
[46]  21 IEEE Standards Board. IEEE Standard Glossary of Software Engineering Terminology. 1990
[47]  30 Kang K C, Kim S, Lee J, et al. FORM: A feature-oriented reuse method with domain-specific reference architectures. Ann Softw Eng, 1998, 5: 143-168
[48]  34 Czarnecki K, Bednasch T, Unger P, et al. Generative programming for embedded software: An industrial experience report. In: Batory D S, Consel C, Taha W, eds. Proceedings of ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, 2002 October 6-8, Pittsburgh, PA. Berlin Heidelberg: Springer, 2002. 156-172
[49]  35 Riebisch M, Bollert K, Streitferdt D, et al. Extending feature diagrams with UML multiplicities. In: Kr?mer B J, Ehrig H, Ertas A, eds. Proceedings of 6th International Conference on Integrated Design & Process Technology, 2002 June 23-28, Pasadena. Dallas, TX: Society for Design and Process Science, 2002. 1-7
[50]  37 Benavides D, Trinidad P, Ruiz-Cortes A. Automated reasoning on feature models. In: Pastor O, Cunha J F, eds. Proceedings of 17th International Conference on Advanced Information Systems Engineering, 2005 June 13-17, Porto, Portugal. Berlin Heidelberg: Springer, 2005. 491-503
[51]  38 Benavides D, Trinidad P, Ruiz-Cortes A. Using constraint programming to reason on feature models. In: Chu W C, Juzgado N J, Wong W E, eds. Proceedings of 17th International Conference on Software Engineering and Knowledge Engineering, 2005 July 14-16, Taipei, Taiwan. Skokie, IL: Knowledge Systems Institute, 2005. 677-682
[52]  39 Karatas A S, Oguztuzun H, Dogru A. Mapping extended feature models to constraint logic programming over finite domains. In: Bosch J, Lee J, eds. Proceedings of 14th International Software Product Lines Conference, 2010 September 13-17, Jeju Island, South Korea. Berlin Heidelberg: Springer, 2010. 286-299
[53]  40 Czarnecki K, Antkiewicz M. Mapping features to models: A template approach based on superimposed variants. In: Glück R, Lowry M R, eds. Proceedings of 4th International Conference on Generative Programming and Component Engineering, 2005 September 29-October 1, Tallinn, Estonia. Berlin Heidelberg: Springer 2005. 422-437
[54]  41 Clarke D, Helvensteijn M, Schaefer I. Abstract delta modeling. In: Visser E, J?rvi J, eds. Proceedings of 9th International Conference on Generative Programming and Component Engineering, 2010 October 10-13, Eindhoven, Netherlands. New York: ACM, 2010. 13-22
[55]  42 Schaefer I, Bettini L, Bono V, et al. Delta-oriented programming of software product lines. In: Bosch J, Lee J, eds. Proceedings of 14th International Software Product Lines Conference, 2010 September 13-17, Jeju Island, South Korea. Berlin Heidelberg: Springer, 2010. 77-91
[56]  43 Jacobson I, Griss M, Jonsson P. Software Reuse: Architecture, Process and Organization for Business Success. Boston: Addison-Wesley, 1997
[57]  44 Braganca A, Machado R J. Automating mappings between use case diagrams and feature models for software product lines. In: Kang K C ed. Proceedings of 11th International Software Product Line Conference, 2007 September 10-14, Kyoto, Japan. Los Alamitos, CA: IEEE Computer Society, 2007. 3-12
[58]  45 Yu W, Zhang W, Zhao H, et al. A traceability description language between feature model and use case. Technical Report. Peking University, 2012
[59]  46 Hendrickson S A, van der Hoek A. Modeling product line architectures through change sets and relationships. In: Knight J, ed. Proceedings of 29th International Conference on Software Engineering, 2007 May 20-26, Minneapolis. Los Alamitos, CA: IEEE Computer Society, 2007. 189-198
[60]  47 梅宏, 黄罡, 赵海燕, 等. 一种以软件体系结构为中心的网构软件开发方法. 中国科学F辑: 信息科学, 2006, 36: 1100-1126
[61]  48 Batory D, O'Malley S. The design and implementation of hierarchical software systems with reusable components. ACM T Softw Eng Meth, 1992, 1: 355-398
[62]  49 Batory D, Sarvela J, Rauschmayer A. Scaling step-wise refinement. IEEE T Soft Eng, 2004, 30: 355-371

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133