Modeling Language Variability
  A systematic way of defining variants of a modeling language is useful for adapting the language to domain or project specific needs. Variants can be obtained by adapting the syntax or semantics of the language. In this paper, we take a formal approach to define modeling language variability and show how this helps to reason about language variants, models, and their semantics formally. We introduce the notion of semantic language refinement meaning that one semantics variant is implied by another. Leaving open all variation points that a modeling language offers yields the notion of the inner semantics of that language. Properties of the modeling language which do not depend on the selection of specific variants are called invariant language properties with respect to a variation point. These properties consequently follow from the inner semantics of a model or language. 
Hans Gr\"onninger, Bernhard Rumpe
cs.SE