We build mapping rules to transform models and to establish links between them. The collection of mapping rules that establishes a mapping between two models constitutes a mapping function. A mapping function is defined against the metamodels of the participating source and target models.
Mapping functions allow us to define and capture design expertise; this is a key contribution of MDA. Mapping functions enable the construction of target models that are necessarily consistent and synchronized with their source models. Because mapping functions are expressed formally, they can be repeated, which allows mapping functions to be used to capture repeatable design decisions.
Mapping rules can't always be applied uniformly. To select which mapping rule to apply in a given situation, model elements can be marked to indicate which rule to apply, a topic we take up in Chapter 6.