skip to main content
10.1145/3307630.3342404acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
short-paper

On Language Levels for Feature Modeling Notations

Published:09 September 2019Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In Proc. Int'l Systems and Software Product Line Conf. (SPLC). Springer, 7--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Ø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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarCross RefCross Ref
  39. 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 ScholarGoogle ScholarCross RefCross Ref
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle ScholarCross RefCross Ref
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  55. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  57. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On Language Levels for Feature Modeling Notations

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      SPLC '19: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B
      September 2019
      252 pages
      ISBN:9781450366687
      DOI:10.1145/3307630

      Copyright © 2019 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 September 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper

      Acceptance Rates

      Overall Acceptance Rate167of463submissions,36%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader