Mashup of Meta-Languages and its Implementation in the Kermeta Language Workbench
This addresses the problem for software engineers who need to design and implement DSLs more efficiently, though it appears incremental as it builds on existing meta-language concepts.
The paper tackles the challenge of implementing domain-specific languages (DSLs) by proposing a mashup approach that uses separate meta-languages for each concern, such as syntax and semantics, and demonstrates its effectiveness by fully implementing the fUML modeling language.
With the growing use of domain-specific languages (DSL) in industry, DSL design and implementation goes far beyond an activity for a few experts only and becomes a challenging task for thousands of software engineers. DSL implementation indeed requires engineers to care for various concerns, from abstract syntax, static semantics, behavioral semantics, to extra-functional issues such as run-time performance. This paper presents an approach that uses one meta-language per language implementation concern. We show that the usage and combination of those meta-languages is simple and intuitive enough to deserve the term "mashup". We evaluate the approach by completely implementing the non trivial fUML modeling language, a semantically sound and executable subset of the Unified Modeling Language (UML).