Feature Dependency Analysis for Product Line Component Design

Analyzing commonalities and variabilities among products of a product line is an essential activity for product line asset development. A feature-oriented approach to commonality and variability analysis (called feature modeling) has been used extensively for product line engineering. Feature modeling mainly focuses on identifying commonalities and variabilities among products of a product line and organizing them in terms of structural relationships (e.g., aggregation and generalization) and configuration dependencies (e.g., required and excluded). Although the structural relationships and configuration dependencies are essential inputs to product line asset development, they are not sufficient to develop reusable and adaptable product line assets. Other types of dependencies among features also have significant influences on the design of product line assets. In this paper, we extend the feature modeling to analyze feature dependencies that are useful in the design of reusable and adaptable product line components, and present design guidelines based on the extended model. An elevator control software example is used to illustrate the concept of the proposed method.

[1]  N. S. Zalman Making the Method Fit: An Industrial Experience in Adopting Feature-Oriented Domain Analysis (FODA) , 1996 .

[2]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[3]  John M. Favaro,et al.  FODAcom: an experience with domain analysis in the Italian telecom industry , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[4]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[5]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[6]  Kyo Chul Kang,et al.  Feature-based approach to object-oriented engineering of applications for reuse , 2000, Softw. Pract. Exp..

[7]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

[8]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[9]  Juha Savolainen,et al.  Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line , 2002, SPLC.

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  Dániel Fey,et al.  Feature Modeling: A Meta-Model to Enhance Usability and Usefulness , 2002, SPLC.

[12]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[13]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[14]  Martin L. Griss,et al.  Integrating Feature Modeling with the RSEB Proceedings of Fifth International Conference on Software Reuse, Victoria, B.C., 1998 , 1998 .

[15]  K. Kimbler,et al.  Feature Interactions in Telecommunications and Software Systems V, September 29 - October 1, 1998, Malmö, Sweden , 1998, FIW.

[16]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[17]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[18]  David Notkin,et al.  Using C++ Templates to Implement Role-Based Designs , 1996, ISOTAS.

[19]  Martin L. Griss Implementing Product-line features by composing aspects , 2000, SPLC.

[20]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[21]  Kyo Chul Kang,et al.  Featured-based approach to object-oriented engineering of applications for reuse , 2000 .