9.7. Other Constraints and Derivation Rules
A value constraint restricts the population of a value type to a finite set of values specified either in full (enumeration), by start and end values (range), or some combination of both (mixture). The values themselves are primitive data values, typically character strings or numbers.
In UML, enumeration types may be modeled as classes, stereotyped as enumerations, with their values listed (somewhat unintuitively) as attributes. Ranges and mixtures may be specified by declaring a textual constraint in braces, using any formal or informal language. For example, see Figure 9.39(a).
Figure 9.39. Data value restrictions declared as enumerations or textual constraints.
Figure 9.39(b) depicts the same ...