We use marks to select mapping rules and to act as inputs to mapping functions. Marks are part of neither source nor target models; they avoid polluting the models so that they can stand alone and be reused in different contexts.
The kinds of marks that can be applied to a model can be captured in a marking model, which defines the salient features of the marks. Sets of marks and their respective marking models go together and may be used to adapt between the respective source and target models.
There are also relationships between marks, such that a mark can be propagated or inherited from one model element to another. Full exploration of techniques that enable effective definition of these relationships awaits the acquisition of further experience.
In Chapter 7, we discuss several approaches to defining languages. These techniques can also be applied to the construction of marking models.