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 eg 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 eg 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 eg graphical and textual representation Finally semantic variation points refer to different interpretation to the same concept by two members of the family eg the concept \textitfork 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
from HAL : Dernières publications http://ift.tt/ZTGN6I
from HAL : Dernières publications http://ift.tt/ZTGN6I
0 commentaires:
Enregistrer un commentaire