Separating Concerns in Feature Models: Retrospective and Support for Multi-Views

Feature models (FMs) are a popular formalism to describe the commonality and variability of a set of assets in a software product line (SPL). SPLs usually involve large and complex FMs that describe thousands of features whose legal combinations are governed by many and often complex rules. The size and complexity of these models is partly explained by the large number of concerns considered by SPL practitioners when managing and configuring FMs. In this chapter, we first survey concerns and their separation in FMs, highlighting the need for more modular and scalable techniques. We then revisit the concept of view as a simplified representation of an FM. We finally describe a set of techniques to specify, visualise and verify the coverage of a set of views. These techniques are implemented in complementary tools providing practical support for feature-based configuration and large-scale management of FMs.

[1]  Marcilio Mendonça,et al.  Efficient Reasoning Techniques for Large Scale Feature Models , 2009 .

[2]  Donald D. Cowan,et al.  Decision-making coordination in collaborative product configuration , 2008, SAC '08.

[3]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[4]  Roel Wieringa,et al.  Guest Editors' Introduction: Stakeholders in Requirements Engineering , 2007, IEEE Software.

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

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

[7]  Mei Hong Multi-view based customization of feature models , 2008 .

[8]  M. Acher Managing, multiple feature models : foundations, languages and applications , 2011 .

[9]  Mathieu Acher,et al.  Feature Model Differences , 2012, CAiSE.

[10]  Arnaud Hubaux,et al.  Feature-based Configuration: Collaborative, Dependable, and Controlled , 2012 .

[11]  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.

[12]  Catalin Bidian,et al.  From stakeholder goals to product features: towards a role-based variability framework with decision boundary , 2006, PST.

[13]  Mathieu Acher,et al.  A domain-specific language for managing feature models , 2011, SAC.

[14]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

[15]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[16]  Matthias Weber,et al.  Multi-level feature trees , 2007, Requirements Engineering.

[17]  Mikolás Janota,et al.  Model Construction with External Constraints: An Interactive Journey from Semantics to Syntax , 2008, MoDELS.

[18]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[19]  Jia Liu,et al.  Refinements and multi-dimensional separation of concerns , 2003, ESEC/FSE-11.

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

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

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

[23]  Goetz Botterweck,et al.  Visual Tool Support for Configuring and Understanding Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

[24]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

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

[26]  Bashar Nuseibeh,et al.  ViewPoints: meaningful relationships are difficult! , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[27]  Mathieu Acher,et al.  Separation of concerns in feature modeling: support and applications , 2012, AOSD.

[28]  Krzysztof Czarnecki,et al.  Sample Spaces and Feature Models: There and Back Again , 2008, 2008 12th International Software Product Line Conference.

[29]  Goetz Botterweck,et al.  Integrating Automated Product Derivation and Individual User Interface Design , 2010, VaMoS.

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

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

[32]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[33]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[34]  Pierre-Yves Schobbens,et al.  Supporting multiple perspectives in feature-based configuration , 2013, Software & Systems Modeling.

[35]  Pierre Marquis,et al.  On propositional definability , 2008, Artif. Intell..

[36]  Dave Clarke,et al.  Towards a Theory of Views for Feature Models , 2010, SPLC Workshops.

[37]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[38]  Andreas Classen,et al.  Relating requirements and feature configurations: a systematic approach , 2009, SPLC.

[39]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[40]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[41]  Pierre-Yves Schobbens,et al.  Towards Multi-view Feature-Based Configuration , 2010, REFSQ.

[42]  Mathieu Acher,et al.  Comparing Approaches to Implement Feature Model Composition , 2010, ECMFA.

[43]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[44]  Goetz Botterweck,et al.  Research Tool to Support Feature Configuration in Software Product Lines , 2010, VaMoS.

[45]  Johan Montagnat,et al.  Composing multiple variability artifacts to assemble coherent workflows , 2011, Software Quality Journal.

[46]  Mathieu Acher,et al.  Modeling Variability from Requirements to Runtime , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[47]  Mats Per Erik Heimdahl,et al.  Structuring product family requirements for n-dimensional and hierarchical product lines , 2003, Requirements Engineering.

[48]  Krzysztof Czarnecki,et al.  Generating range fixes for software configuration , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[49]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[50]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

[51]  Juha Savolainen,et al.  Viewpoint-Oriented Variability Modeling , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[52]  Andreas Classen,et al.  A Formal Semantics for Multi-level Staged Configuration , 2009, VaMoS.

[53]  Tim Trew,et al.  Supplier independent feature modelling , 2009, SPLC.

[54]  Gilles Perrouin,et al.  Deriving configuration interfaces from feature models: a vision paper , 2012, VaMoS '12.

[55]  Patrick Heymans,et al.  Concerns and their separation in feature diagram languages: An informal survey , 2009 .

[56]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

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

[58]  Donald D. Cowan,et al.  Collaborative Product Configuration: Formalization and Efficient Algorithms for Dependency Analysis , 2008, J. Softw..

[59]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[60]  Matthias Weber,et al.  Managing Highly Complex Product Families with Multi-Level Feature Trees , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).