Advertisement

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

  • Holger Eichelberger
  • Klaus Schmid
SPLC

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.

Keywords

Variability modeling Domain-specific languages Survey Scalability 

Notes

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.

References

  1. 1.
    Eichelberger, H., Schmid, K.: A systematic analysis of textual variability modeling languages. In: Software Product Line Conference (SPLC’13), pp. 12–21 (2013)Google Scholar
  2. 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)Google Scholar
  3. 3.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)Google Scholar
  4. 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)Google Scholar
  5. 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)Google Scholar
  6. 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)Google Scholar
  7. 7.
    Schmid, K., John, I.: A customizable approach to full-life cycle variability management. Sci. Comput. Progr. 53(3), 259–284 (2004)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Software Productivity Consortium Services Corporation: Technical Report SPC-92019-CMC. Reuse-Driven Software Processes Guidebook, Version 02.00.03 (1993)Google Scholar
  9. 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)Google Scholar
  10. 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)Google Scholar
  11. 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)Google Scholar
  12. 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)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)Google Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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)Google Scholar
  17. 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)Google Scholar
  18. 18.
    IVML team: IVML Language Specification, version 1.18. http://projects.sse.uni-hildesheim.de/easy/docs/ivml_spec.pdf. Validated March 2013
  19. 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)Google Scholar
  20. 20.
    van der Storm, T.: Variability and component composition. In: Conference on Software Reuse (ICSR’04), pp. 157–166 (2004)Google Scholar
  21. 21.
    Stumptner, M.: An overview of knowledge-based configuration. AI Commun. 10(2), 111–125 (1997)Google Scholar
  22. 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)Google Scholar
  23. 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)Google Scholar
  24. 24.
    Berger, T.: Variability modeling in the wild. In: Software Product Line Conference (SPLC’12), vol. 2, pp. 233–241. ACM, New York (2012)Google Scholar
  25. 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)Google Scholar
  26. 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)Google Scholar
  27. 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)CrossRefGoogle Scholar
  28. 28.
    Beuche, D.: Modeling and building software product lines with pure::variants. In: Software Product Line Conference (SPLC’08), pp. 358 (2008)Google Scholar
  29. 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)Google Scholar
  30. 30.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Software Product Line Conference (SPLC’04), pp. 162–164 (2004)Google Scholar
  31. 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)Google Scholar
  32. 32.
    Schmid, K.: Variability modeling for distributed development—a comparison with established practice. In: Software Product Lines: Going Beyond, pp. 151–165 (2010)Google Scholar
  33. 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)Google Scholar
  34. 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)Google Scholar
  35. 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)Google Scholar
  36. 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)CrossRefGoogle Scholar
  37. 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)Google Scholar
  38. 38.
    Schmid, K.: Variability support for variability-rich software ecosystems. In: Product LinE Approaches in Software Engineering (PLEASE’13) (2013)Google Scholar
  39. 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)Google Scholar
  40. 40.
    van Deursen, A., Klint, P.: Domain-specific language design requires feature descriptions. J. Comput. Inf. Technol. 10, 1–17 (2002)zbMATHGoogle Scholar
  41. 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)Google Scholar
  42. 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)Google Scholar
  43. 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)Google Scholar
  44. 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)Google Scholar
  45. 45.
    Simons, P., Niemelá, I., Soininen, T.: Extending and implementing the stable model semantics. Artif. Intell. 138(1–2), 181–234 (2002)zbMATHCrossRefGoogle Scholar
  46. 46.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Software Product Line Conference (SPLC’05), chapter 3, pp. 7–20 (2005)Google Scholar
  47. 47.
    Batory, D.: AHEAD Tool Suite. http://www.cs.utexas.edu/users/schwartz/ATS.html. Validated Feb 2013
  48. 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)Google Scholar
  49. 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)Google Scholar
  50. 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)Google Scholar
  51. 51.
    Acher, M., Collet, P., Lahire, P., France, R.B.: Conference on Software Language Engineering (SLE 2009), pp. 62–81 (2009)Google Scholar
  52. 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)Google Scholar
  53. 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)Google Scholar
  54. 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)Google Scholar
  55. 55.
    Liang, J.: Solving Clafer Models with Choco. (GSDLab-TR 2012–12-30), 12/2012 (2012)Google Scholar
  56. 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)Google Scholar
  57. 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)Google Scholar
  58. 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. 59.
    INDENICA project consortium. INDENICA Research Project Website. http://www.indenica.eu (2010). Validated Feb 2013
  60. 60.
    CVL group. Common variability language (CVL), OMG Revised Submission, ad/2012-08-05. http://www.omgwiki.org/variability (2012)
  61. 61.
    Voelter, M., Visser, E.: Product line engineering using domain-specific languages. In: Software Product Line Conference (SPLC’11), pp. 70–79 (2011)Google Scholar
  62. 62.
    Cechticky, V., Pasetti, A., Rohlik, O., Schaufelberger, W.: Xml-based feature modelling. In: Conference on Software Reuse (ICSR’04), pp. 101–114 (2004)Google Scholar
  63. 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)Google Scholar
  64. 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)Google Scholar
  65. 65.
    Linux Kernel Team: KConfig. http://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt. Validated Feb 2013
  66. 66.
    eCos Team. eCos Home Page. http://ecos.sourceware.org/. Validated March 2013
  67. 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)Google Scholar
  68. 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)CrossRefGoogle Scholar
  69. 69.
    Antkiewicz, M.: Domain concept modeling using clafer, tutorial version 9.2. http://gsd.uwaterloo.ca/node/310 (2012). Validated Dec 2013
  70. 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. 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)CrossRefGoogle Scholar
  72. 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)Google Scholar
  73. 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)Google Scholar
  74. 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)Google Scholar
  75. 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)Google Scholar
  76. 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)Google Scholar
  77. 77.
    Helvensteijn, M.: Dynamic delta modeling. In: Lee, R. (ed.) Software Product Line Conference (SPLC’12), vol. 2, pp. 127–134 (2012)Google Scholar
  78. 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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Software Systems EngineeringUniversity of HildesheimHildesheimGermany

Personalised recommendations