Composition et interopérabilité pour l'ingénierie des langages dédiés externes - TEL - Thèses en ligne
Thèse Année : 2016

Composition et interopérabilité pour l'ingénierie des langages dédiés externes

Composition and interoperability for external domain-specific language engineering

Résumé

Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios.
Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios.
Fichier principal
Vignette du fichier
DEGUEULE_Thomas.pdf (1.74 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01488300 , version 1 (13-03-2017)

Identifiants

  • HAL Id : tel-01488300 , version 1

Citer

Thomas Degueule. Composition et interopérabilité pour l'ingénierie des langages dédiés externes. Software Engineering [cs.SE]. Université de Rennes, 2016. English. ⟨NNT : 2016REN1S093⟩. ⟨tel-01488300⟩
732 Consultations
478 Téléchargements

Partager

More