Leveraging Software Product Lines Engineering in the development of external DSLs: A systematic literature review. (November 2016) - Méndez-Acuña, David; Galindo, José A.; Degueule, Thomas; Combemale, Benoît; Baudry, Benoît
Abstract: The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems. Consequently, nowadays we can find a large variety of DSLs for diverse purposes. However, not all these DSLs are completely different; many of them share certain commonalities coming from similar modeling patterns – such as state machines or petri nets – used for several purposes. In this scenario, the challenge for language designers is to take advantage of the commonalities existing among similar DSLs by reusing, as much as possible, formerly defined language constructs. The objective is to leverage previous engineering efforts to minimize implementation from scratch. To this end, recent research in software language engineering proposes the use of product line engineering, thus introducing the notion of language product lines . Nowadays, there are several approaches that result useful in the construction of language product lines. In this article, we report on an effort for organizing the literature on language product line engineering. More precisely, we propose a definition for the life-cycle of language product lines, and we use it to analyze the capabilities of current approaches. In addition, we provide a mapping between each approach and the technological space it supports. Abstract : Highlights: Survey on the applicability of software product lines in the construction of DSLs. General life-cycle for language product lines. Mapping current approaches on language product lines and technological spaces. Research map in language product lines engineering.