Melange: A Meta-language for Modular and Reusable Development of DSLs

Thomas Degueule 1 Benoit Combemale 1 Arnaud Blouin 1 Olivier Barais 1 Jean-Marc Jézéquel 1, 2
1 DiverSe - Diversity-centric Software Engineering
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : Domain-Specific Languages (DSLs) are now developed for a wide variety of domains to address specific concerns in the development of complex systems. When engineering new DSLs, it is likely that previous efforts spent on the development of other languages could be leveraged, especially when their domains overlap. However, legacy DSLs may not fit exactly the end user requirements and thus require further extension, restriction, or specialization. While current language workbenches provide import mechanisms, they usually lack an explicit support for such customizations of imported artifacts. In this paper, we propose an approach for building DSLs by safely assembling and customizing legacy DSLs artifacts. This approach is based on typing relations that provide a reasoning layer for manipulating DSLs while ensuring type safety. On top of this reasoning layer, we provide an algebra of operators for extending, restricting, and assembling separate DSL artifacts. We implemented the typing relations and algebra into the Melange metalanguage. We illustrate Melange through the modular definition of an executable modeling language for the Internet Of Things domain. We show how it eases the definition of new DSLs by maximizing the reuse of legacy artifacts without introducing issues in terms of performance, technical ecosystem compatibility, or generated code volume.
Type de document :
Communication dans un congrès
8th International Conference on Software Language Engineering (SLE), Oct 2015, Pittsburgh, United States
Liste complète des métadonnées


https://hal.inria.fr/hal-01197038
Contributeur : Thomas Degueule <>
Soumis le : vendredi 11 septembre 2015 - 00:32:09
Dernière modification le : mercredi 2 août 2017 - 10:06:27
Document(s) archivé(s) le : mardi 29 décembre 2015 - 00:15:28

Fichier

sle15-melange.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01197038, version 1

Citation

Thomas Degueule, Benoit Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel. Melange: A Meta-language for Modular and Reusable Development of DSLs. 8th International Conference on Software Language Engineering (SLE), Oct 2015, Pittsburgh, United States. <hal-01197038>

Partager

Métriques

Consultations de
la notice

920

Téléchargements du document

602