Product Line Engineering Using Domain-Specific Languages

Markus Völter, Eelco Visser. Product Line Engineering Using Domain-Specific Languages. In Eduardo Santana de Almeida, Tomoji Kishi, Christa Schwanninger, Isabel John, Klaus Schmid, editors, Software Product Lines - 15th International Conference, SPLC 2011, Munich, Germany, August 22-26, 2011. pages 70-79, IEEE, 2011. [doi]


This paper investigates the application of domain-specific languages in product line engineering (PLE). We start by analyzing the limits of expressivity of feature models. Feature models correspond to context-free grammars without recursion, which prevents the expression of multiple instances and references. We then show how domain-specific languages (DSLs) can serve as a middle ground between feature modeling and programming. They can be used in cases where feature models are too limited, while keeping the separation between problem space and solution space provided by feature models. We then categorize useful combinations between configuration with feature model and construction with DSLs and provide an integration of DSLs into the conceptual framework of PLE. Finally we show how use of a consistent, unified formalism for models, code, and configuration can yield important benefits for managing variability and trace ability. We illustrate the concepts with several examples from industrial case studies.