  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).
