Feature Models, Grammars, and Propositional Formulas [chapter]

Don Batory
2005 Lecture Notes in Computer Science  
Software product line engineering (SPLE) [5] seeks to exploit the commonalities among systems from a given problem domain while managing the variabilities among them in a systematic way. In SPLE, new system variants can be rapidly created based on a set of reusable assets, such as a common architecture, components, and models. Generative software development [6] aims at modeling and implementing product lines in such a way that a given system can be automatically generated from a specification
more » ... ritten in one or more textual or graphical domain-specific languages (DSLs) [13, 4, 15, 8, 3, 1, 12, 14] . In this tutorial, participants will learn how to perform (1) domain analysis, i.e., capturing the commonalities and variabilities within a product line using, among others, feature modeling, (2) domain design, i.e., developing a common architecture for a product line, and (3) implementing software generators using multiple technologies, such as template-based code generation and model transformations. I will describe recent progress in feature modeling, including staged configuration [9], constraint support for feature modeling and configuration [10, 2] , and feature models as views on ontologies [11] . Furthermore, I will survey and compare available tools for feature modeling and implementing DSLs as well as related approaches such as Software Factories and Model-Driven Architecture. Among others, I will demonstrate tool support for mapping features to UML models and model configuration [7] . The presented concepts and methods will be explained using a sample case study of an e-commerce platform.
doi:10.1007/11554844_3 fatcat:d6qpbrmxkneqndkvl2m75pi7y4