Reverse Engineering Language Product Lines from Existing DSL Variants

David Méndez-Acuña 1 José Galindo 2 Benoit Combemale 1 Arnaud Blouin 1 Benoit Baudry 1
1 DiverSe - Diversity-centric Software Engineering
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : The use of domain-specific languages (DSLs) has become a successful technique to develop complex systems. In this context, an emerging phenomenon is the existence of DSL variants, which are different versions of a DSL adapted to specific purposes but that still share commonalities. In such a case, the challenge for language designers is to reuse, as much as possible, previously defined language constructs to narrow implementation from scratch. To overcome this challenge, recent research in software languages engineering introduced the the notion of language product lines. Similarly to software product lines, language product lines are often built from a set of existing DSL variants. In this article, we propose a reverse-engineering technique to ease-off such a development scenario. Our approach receives a set of DSL variants which are used to automatically recover a language modular design and to synthesize the corresponding variability models. The validation is performed in a project involving industrial partners that required three different variants of a DSL for finite state machines. This validation shows that our approach is able to correctly identify commonalities and variability.
Document type :
Journal articles
Complete list of metadatas

Cited literature [50 references]  Display  Hide  Download

https://hal.inria.fr/hal-01524632
Contributor : David Mendez-Acuna <>
Submitted on : Thursday, May 18, 2017 - 3:25:05 PM
Last modification on : Friday, September 13, 2019 - 9:48:41 AM
Long-term archiving on : Monday, August 21, 2017 - 12:39:46 AM

File

elsarticle-template.pdf
Files produced by the author(s)

Identifiers

Citation

David Méndez-Acuña, José Galindo, Benoit Combemale, Arnaud Blouin, Benoit Baudry. Reverse Engineering Language Product Lines from Existing DSL Variants. Journal of Systems and Software, Elsevier, 2017, ⟨10.1016/j.jss.2017.05.042⟩. ⟨hal-01524632⟩

Share

Metrics

Record views

1000

Files downloads

449