ABSTRACT

Refinement transformations are an example of a vertical transformation: they map a model at one level of abstraction to a model at a lower level of abstraction. Such transformations are used in MDA and MDD to produce Platform-specific Models (PSMs) from Platform-independent Models (PIMs), and to generate executable code from PSMs. A code generation transformation is a refinement transformation that generates source code text in a programming language. It is an example of a model-to-text transformation. A refinement transformation can also be used to enrich a model with more specific and detailed information. For example, a transformation could map syntax-oriented descriptions into semantics-oriented descriptions. In this case it can be considered to be an enhancement transformation and to not change the abstraction level (a horizontal transformation).