The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems. Nevertheless, the construction of this type of languages is time-consuming and requires highly-specialized knowledge and skills. An emerging practice to facilitate this task is to enable reuse through the definition of language modules which can be later put together to build up new DSLs. Still, the identification and definition of language modules are complex and error-prone activities, thus hindering the reuse exploitation when developing DSLs. In this paper, we propose a computer-aided approach to (i) identify potential reuse in a set of legacy DSLs; and (ii) capitalize such potential reuse by extracting a set of reusable language modules with well defined interfaces that facilitate their assembly. We validate our approach by using realistic DSLs coming out from industrial case studies and obtained from public GitHub repositories.
CITATION STYLE
Méndez-Acuña, D., Galindo, J. A., Combemale, B., Blouin, A., Baudry, B., & Le Guernic, G. (2016). Reverse-engineering reusable language modules from legacy domain-specific languages. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9679, pp. 368–383). Springer Verlag. https://doi.org/10.1007/978-3-319-35122-3_24
Mendeley helps you to discover research relevant for your work.