Skip to main content
Log in

Mapping the design-space of textual variability modeling languages: a refined analysis

  • SPLC
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Variability modeling is a major part of modern product line engineering. Graphical or table-based approaches to variability modeling are focused around abstract models and specialized tools to interact with these models. However, more recently textual variability modeling languages, comparable to some extent to programming languages, were introduced. We consider the recent trend in product line engineering towards textual variability modeling languages as a phenomenon, which deserves deeper analysis. In this article, we report on the results and approach of a literature survey combined with an expert study. In the literature survey, we identified 11 languages, which enable the textual specification of product line variability and which are sufficiently described for an in-depth analysis. We provide a classification scheme, useful to describe the range of capabilities of such languages. Initially, we identified the relevant capabilities of these languages from a literature survey. The result of this has been refined, validated and partially improved by the expert survey. A second recent phenomenon in product line variability modeling is the increasing scale of variability models. Some authors of textual variability modeling languages argue that these languages are more appropriate for large-scale models. As a consequence, we would expect specific capabilities addressing scalability in the languages. Thus, we compare the capabilities of textual variability modeling techniques, if compared to graphical variability modeling approaches and in particular to analyze their specialized capabilities for large-scale models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. Due to revisions of the paper, we sent out one feedback request in October, 2014.

  2. We actually received this information prior to sending the explicit feedback request as a reaction to our earlier paper [1].

  3. http://www.soberit.hut.fi/KumbangTools/language/language-definition.txt.

  4. https://nyx.unice.fr/projects/familiar/wiki/manual.

  5. Personal communication with Michal Antkiewicz, August/September 2013.

  6. http://gdansk.uwaterloo.ca:8088/SPLOT/sxfm.html.

  7. http://wwwiti.cs.uni-magdeburg.de/iti_db/research/multiple/download/grammar.txt.

  8. Personal communication with Dave Clarke, December 2013.

  9. http://wwwiti.cs.uni-magdeburg.de/iti_db/research/multiple/download/grammar.txt.

  10. https://raw.github.com/gsdlab/clafer/master/src/Front/clafer.cf.

  11. http://www.sse.uni-hildesheim.de/textual-variability-overview.

References

  1. Eichelberger, H., Schmid, K.: A systematic analysis of textual variability modeling languages. In: Software Product Line Conference (SPLC’13), pp. 12–21 (2013)

  2. van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action—The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)

  3. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)

  4. Metzger, A., Pohl, K., Heymans, P., Schobbens, P., Saval, G.: Disambiguating the documentation of variability in software product lines: a separation of concerns, formalization and automated analysis. In: Requirements Engineering Conference (RE’07), pp. 243–253 (2007)

  5. Berger, T., Rublack, R., Nair, D., Atlee, J., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In: Variability Modelling of Software-Intensive Systems (VaMoS’13), pp. 1–8 (2013)

  6. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21 ESD-90-TR-222 (1990)

  7. Schmid, K., John, I.: A customizable approach to full-life cycle variability management. Sci. Comput. Progr. 53(3), 259–284 (2004)

    Article  MathSciNet  Google Scholar 

  8. Software Productivity Consortium Services Corporation: Technical Report SPC-92019-CMC. Reuse-Driven Software Processes Guidebook, Version 02.00.03 (1993)

  9. Schobbens, P.-Y., Heymans, P., Trigaux, J.-C.: Feature diagrams: a survey and a formal semantics. In: Requirements Engineering Conference (RE’06), pp. 139–148 (2006)

  10. El-Sharkawy, S., Dederichs, S., Schmid, K.: From feature models to decision models and back again—an analysis based on formal transformations. In: Software Product Line Conference (SPLC’12), pp. 126–135 (2012)

  11. Brummermann, H., Keunecke, M., Schmid, K.: Formalizing distributed evolution of variability in information system ecosystems. In: Variability Modeling of Software-Intensive Systems (VaMoS’12), pp. 11–19 (2012)

  12. Boucher, Q., Classen, A., Faber, P., Heymans, P.: Introducing TVL, a text-based feature modelling language. In: Variability Modelling of Software-Intensive Systems (VaMoS’10), pp. 159–162 (2010)

  13. Classen, A., Boucher, Q., Heymans, P.: A text-based approach to feature modelling: Syntax and semantics of TVL. Sci. Comput. Progr. 76, 1130–1143 (2011)

    Article  Google Scholar 

  14. Abele, A., Papadopoulos, Y., Servat, D., Törngren, M., Weber, M.: The CVM framework—a prototype tool for compositional variability management. In: Variability Modelling of Software-Intensive Systems (VAMOS’10), pp. 101–105 (2010)

  15. Acher, M., Collet, P., Lahire, P., France, R.: FAMILIAR: a domain-specific language for large scale management of feature models. Sci. Comput. Progr. 78, 657–681 (2013)

    Article  Google Scholar 

  16. Bak, K., Czarnecki, K., Wasowski, A.: Feature and meta-models in Clafer: mixed, specialized, and coupled. In: Software Language Engineering (SLE’10), pp. 102–122 (2010)

  17. Rosenmüller, M., Siegmund, N., Thüm, T., Saake, G.: Multi-dimensional variability modeling. In: Variability Modelling of Software-Intensive Systems (VAMOS’11), pp. 11–20 (2011)

  18. IVML team: IVML Language Specification, version 1.18. http://projects.sse.uni-hildesheim.de/easy/docs/ivml_spec.pdf. Validated March 2013

  19. Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language support for managing variability in architectural models. In: Software Composition, pp. 36–51 (2008)

  20. van der Storm, T.: Variability and component composition. In: Conference on Software Reuse (ICSR’04), pp. 157–166 (2004)

  21. Stumptner, M.: An overview of knowledge-based configuration. AI Commun. 10(2), 111–125 (1997)

    Google Scholar 

  22. Benavides, D., Felfernig, A., Galindo, J., Reinfrank, F.: Automated analysis in feature modelling and product configuration. In: Favaro, J., Morisio, M. (eds.) Safe and Secure Software Reuse. Lecture Notes in Computer Science, vol. 7925, pp. 160–175. Springer, Berlin (2013)

  23. Hubaux, A., Jannach, D., Drescher, C., Murta, L., Männistö, T., Czarnecki, K., Heymans, P., Nguyen, T., Zanker, M.: Unifying software and product configuration: a research roadmap. In: ECAI 2012 Workshop on Configuration (2012)

  24. Berger, T.: Variability modeling in the wild. In: Software Product Line Conference (SPLC’12), vol. 2, pp. 233–241. ACM, New York (2012)

  25. Classen, A., Heymans, P., Schobbens, P.-Y.: What’s in a feature: a requirements engineering perspective. In: Conference on Fundamental Approaches to Software Engineering (FASE’08) (2008)

  26. Schmid, K., Rabiser, R., Grünbacher, P.: A comparison of decision modeling approaches in product lines. In: Variability Modeling of Software-Intensive Systems (VaMoS’11), pp. 119–126 (2011)

  27. Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35, 615–636 (2010)

    Article  Google Scholar 

  28. Beuche, D.: Modeling and building software product lines with pure::variants. In: Software Product Line Conference (SPLC’08), pp. 358 (2008)

  29. Günther, S., Cleenewerck, T., Jonckers, V.: Software variability: the design space of configuration languages. In: Variability Modeling of Software-Intensive Systems (VaMoS’12), pp. 157–164 (2012)

  30. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Software Product Line Conference (SPLC’04), pp. 162–164 (2004)

  31. El-Sharkawy, S., Kröher, C., Schmid, K.: Supporting heterogenous compositional multi software product lines. In: Software Product Line Conference (SPLC’11), vol. 2 (2011)

  32. Schmid, K.: Variability modeling for distributed development—a comparison with established practice. In: Software Product Lines: Going Beyond, pp. 151–165 (2010)

  33. Chen, L., Ali Babar, M., Ali, N.: Variability management in software product lines: a systematic review. In: Software Product Line Conference (SPLC’09), pp. 81–90 (2009)

  34. Istoan, P., Klein, J., Perouin, G., Jezequel, J.-M.: A metamodel-based classification of variability modeling approaches. In: VARY WS: VARiability for You (2011)

  35. Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool features and tough decisions: a comparison of variability modeling approaches. In: Variability Modelling of Software-Intensive Systems (VaMoS’12), pp. 173–182 (2012)

  36. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration through specialization and multi-level configuration of feature models. Softw. Process Improv. Pract. 10(2), 143–169 (2005)

    Article  Google Scholar 

  37. Eichelberger, H., Kröher, C., Schmid, K.: Variability in service-oriented systems: an analysis of existing approaches. In: Conference on Service-Oriented Computing (ICSOC’12), pp. 516–524 (2012)

  38. Schmid, K.: Variability support for variability-rich software ecosystems. In: Product LinE Approaches in Software Engineering (PLEASE’13) (2013)

  39. Kitchenham, B., Charters, S.: Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE Technical Report EBSE-2007-01, School of Computer Science and Mathematics Keele University (2007)

  40. van Deursen, A., Klint, P.: Domain-specific language design requires feature descriptions. J. Comput. Inf. Technol. 10, 1–17 (2002)

    MATH  Google Scholar 

  41. Asikainen, T., Männistö, T., Soininen, T.: Using a configurator for modelling and configuring software product lines based on feature models. In: Workshop on Software Variability Management for Product Derivation, Software Product Line Conference (SPLC’03), pp. 24–35 (2004)

  42. Asikainen, T., Männistö, T., Soininen, T.: A unified conceptual foundation for feature modelling. In: International Software Product Line Conference, pp. 31–40 (2006)

  43. Asikainen, T.: A conceptual modeling approach to software variability. PhD thesis, Helsinki University of Technology, Faculty of Information and Natural Sciences, Department of Computer Science and Engineering, Finland (2008)

  44. Myllärniemi, V., Asikainen, T., Männistö, T., Soininen, T.: Kumbang configurator—a configuration tool for software product families. In: IJCAI-05 Workshop on Configuration (2005)

  45. Simons, P., Niemelá, I., Soininen, T.: Extending and implementing the stable model semantics. Artif. Intell. 138(1–2), 181–234 (2002)

    Article  MATH  Google Scholar 

  46. Batory, D.: Feature models, grammars, and propositional formulas. In: Software Product Line Conference (SPLC’05), chapter 3, pp. 7–20 (2005)

  47. Batory, D.: AHEAD Tool Suite. http://www.cs.utexas.edu/users/schwartz/ATS.html. Validated Feb 2013

  48. Reiser, M.-O.: Core concepts of the compositional variability management framework (CVM)—a practitioner’s guide. Technical Report 2009-16, Technische Universität Berlin (2009)

  49. Mendonca, M., Branco, M., Cowan D.: SPLOT: software product lines online tools. In: Object Oriented Programming Systems Languages and Applications (OOPSLA’09), pp. 761–762 (2009)

  50. Sayyad, A.S., Menzies, T., Ammar, H.: On the value of user preferences in search-based software engineering: a case study in software product lines. In: International Conference on Software Engineering (ICSE’13), pp. 492–501 (2013)

  51. Acher, M., Collet, P., Lahire, P., France, R.B.: Conference on Software Language Engineering (SLE 2009), pp. 62–81 (2009)

  52. Classen, A., Boucher, Q., Faber, P., Heymans, P.: The TVL specification. Technical Report P-CS-TR SPLBT-00000003, PReCISE Research Center, University of Namur (2010)

  53. Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A.: Beyond boolean product-line model checking: dealing with feature attributes and multi-features. In; International Conference on Software Engineering (ICSE’13), pp. 472–481 (2013)

  54. Clarke, D., Muschevici, R., Proença, J., Schaefer, I., Schlatte, R.: Variability modelling in the ABS language. In: Symposium on Formal Methods for Components and Objects (FMCO’10), pp. 204–224 (2010)

  55. Liang, J.: Solving Clafer Models with Choco. (GSDLab-TR 2012–12-30), 12/2012 (2012)

  56. Olaechea, R., Stewart, S., Czarnecki, K., Rayside, D.: Modeling and multi-objective optimization of quality attributes in variability-rich software. In: Non-Functional System Properties in Domain Specific Modeling Languages (NFPinDSML’12) (2012)

  57. Schröter, R., Thüm, T., Siegmund, N., Saake, G.: Automated analysis of dependent feature models. In: Variability Modelling of Software-intensive Systems (VaMoS’13), pp. 9:1–9:5 (2013)

  58. INDENICA project consortium. Open variability modeling approach for service ecosystems. Technical Report Deliverable D2.1. http://www.indenica.eu (2012). Validated Feb 2013

  59. INDENICA project consortium. INDENICA Research Project Website. http://www.indenica.eu (2010). Validated Feb 2013

  60. CVL group. Common variability language (CVL), OMG Revised Submission, ad/2012-08-05. http://www.omgwiki.org/variability (2012)

  61. Voelter, M., Visser, E.: Product line engineering using domain-specific languages. In: Software Product Line Conference (SPLC’11), pp. 70–79 (2011)

  62. Cechticky, V., Pasetti, A., Rohlik, O., Schaufelberger, W.: Xml-based feature modelling. In: Conference on Software Reuse (ICSR’04), pp. 101–114 (2004)

  63. Zschaler, S., Sanchez, P., Santos, J., Alferez, M., Rashid, A., Fuentes, L., Moreira, A., Araujo, J., Kulesza, U.: VML*—a family of languages for variability management in software product lines. In: Conference on Software Language Engineering (SLE’09), pp. 82–102 (2009)

  64. Zhou, J., Zhao, D., Xu, L., Liu, J.: Do we need another textual language for feature modeling? In: Software Engineering Research, Management and Applications. Studies in Computational Intelligence, vol. 430, pp. 97–111 (2012)

  65. Linux Kernel Team: KConfig. http://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt. Validated Feb 2013

  66. eCos Team. eCos Home Page. http://ecos.sourceware.org/. Validated March 2013

  67. Myllärniemi, V., Tiihonen, J., Raatikainen, M., Felfernig, A.: Using answer set programming for feature model representation and configuration. In: Felfernig, A., Forza, C., Haag, A. (eds.) International Configuration Workshop, CEUR Workshop Proceedings, vol. 1220, pp. 1–8 (2014)

  68. Asikainen, T., Männistö, T., Soininen, T.: Kumbang: a domain ontology for modelling variability in software product families. Adv. Eng. Inform. 21(1), 23–40 (2007)

    Article  Google Scholar 

  69. Antkiewicz, M.: Domain concept modeling using clafer, tutorial version 9.2. http://gsd.uwaterloo.ca/node/310 (2012). Validated Dec 2013

  70. Object Management Group, Inc. (OMG). Object constraint language. Specification v2.00 2006–05-01, Object Management Group. http://www.omg.org/docs/formal/06-05-01.pdf (2006)

  71. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Progr. 79, 70–85 (2014)

    Article  Google Scholar 

  72. Antkiewicz, M., Bak, K., Czarnecki, K., Diskin, Z., Zayan, D., Wasowski, A.: Example-driven modeling using clafer. In: Kessentini, M., Langer, P., Sahraoui, H.A. (eds.) International Workshop on Model-driven Engineering, pp. 32–41 (2013)

  73. Eichelberger, H., Kröher, C., Schmid, K.: An analysis of variability modeling concepts: expressiveness vs. analyzability. In: Conference on Software Reuse (ICSR’13), pp. 32–48 (2013)

  74. Wong, P.Y.H., Diakov, N., Schaefer, I.: Modelling adaptable distributed object oriented systems using the hats approach: a fredhopper case study. In: Conference on Formal Verification of Object-Oriented Software (FoVeOOS’11), pp. 49–66 (2012)

  75. Ahn, H., Kang, S., Lee, J.: A case study comparison of variability representation mechanisms with the HeRA product line. In: Conference on Computational Science and Engineering (CSE’13), pp. 416–423 (2013)

  76. Djebbi, O., Salinesi, C.: Criteria for comparing requirements variability modeling notations for product lines. In; Workshop on Comparative Evaluation in Requirements Engineering (CERE’06), pp. 20–35 (2006)

  77. Helvensteijn, M.: Dynamic delta modeling. In: Lee, R. (ed.) Software Product Line Conference (SPLC’12), vol. 2, pp. 127–134 (2012)

  78. Keunecke, M., Brummermann, H., Schmid, K.: The feature pack approach: systematically managing implementations in software ecosystems. In: Variability Modelling of Software-Intensive Systems (VAMOS’14), pp. 20:1–20:7 (2013)

Download references

Acknowledgments

We would like to thank the reviewers who contributed to the improvement of this paper. We are also particularly grateful to the colleagues who took part in our expert survey and provided feedback to our classification of their work, namely Michal Antkiewicz, Dave Clarke, Reimar Schröter, Maxime Cordy, Mark-Oliver Reiser, and Tomi Männistö. This work was partially supported by the INDENICA project (grant 257483) and the QualiMaster project (grant 619525), both funded by the European Commission grant in the 7th framework programme, the ScaleLog project funded by the German Ministry of Economics and Energy (grant KF2912401SS) and the EvoLine-Project, funded by DFG within the SPP1593. Any opinions expressed herein are solely by the authors and not of the DFG or any of the other funding agencies.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Holger Eichelberger.

Additional information

This article is based on our initial analysis of textual product line variability modeling languages in [1].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Eichelberger, H., Schmid, K. Mapping the design-space of textual variability modeling languages: a refined analysis. Int J Softw Tools Technol Transfer 17, 559–584 (2015). https://doi.org/10.1007/s10009-014-0362-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-014-0362-x

Keywords

Navigation