Our preceding example mapped an analysis model to a design model, but there are other scenarios for mappings and for mapping functions.
We've shown a mapping from an analysis to a design model that changes the level of abstraction at which things are expressed, because the design metamodel has additional language elements. We call such mappings refining mappings.
A refining mapping function may create everything needed by the target model, just as a compiler does with C++ or Java programs; in this case, the source model is complete in respect to this mapping function. There's no need to examine the target model before executing it or mapping it to the next more detailed model.
There are also scenarios ...