Formalizing cardinality-based feature models and their specialization

Feature modeling is an important approach to capture the commonalities and variabilities in system families and product lines. Cardinality-based feature modeling integrates a number of existing extensions of the original feature-modeling notation from Feature-Oriented Domain Analysis. Staged configuration is a process that allows the incremental configuration of cardinality-based feature models. It can be achieved by performing a step-wise specialization of the feature model. In this article, we argue that cardinality-based feature models can be interpreted as a special class of context-free grammars. We make this precise by specifying a translation from a feature model into a context-free grammar. Consequently, we provide a semantic interpretation for cardinality-based feature models by assigning an appropriate semantics to the language recognized by the corresponding grammar. Finally, we give an account on how feature model specialization can be formalized as transformations on the grammar equivalent of feature models. Copyright © 2005 John Wiley & Sons, Ltd.

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

[2]  Alessandro Pasetti,et al.  XML-Based Feature Modelling , 2004, ICSR.

[3]  Daniel Sabin,et al.  Product Configuration Frameworks - A Survey , 1998, IEEE Intell. Syst..

[4]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[5]  Krzysztof Czarnecki,et al.  Generative programming - principles and techniques of software engineering based on automated configuration and fragment-based component models , 1999 .

[6]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[7]  Don S. Batory,et al.  Achieving Extensibility Through Product-Lines and Domain-Specific Languages: A Case Study , 2000, ICSR.

[8]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[9]  Merijn de Jonge,et al.  Workshop on Generative Programming 2002 (GP2002) , 2002, ICSR.

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

[11]  Pierre-Yves Schobbens,et al.  Semantics of FODA Feature Diagrams , 2004 .

[12]  Patrick A. V. Hall,et al.  Equivalence between AND/OR graphs and context-free grammars , 1973, Commun. ACM.

[13]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[14]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[15]  Michel Barbeau,et al.  A Protocol Stack Development Tool Using Generative Programming , 2002, GPCE.

[16]  Klaus Schmid,et al.  A systematic approach to derive the scope of software product lines , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[17]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[18]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

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

[20]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[21]  Andreas Hein,et al.  Applying feature models in industrial settings , 2000, SPLC.

[22]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[23]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[24]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

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

[26]  Andreas Zeller,et al.  Unified versioning through feature logic , 1997, TSEM.

[27]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[28]  Wolfgang Küchlin,et al.  Formal methods for the validation of automotive product configuration data , 2003, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[29]  Matthias Riebisch Towards a More Precise Definition of Feature Models , 2003 .

[30]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[31]  Tomi Männistö,et al.  Tool for Configuring Product Individuals from Configurable Software Product Families , 2004 .

[32]  Matthias Riebisch,et al.  Modeling Variability for Object-Oriented Product Lines , 2003, ECOOP Workshops.

[33]  Danilo Beuche Composition and construction of embedded software families , 2003 .

[34]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[35]  Andreas Günter,et al.  Configuration of a Passenger Aircraft Cabin based on Conceptual Hierarchy, Constraints and flexible Control , 1992, IEA/AIE.

[36]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[37]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[38]  J. Craig Cleaveland Program Generators with XML and Java , 2001 .