Composing Feature Models

Feature modeling is a widely used technique in Software Product Line development. Feature models allow stakeholders to describe domain concepts in terms of commonalities and differences within a family of software systems. Developing a complex monolithic feature model can require significant effort and restrict the reusability of a set of features already modeled. We advocate using modeling techniques that support separating and composing concerns to better manage the complexity of developing large feature models. In this paper, we propose a set of composition operators dedicated to feature models. These composition operators enable the development of large feature models by composing smaller feature models which address well-defined concerns. The operators are notably distinguished by their documented capabilities to preserve some significant properties.

[1]  Donald D. Cowan,et al.  Efficient compilation techniques for large scale feature models , 2008, GPCE '08.

[2]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[3]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[4]  Robert B. France,et al.  Directives for Composing Aspect-Oriented Design Class Models , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[5]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[6]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[7]  Mathieu Acher,et al.  Issues in Managing Variability of Medical Imaging Grid Services , 2008 .

[8]  Paulo Borba,et al.  A Theory for Feature Models in Alloy , 2007 .

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

[10]  Johan Montagnat,et al.  Imaging Services on the Grid as a Product Line: Requirements and Architecture , 2008, SPLC.

[11]  Mehmet Aksit,et al.  Transactions on Aspect-Oriented Software Development IV , 2007, Trans. Aspect-Oriented Software Development IV.

[12]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[13]  Mathieu Acher,et al.  Tackling high variability in video surveillance systems through a model transformation approach , 2009, 2009 ICSE Workshop on Modeling in Software Engineering.

[14]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[15]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[16]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[17]  Tim Trew,et al.  Using Feature Diagrams with Context Variability to Model Multiple Product Lines for Software Supply Chains , 2008, 2008 12th International Software Product Line Conference.

[18]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007, 11th International Software Product Line Conference (SPLC 2007).

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

[20]  Brice Morin,et al.  Introducing variability into aspect-oriented modeling approaches , 2007, MODELS'07.

[21]  Antonio Ruiz Cortés,et al.  Automated Merging of Feature Models Using Graph Transformations , 2007, GTTSE.

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

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

[24]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[25]  Sven Apel,et al.  An Algebra for Features and Feature Composition , 2008, AMAST.

[26]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[27]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007, 11th International Software Product Line Conference (SPLC 2007).

[28]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[29]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[30]  Rohit Gheyi,et al.  A Theory for Feature Models in Alloy , 2006 .

[31]  Lidia Fuentes,et al.  Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines , 2009, SLE.

[32]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[33]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[34]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.