In UML:
In a domain model, attributes and data types should be simple. Complex concepts should be represented by an association to another conceptual class.
An attribute should be what the UML standard calls a data type: a set of values for which unique identity is not meaningful. Numbers, strings, Booleans, dates, times, phone numbers, and addresses are examples of data types. Values of these types are called value objects.
Conceptual classes in a domain model should be related by associations, not attributes.
In particular, an attribute should not be used as a kind of foreign key.
Quantities with associated units should be represented either as conceptual classes or as attributes of specialized types that imply units (e.g., Money or Weight).

A quantity that can be calculated from other values, such as role multiplicities, is a derived attribute, designated in UML by a leading slash symbol.