You are here

Composition and Interoperability for External Domain-Specific Language Engineering

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 or the specificities of a new domain of application.

We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their environments. We evaluate the ability of Melange to solve challenging SLE scenarios.


And a drink in room Markov...

Monday, 12. December 2016 - 9:00 to 12:00
IRISA Rennes - Salle Pétri-Turing
Defense Type: 
Composition of jury: 
  • Mark van den Brand (Professor, Eindhoven University of Technology) Reviewer
  • Richard Paige (Professor, University of York) Reviewer
  • Sandrine Blazy (Professor, University of Rennes 1) Examiner
  • Ralf Lämmel (Professor, University of Koblenz-Landau) Examiner
  • Bernhard Rumpe (Professor, RWTH Aachen University) Examiner
  • Olivier Barais (Professor, University of Rennes 1) Advisor
  • Arnaud Blouin (Associate Professor, INSA Rennes) Advisor
  • Benoit Combemale (Associate Professor, University of Rennes 1) Advisor