ABSTRACT
Configuration is a key enabling technology for the engineering of systems and software as wells as physical goods. A selection of configuration options (aka. features) is often enough to automatically generate a product tailored to the needs of a customer. It is common that not all combinations of features are possible in a given domain. Feature modeling is the de-facto standard for specifying features and their valid combinations. However, a pivotal hurdle for practitioners, researchers, and teachers in applying feature modeling is that there are hundreds of tools and languages available. While there have been first attempts to define a standard feature modeling language, they still struggle with finding an appropriate level of expressiveness. If the expressiveness is too high, the language will not be adopted, as it is too much effort to support all language constructs. If the expressiveness is too low, the language will not be adopted, as many interesting domains cannot be modeled in such a language. Towards a standard feature modeling notation, we propose the use of language levels with different expressiveness each and discuss criteria to be used to define such language levels. We aim to raise the awareness on the expressiveness and eventually contribute to a standard feature modeling notation.
- Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2011. Slicing Feature Models. In Proc. Int'l Conf. on Automated Software Engineering (ASE). IEEE, 424--427. Google ScholarDigital Library
- Sofia Ananieva, Matthias Kowal, Thomas Thüm, and Ina Schaefer. 2016. Implicit Constraints in Partial Feature Models. In Proc. Int'l Workshop on Feature-Oriented Software Development (FOSD). ACM, 18--27. Google ScholarDigital Library
- Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarDigital Library
- Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). Springer, 7--20. Google ScholarDigital Library
- David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems 35, 6 (2010), 615--708. Google ScholarDigital Library
- David Benavides, Sergio Segura, Pablo Trinidad, and Antonio Ruiz-Cortés. 2007. FAMA: Tooling a Framework for the Automated Analysis of Feature Models. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). Technical Report 2007-01, Lero, 129--134.Google Scholar
- Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, and Andrzej Wąsowski. 2013. A Survey of Variability Modeling in Industrial Practice. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 7:1--7:8. Google ScholarDigital Library
- Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wąsowski, and Krzysztof Czarnecki. 2010. Variability Modeling in the Real: A Perspective from the Operating Systems Domain. In Proc. Int'l Conf. on Automated Software Engineering (ASE). ACM, 73--82. Google ScholarDigital Library
- A. Biere, A. Biere, M. Heule, H. van Maaren, and T. Walsh. 2009. Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications. IOS Press, Amsterdam, The Netherlands, The Netherlands. Google ScholarDigital Library
- Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joseph Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll. 2005. An Overview of JML Tools and Applications. Int'l J. Software Tools for Technology Transfer (STTT) 7, 3 (2005), 212--232.Google ScholarDigital Library
- Ivan Do Carmo Machado, John D. McGregor, Yguaratã Cerqueira Cavalcanti, and Eduardo Santana De Almeida. 2014. On Strategies for Testing Software Product Lines: A Systematic Literature Review. J. Information and Software Technology (IST) 56, 10 (2014), 1183--1199. Google ScholarDigital Library
- Andreas Classen, Quentin Boucher, and Patrick Heymans. 2011. A Text-Based Approach to Feature Modelling: Syntax and Semantics of TVL. Science of Computer Programming (SCP) 76, 12 (2011), 1130--1143. Special Issue on Software Evolution, Adaptability and Variability. Google ScholarDigital Library
- Andreas Classen, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay, and Jean-Francois Raskin. 2013. Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking. IEEE Trans. Software Engineering (TSE) 39, 8 (2013), 1069--1089. Google ScholarDigital Library
- Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid, and Andrzej Wąsowski. 2012. Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 173--182. Google ScholarDigital Library
- Krzysztof Czarnecki and Krzysztof Pietroszek. 2006. Verifying Feature-Based Model Templates Against Well-Formedness OCL Constraints. In Proc. Int'l Conf. on Generative Programming and Component Engineering (GPCE). ACM, 211--220. Google ScholarDigital Library
- Krzysztof Czarnecki and Andrzej Wąsowski. 2007. Feature Diagrams and Logics: There and Back Again. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). IEEE, 23--34. Google ScholarDigital Library
- Deepak Dhungana, Paul Grünbacher, Rick Rabiser, and Thomas Neumayer. 2010. Structuring the Modeling Space and Supporting Evolution in Software Product Line Engineering. J. Systems and Software (JSS) 83, 7 (2010), 1108--1122. Google ScholarDigital Library
- Rebecca Duray, Peter T. Ward, Glenn W. Milligan, and William L. Berry. 2000. Approaches to Mass Customization: Configurations and Empirical Validation. J. Operations Management (JOM) 18, 6 (2000), 605--625.Google ScholarCross Ref
- Sascha El-Sharkawy, Adam Krafczyk, and Klaus Schmid. 2015. Analysing the KConfig Semantics and its Analysis Tools. In Proc. Int'l Conf. on Generative Programming: Concepts & Experiences (GPCE). ACM, 45--54. Google ScholarDigital Library
- Wolfram Fenske, Jens Meinicke, Sandro Schulze, Steffen Schulze, and Gunter Saake. 2017. Variant-Preserving Refactorings for Migrating Cloned Products to a Product Line. In Proc. Int'l Conf. on Software Analysis, Evolution and Reengineering (SANER). IEEE, 316--326.Google ScholarCross Ref
- Jose; A. Galindo, David Benavides, Pablo Trinidad, Antonio-Manuel Gutierrez-Fernández, and Antonio Ruiz-Cortes. 2019. Automated Analysis of Feature Models: Quo Vadis? Computing 101, 5 (May 2019), 387--433. Google ScholarDigital Library
- Øystein Haugen, Birger Møller-Pedersen, Jon Oldevik, Gøran K. Olsen, and Andreas Svendsen. 2008. Adding Standardized Variability to Domain Specific Languages. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). IEEE, 139--148. Google ScholarDigital Library
- Gerald Holl, Paul Grünbacher, and Rick Rabiser. 2012. A Systematic Review and an Expert Survey on Capabilities Supporting Multi Product Lines. J. Information and Software Technology (IST) 54, 8 (2012), 828--852. Google ScholarDigital Library
- Arnaud Hubaux, Dietmar Jannach, Conrad Drescher, Leonardo Murta, Tomi Männistö, Krzysztof Czarnecki, Patrick Heymans, Tien N. Nguyen, and Markus Zanker. 2012. Unifying Software and Product Configuration: A Research Roadmap. In Proc. Configuration Workshop (Conf WS). 31--35. Google ScholarDigital Library
- Arnaud Hubaux, Thein Than Tun, and Patrick Heymans. 2013. Separation of Concerns in Feature Diagram Languages: A Systematic Survey. Comput. Surveys 45, 4, Article 51 (2013), 51:1--51:23 pages. Google ScholarDigital Library
- Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21. Software Engineering Institute.Google Scholar
- Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In Proc. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 805--824. Google ScholarDigital Library
- Alexander Knüppel, Thomas Thüm, Stephan Mennicke, Jens Meinicke, and Ina Schaefer. 2017. Is There a Mismatch Between Real-World Feature Models and Product-Line Research?. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 291--302. Google ScholarDigital Library
- Matthias Kowal, Sofia Ananieva, and Thomas Thüm. 2016. Explaining Anomalies in Feature Models. In Proc. Int'l Conf. on Generative Programming: Concepts & Experiences (GPCE). ACM, 132--143. Google ScholarDigital Library
- Sebastian Krieter, Thomas Thüm, Sandro Schulze, Reimar Schröter, and Gunter Saake. 2018. Propagating Configuration Decisions with Modal Implication Graphs. In Proc. Int'l Conf. on Software Engineering (ICSE). ACM, 898--909. Google ScholarDigital Library
- Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby, David Cok, Peter Müller, Joseph Kiniry, Patrice Chalin, Daniel M. Zimmerman, and Werner Dietl. 2013. JML Reference Manual.Google Scholar
- Jörg Liebig, Alexander von Rhein, Christian Kästner, Sven Apel, Jens Dörre, and Christian Lengauer. 2013. Scalable Analysis of Variable Software. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 81--91. Google ScholarDigital Library
- Flávio Medeiros, Christian Kästner, Márcio Ribeiro, Rohit Gheyi, and Sven Apel. 2016. A Comparison of 10 Sampling Algorithms for Configurable Systems. In Proc. Int'l Conf. on Software Engineering (ICSE). ACM, 643--654. Google ScholarDigital Library
- Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer. Google ScholarDigital Library
- Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, and Gunter Saake. 2014. An Overview on Analysis Tools for Software Product Lines. In Proc. Workshop on Software Product Line Analysis Tools (SPLat). ACM, 94--101. Google ScholarDigital Library
- Marcílio Mendonça, Moises Branco, and Donald Cowan. 2009. S.P.L.O.T.: Software Product Lines Online Tools. In Proc. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 761--762. Google ScholarDigital Library
- Marcílio Mendonça, Andrzej Wąsowski, Krzysztof Czarnecki, and Donald Cowan. 2008. Efficient Compilation Techniques for Large Scale Feature Models. In Proc. Int'l Conf. on Generative Programming and Component Engineering (GPCE). ACM, 13--22. Google ScholarDigital Library
- Andreas Metzger, Klaus Pohl, Patrick Heymans, Pierre-Yves Schobbens, and Germain Saval. 2007. Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis. In Proc. Int'l Conf. on Requirements Engineering (RE). IEEE, 243--253.Google ScholarCross Ref
- Sarah Nadi, Thorsten Berger, Christian Kastner, and Krzysztof Czarnecki. 2015. Where Do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study. IEEE Trans. Software Engineering (TSE) 41, 8 (2015), 820--841.Google ScholarCross Ref
- Hung Viet Nguyen, Christian Kästner, and Tien N. Nguyen. 2014. Exploring Variability-Aware Execution for Testing Plugin-Based Web Applications. In Proc. Int'l Conf. on Software Engineering (ICSE). ACM, 907--918. Google ScholarDigital Library
- Michael Nieke, Jacopo Mauro, Christoph Seidl, Thomas Thüm, Ingrid Chieh Yu, and Felix Franzke. 2018. Anomaly Analyses for Feature-Model Evolution. In Proc. Int'l Conf. on Generative Programming and Component Engineering (GPCE). ACM, 188--201. Google ScholarDigital Library
- Michael Nieke, Christoph Seidl, and Thomas Thüm. 2018. Back to the Future: Avoiding Paradoxes in Feature-Model Evolution. In Proc. Int'l Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution). ACM, 48--51. Google ScholarDigital Library
- Tobias Pett, Thomas Thüm, Tobias Runge, Sebastian Krieter, Malte Lochau, and Ina Schaefer. 2019. Product Sampling for Product Lines: The Scalability Challenge. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM. To appear. Google ScholarDigital Library
- Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer. Google ScholarDigital Library
- Marko Rosenmüller, Norbert Siegmund, Thomas Thüm, and Gunter Saake. 2011. Multi-Dimensional Variability Modeling. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 11--22. Google ScholarDigital Library
- Abdel Salam Sayyad, Joseph Ingram, Tim Menzies, and Hany Ammar. 2013. Scalable Product Line Configuration: A Straw to Break the Camel's Back. In Proc. Int'l Conf. on Automated Software Engineering (ASE). IEEE, 465--474. Google ScholarDigital Library
- Pierre-Yves Schobbens, Patrick Heymans, Jean-Christophe Trigaux, and Yves Bontemps. 2007. Generic Semantics of Feature Diagrams. Computer Networks 51, 2 (2007), 456--479. Google ScholarDigital Library
- Reimar Schröter, Sebastian Krieter, Thomas Thüm, Fabian Benduhn, and Gunter Saake. 2016. Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems. In Proc. Int'l Conf. on Software Engineering (ICSE). ACM, 667--678. Google ScholarDigital Library
- Sergio Segura, José A. Galindo, David Benavides, José A. Parejo, and Antonio Ruiz-Cortés. 2012. BeTTy: Benchmarking and Testing on the Automated Analysis of Feature Models. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 63--71. Google ScholarDigital Library
- Christoph Seidl, Ina Schaefer, and Uwe A. 2014. Capturing Variability in Space and Time with Hyper Feature Models. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, Article 6, 6:1--6:8 pages. Google ScholarDigital Library
- Norbert Siegmund, Marko Rosenmüller, Martin Kuhlemann, Christian Kästner, Sven Apel, and Gunter Saake. 2012. SPL Conqueror: Toward Optimization of Non-functional Properties in Software Product Lines. Software Quality Journal (SQJ) 20, 3--4 (2012), 487--517. Google ScholarDigital Library
- Giovani Da Silveira, Denis Borenstein, and FLÃąvio S. Fogliatto. 2001. Mass Customization: Literature Review and Research Directions. Int'l J. Production Economics 72, 1 (2001), 1--13.Google ScholarCross Ref
- Reinhard Tartler, Daniel Lohmann, Julio Sincero, and Wolfgang Schröder-Preikschat. 2011. Feature Consistency in Compile-Time-Configurable System Software: Facing the Linux 10,000 Feature Problem. In Proc. Europ. Conf. on Computer Systems (EuroSys). ACM, 47--60. Google ScholarDigital Library
- Sahil Thaker, Don Batory, David Kitchin, and William Cook. 2007. Safe Composition of Product Lines. In Proc. Int'l Conf. on Generative Programming and Component Engineering (GPCE). ACM, 95--104. Google ScholarDigital Library
- Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. Comput. Surveys 47, 1 (2014), 6:1--6:45. Google ScholarDigital Library
- Thomas Thüm, Christian Kästner, Sebastian Erdweg, and Norbert Siegmund. 2011. Abstract Features in Feature Modeling. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). IEEE, 191--200. Google ScholarDigital Library
- Thomas Thüm, Tim Winkelmann, Reimar Schröter, Martin Hentschel, and Stefan Krüger. 2016. Variability Hiding in Contracts for Dependent Software Product Lines. In Proc. Int'l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 97--104. Google ScholarDigital Library
- Mahsa Varshosaz, Mustafa Al-Hajjaji, Thomas Thüm, Tobias Runge, Mohammad Reza Mousavi, and Ina Schaefer. 2018. A Classification of Product Sampling for Software Product Lines. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). ACM, 1--13. Google ScholarDigital Library
- Alexander von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger. 2015. Presence-Condition Simplification in Highly Configurable Systems. In Proc. Int'l Conf. on Software Engineering (ICSE). IEEE, 178--188. Google ScholarDigital Library
Index Terms
- On Language Levels for Feature Modeling Notations
Recommendations
A semiotic analysis of unified modeling language graphical notations
Unified modeling language (UML) is the standard modeling language for object-oriented system development. Despite its status as a standard, UML has a fuzzy formal specification and a weak theoretical foundation. Semiotics, the study of signs, provides a ...
Automatic generation of feature models from UML requirement models
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2It is well known that during the domain requirement engineering phase with UML, both feature models and UML notations (e.g. UML use case diagrams and activity diagrams for describing use cases) are necessary. The development in parallel of UML models ...
A configurable use case modeling metamodel with superimposed variants
There are a variety of approaches to use case modeling, especially regarding textual use case description as their true form. Under certain circumstances, the use of each one of these approaches may be justified. It appears that use case modeling ...
Comments