The increasing complexity of software systems that are combined with abundant resources and programming facilities has fueled the multiplication of domain-specific languages (DSLs). A DSL is a language restricted to the manipulation of a particular domain, and it’s conceptually opposed to general-purpose programming languages. Often, a DSL interacts with a general-purpose language and other DSLs. A major problem in DSL research is being able to correctly and effectively specify these interactions.
For DSL composition, existing approaches are black-box style, which means that “the use of abstractions from one domain does not affect the interpretation of abstractions from another domain.” First, Dinkelaker et al. identify the existing approaches’ weaknesses--mainly, scattering and tangling symptoms. Then, in order to address this issue, the authors propose an architecture for embedding DSLs. The architecture’s use of meta-object protocols and aspect-oriented concepts supports the crosscutting composition of embedded DSLs.
This paper offers a smart interpretation, from a DSL point of view, of a problem that is traditionally addressed using aspect orientation.