Melange: A Meta-language for Modular and Reusable Development of DSLs - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

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

Résumé

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.
Fichier principal
Vignette du fichier
sle15-melange.pdf (462.16 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01197038 , version 1 (11-09-2015)

Identifiants

  • HAL Id : hal-01197038 , version 1

Citer

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⟩
682 Consultations
1338 Téléchargements

Partager

Gmail Facebook X LinkedIn More