Engineering Tagging Languages for DSLs
This addresses the challenge of keeping DSLs clean and reusable for software engineers, though it appears incremental in improving existing tagging methods.
The paper tackles the problem of defining tagging languages for domain-specific languages (DSLs) by presenting a systematic approach that combines DSL-specific fit with reduced implementation effort, showing it can be partially generated and applied to any DSL.
To keep a DSL clean, readable and reusable in different contexts, it is useful to define a separate tagging language. A tag model logically adds information to the tagged DSL model while technically keeping the artifacts separated. Using a generic tagging language leads to promiscuous tag models, whereas defining a target DSL-specific tag language has a high initial overhead. This paper presents a systematic approach to define a DSL-specific tag language and a corresponding schema language, combining the advantages of both worlds: (a) the tag language specifically fits to the DSL, (b) the artifacts are kept separated and enabling reuse with different tag decorations, (c) the tag language follows a defined type schema, and (d) systematic derivation considerably reduces the effort necessary to implement the tag language. An example shows that it can at least partially be realized by a generator and applied for any kind of DSL. Index Terms Software Engineering, Modeling, MDE, GSE