What distinguishes a metamodelling language like Kermeta from a general purpose programming language like Java or a modelling language like UML?
"What distinguishes a metamodelling language from a general purpose
programming
language like Java or a modelling language like UML?
The answer is that
a metamodelling
language is a language specifically designed to support the design of
languages.
An essential requirements of a metamodelling language therefore is its
ability to concisely
capture all aspects of a modelling language, including its syntax and
semantics."
(From CLARK, T., EVANS, A., SAMMUT, P., AND WILLANS, J. 2005. Applied Metamodelling: A Foundation for Language-Driven Development. Available at http://www.xactium. com/.)