You are here

Leveraging Software Product Line Engineering in the Construction of Domain Specific Languages

The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems because it furnishes abstraction, separation of concerns and much more. Nowadays, we can find a large variety of DSLs providing support in various domains. However, the construction of these languages is an expensive task (requires important amount of time and efforts in the definition of formal specifications and tooling to meet requirements).

The construction of DSLs becomes even more challenging in multi-domain companies that provide several products (adaptation to diverse application scenarios leading to the construction of several variants of the same DSL). The key idea there is reusing and identify commonalities. The objective is to leverage previous engineering efforts to minimize implementation from scratch. Recent research in software language engineering has proposed the use of product line engineering techniques to facilitate the construction of DSL variants. Similarly to software product lines, language product lines (software product lines where products are languages) can be built through two different approaches. In the top-down approach, a language product line is designed and implemented through a domain analysis process. In the bottom-up approach, the language product line is built up from a set of existing DSL variants through reverse-engineering techniques.

In this thesis, we propose, first, facilities in terms of language modularization and variability management to support the top-down approach but also we introduce a reverse-engineering technique to support the bottom-up approach. Those ideas are implemented in a well-engineered language workbench allowing to validate our contributions in three case studies.


With a drink in romm Markov...

Friday, 16. December 2016 - 15:00 to 17:00
IRISA Rennes - Salle Pétri-Turing
Defense Type: 
Composition of jury: 

Members of the jury are :

– Isabelle BORNE (Professeur à l’Université de Bretagne Sud) Examinatrice

– Jean-Michel BRUEL (Professeur à l’Université de Toulouse) Rapporteur

– Reda BENDRAOU (Professeur à l’Université de Paris Ouest) Rapporteur

– Benoît BAUDRY (Chargé de recherche. INRIA Rennes) Directeur de thèse