Primitive class
Overview
Objecteering is used to provide a semantic nuance between primitive classes, usually intended to be used as a type for attributes, and non-primitive classes, generally used as association destinations.
In the first phase of modeling, this is a distinction which we need not pay attention to.
The present pattern is used in a unique command to transform a non-primitive class into a primitive class, and parallel to this, to transform associations which are directed towards it into attributes.
Prerequisites
This pattern is applied to every non-primitive model class.
Applying the pattern
The model before transformation is as follows:

Figure 154. The model before transformation
Calling the pattern

Figure 155. Calling the pattern
Consequence of applying the pattern
The model after transformation is as follows:

Figure 156. The model after transformation
Summary of modifications made to the model
The class to which the pattern is applied is transformed into a primitive class. Parallel to this, navigable associations directed towards this class are transformed into attributes which have this class as its type.
The attribute takes the same name and the same visibility as the association role. Tagged values and notes are carried over, inasmuch as their types exist on two types of object. Stereotypes are carried over inasmuch as they exist on two types of object.