Variability Management in Domain-Specific Languages

David Méndez-Acuña 1 Benoit Combemale 1 Benoit Baudry 1
1 DiverSe - Diversity-centric Software Engineering
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : Domain-specific languages (DSLs) allow domain experts to express solutions directly in terms of relevant domain concepts and, for example, use generative mechanisms to transform DSL' specifications into software artifacts (e.g. code, configuration files or documentation). Thus, abstracting away from the complexity of the rest of the system and the intricacies of its implementation. As a result, the construction of DSLs is becoming a recurrent activity during the development of software intensive systems. However, the construction of DSLs is a challenging task due to the specialized knowledge it requires; in order to successfully perform such activity, an engineer must own not only quite solid modeling skills but also the technical expertise for conducting the definition of specific artifacts such as grammars, metamodels, compilers, interpreters, among others. The situation becomes even more challenging in the context of multi-domain companies (e.g. Thales) where several domains coexist across the business units and, consequently, there is a need to deal with families of DSLs. A family of DSLs is a set of DSLs that share some commonalities and that differ by some variability that, in turn, is materialized in certain variation points existing at three different dimensions: functional, syntactical and semantical. Functional variation points refer to the capability of creating DSLs including only a subset of constructs of the whole language so it is possible to create stakeholder-specific DSLs while maintaining them as simpler as possible. Syntactic variation points refers to different representations of the same concept (e.g., graphical and textual representation). Finally, semantic variation points refer to different interpretation to the same concept by two members of the family (e.g., the concept \textit{fork} in the case of the state machines can be interpreted as a concurrency point where all the output transitions are dispatched simultaneously or simply as a bifurcation point where the output transitions are dispatched sequentially). Recent research works have demonstrated the benefits of the use of software product lines engineering (SPLE) in the construction of families DSLs. All of these works agree on the need of a modularization approach that enables the decomposition of a DSL into independent modules and a variability management mechanism for effectively dealing with the differences and commonalities among the DSLs members of the family. The research summarized in this document is aimed to contribute to this study. Concretely speaking, we work on the formalization of the alignment between the modularization approach and the variability management mechanism taking into account the three dimensions of the variability. Our preliminary results suggest the need of the definition of language interfaces for addressing each variability realization technique for the particular case of DSLs. In addition, an strategy should be conceived for modeling the multi-dimensional variability existing in families DSLs in such a way that facilitates the configuration and derivation of DSLs according to the specific needs of the users. As part of the validation process, we are applying all these ideas in a real word industrial case study in the context of Thales Group.
Type de document :
International School of Model-Driven Development for Distributed Real-Time Embedded Systems (MDDRES), Sep 2014, Aber-Wrac'h, France. 2014, <>
Liste complète des métadonnées
Contributeur : David Mendez-Acuna <>
Soumis le : lundi 27 octobre 2014 - 11:56:46
Dernière modification le : jeudi 9 février 2017 - 16:03:00
Document(s) archivé(s) le : mercredi 28 janvier 2015 - 10:32:15


  • HAL Id : hal-01077788, version 1


David Méndez-Acuña, Benoit Combemale, Benoit Baudry. Variability Management in Domain-Specific Languages. International School of Model-Driven Development for Distributed Real-Time Embedded Systems (MDDRES), Sep 2014, Aber-Wrac'h, France. 2014, <>. <hal-01077788>



Consultations de
la notice


Téléchargements du document