Abstract
Variability modeling is a core activity of software product line engineering. Over the years, many different approaches to variability modeling have been proposed. Typically, the individual approaches have been designed without a detailed justification on why certain modeling concepts should be used. This yields a rather unfunded selection of modeling approaches in practice, e.g., selecting approaches that provide higher modeling concepts than actually needed, but less analyses capabilities than required. Thus, we propose that the focus of an analysis should not be to determine the best modeling language, but rather to provide a characterization on when to use what kind of approach. In particular, the selection of one approach for a specific situation should be driven from the required modeling concepts (expressiveness) and the required analyzability.
In this paper, we propose a classification of core concepts of variability modeling based on expressiveness and analyzability. We discuss the methodology for and the classification of variability modeling concepts illustrated by a running example. The contribution of this paper is a modeling approach-independent classification of variability modeling concepts and their dependencies to provide a systematic and rationale basis to anyone designing, standardizing, implementing or selecting a specific variability modeling approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
KConfig Language (2012), http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt
Antkiewicz, M., Czarnecki, K.: Feature Plugin: Feature modeling plug-in for Eclipse. In: Eclipse Technology eXchange Workshop (2004)
Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and Meta-models in Clafer: Mixed, Specialized, and Coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)
Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)
Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Automated Reasoning on Feature Models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)
Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems 35, 615–636 (2010)
Benavides, D., Trinidad, P., Ruiz-Cortes, A.: Using Constraint Programming to Reason on Feature Models. In: Intl. Conf. Software Engineering and Knowledge Engineering, pp. 677–682 (2005)
Berger, T., Rublack, R., Nair, D., Atlee, J., Becker, M., Czarnecki, K., Wasowski, A.: A Survey of Variability Modeling in Industrial Practice. In: Intl. WS on Variability Modelling of Software-intensive Systems, pp. 7:1-7:8 (2012)
Berger, T., She, S., Lotufo, R., Wasowski, A., Czarnecki, K.: Variability Modeling in the Real: A Perspective from the Operating Systems Domain. In: Intl. Conference on Automated Software Engineering, pp. 73–82 (2010)
Boucher, Q., Classen, A., Faber, P., Heymans, P.: Introducing TVL, a Text-Based Feature Modelling Language. In: Intl. WS on Variability Modelling of Software-intensive Systems, pp. 159–162 (2010)
Brummermann, H., Keunecke, M., Schmid, K.: Formalizing distributed evolution of variability in information system ecosystems. In: Intl. WS on Variability Modelling of Software-intensive Systems, pp. 11–19 (2012)
Chen, L., Ali Babar, M., Ali, N.: Variability Management in Software Product Lines: A Systematic Review. In: Intl. Conf. Software Product Lines, pp. 81–90 (2009)
Classen, A., Heymans, P., Schobbens, P.-Y.: What’s in a Feature: a Requirements Engineering Perspective. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 16–30. Springer, Heidelberg (2008)
Cook, S.A.: The Complexity of Theorem-Proving Procedures. In: Symp. on the Theory of Computing, pp. 151–158 (1971)
Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In: Intl. WS on Variability Modelling of Software-intensive Systems, pp. 173–182 (2012)
Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-Based Feature Models and their Specialization. Softw. Process Improv. Pract. 10, 7–29 (2005)
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)
Czarnecki, K., Kim, P.: Cardinality-Based Feature Modeling and Constraints: A Progress Report. In: Symp. on Object-Oriented Programming Systems, Languages, and Applications, pp. 16–20 (2005)
Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER Meta-Tool for Decision-Oriented Variability Modeling: A Multiple Case Study. J. Automated Software Engineering 18, 77–114 (2011)
El-Sharkawy, S., Dederichs, S., Schmid, K.: From feature models to decision models and back again: An analysis based on formal transformations. In: Intl. Conf. Software Product Lines, vol. 1, pp. 126–135 (2012)
El-Sharkawy, S., Kröher, C., Schmid, K.: Supporting heterogeneous compositional multi software product lines. In: Intl. Conf. Software Product Lines, vol. 2, pp. 25:1-25:4 (2011)
European Software Institute, IKV++ Technologies.MASTER: Model-driven Architecture inSTrumentation, Enhancement and Refinement, IST-2001-34600, MASTER D1.1 (2002)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley (2004)
Istoan, P., Klein, J., Perouin, G., Jezequel, J.-M.: A Metamodel-based Classification of Variability Modeling Approaches. In: VARiability for You Workshop, pp. 23–32 (2011)
Jackson, D., Schechter, I., Shlyahter, H.: Alcoa: The Alloy Constraint Analyzer. In: Intl. Conf. Software Engineering, pp. 730–733 (2000)
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)
Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architecture. Ann. Softw. Eng. 5, 143–168 (1998)
Liebig, J., Daniel, R., Apel, S.: Feature-oriented language families: A case study. In: Intl. Workshop on Variability Modelling of Software-intensive Systems, pp. 11:1-11:8 (2012)
Mannion, M.: Using First-Order Logic for Product Line Model Validation. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 176–202. Springer, Heidelberg (2002)
Mansell, J.X., Sellier, D.: Decision Model and Flexible Component Definition Based on XML Technology. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 466–472. Springer, Heidelberg (2004)
Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based Analysis of Feature Models is Easy. In: Intl. Conf. Software Product Lines, pp. 231–240 (2009)
Object Management Group, Inc. (OMG). Common Variability Language (CVL), OMG initial submission. Available on request (2010)
Passos, L., Novakovic, M., Xiong, Y., Berger, T., Czarnecki, K., Wasowski, A.: A Study of Non-Boolean Constraints in Variability Models of an Embedded Operating System. In: Intl. WS on Feature-Oriented Software Development (2011)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer (2005)
Queralt, A., Artale, A., Calvanese, D., Teniente, E.: OCL-Lite: Finite reasoning on UML/OCL conceptual schemas. J. Data Knowledge Engineering 73, 1–22 (2012)
Reiser, M.-O.: Core Concepts of the Compositional Variability Management Framework (CVM). Technical Report 2009/16, Technische Universität Berlin (2009)
Riebisch, M., Böllert, K., Streitferdt, D., Philippow, I.: Extending Feature Diagrams with UML Multiplicity. In: Conf. on Integrated Design and Process Technology (2002)
Schmid, K.: Variability modeling for distributed development - a comparison of established practice. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 151–165. Springer, Heidelberg (2010)
Schmid, K., John, I.: A Customizable Approach To Full-Life Cycle Variability Management. Sci. Comput. Program. 53(3), 259–284 (2004)
Schmid, K., Rabiser, R., Grünbacher, P.: A Comparison of Decision Modeling Approaches in Product Lines. In: Intl. WS on Variability Modelling of Software-intensive Systems, pp. 119–126 (2011)
Schobbens, P.-Y., Heymans, P., Trigaux, J.-C.: Feature Diagrams: A Survey and a Formal Semantics. In: Intl. Conf. Requirements Engineering, pp. 139–148 (2006)
Software Productivity Consortium Services Corporation, Technical Report SPC-92019-CMC.Reuse-Driven Software Processes Guidebook, Version 02.00.03 (November 1993)
Streitferdt, D., Riebisch, M., Philippow, I.: Details of Formalized Relations in Feature Models Using OCL. In: Intl. Conf. the Engineering of Computer Based Systems, pp. 45–54 (2003)
van Deursen, A., Klint, P.: Domain-Specific Language Design Requires Feature Descriptions. JCIT 10, 1–17 (2002)
Veer, B., Dallaway, J.: The eCos Component Writer’s Guide (2001), http://ecos.sourceware.org/docs-latest/cdl-guide/cdl-guide.html
Voelter, M., Visser, E.: Product Line Engineering using Domain-Specific Languages. In: Intl. Conf. Software Product Lines, pp. 70–79 (2011)
White, J., Dougherty, B., Schmidt, D.C., Benavides, D.: Automated Reasoning for Multi-step Software Product-line Configuration Problems. In: Intl. Conf. Software Product Lines, pp. 11–20 (2009)
White, J., Doughtery, B., Schmidt, D.: Selecting Highly Optimal Architectural Feature Sets with Filtered Cartesian Flattening. J. Systems and Software 82(8), 1268–1284 (2009)
White, J., Hill, J., Gray, J., Tambe, S., Gokhale, A., Schmidt, D.: Improving Domain-Specific Language Reuse with Software Product Line Techniques. IEEE Softw. 26, 47–53 (2009)
White, J., Schmidt, D.C., Wuchner, E., Nechypurenko, A.: Automating Product-Line Variant Selection for Mobile Devices. In: Intl. Conf. Software Product Lines, pp. 129–140 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Eichelberger, H., Kröher, C., Schmid, K. (2013). An Analysis of Variability Modeling Concepts: Expressiveness vs. Analyzability. In: Favaro, J., Morisio, M. (eds) Safe and Secure Software Reuse. ICSR 2013. Lecture Notes in Computer Science, vol 7925. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38977-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-38977-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38976-4
Online ISBN: 978-3-642-38977-1
eBook Packages: Computer ScienceComputer Science (R0)