feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

DSLs for Product-line Engineering

The differentiation and separate specification of different aspects in the solution space of a product line is a necessary to handle their complexity. This motivates the application of domain-specific languages (DSLs), since their tailored conceptualisation reduces the semantic gap between the domain and the modelling language.

Editors and Other Tools for DSLs

To support a manifold of different DSLs, stable formalisms for the definition of languages and the development of tools are needed. The abstract syntax that is the underlying conceptualisation - is in the focus of a language definition. For that the approach of model-driven software development introduces metamodels, that provide the basis to define a modelling language. Model transformations and code generation map expressions of different DSLs to a uniform implementation language. The result is an integrated description of the complete system.

The Eclipse IDE assembles a multitude of tools which support the development of DSL editors and other DSL tools:

  • The Eclipse Modeling Framework (EMF) for language metamodelling and the generation of tree-based editors
  • The Graphical Modeling Framework (GMF) for the generation of graphical editors
  • Different tools for the development of textual editors (Sintaks, Textual Concrete Syntax (TCS), Textual Editing Framework (TEF))
  • Different languages for model transformations (ATL, openarchitectureware Xtend, QVT)
  • Different languages for code generation (JET, openarchitectureware Xpand)

DSLs in the Context of Product-line Engineering

Building on top of these technologies we identify the following challenges for the application of DSLs in the context of Product-line Engineering:

  • Generic mapping of features in the problem space to artefacts of arbitrary DSLs
  • Feature-driven Transformation of DSL expressions for the selection of a concrete product
  • Semantic interconnection of different DSLs
  • Efficient DSL realisation with language composition
  • Realisation of Embedded DSLs with aspect-oriented technologies

Back to the feasiPLe Architecture