A couple of possibilities come to mind for capturing "unit type" as an attribute. The attribute might be, eg, populated from an extensible controlled vocabulary of recognised unit types (at an agency specific or international level).
The attribute could be applied to Unit. This might (or might not) imply the list of unit types should be limited to mutually exclusive "base types". (At the conceptual level, are Dan Gillman as a Person and as an Employee referring to two different Units?)
Perhaps it would be more appropriate to attach the attribute to Population to describe the "type" of Units (which would be subject to more detailed scoping in the definition of the Population) from which the Population is composed. For example US persons and Australian persons are
- different Populations
- composed of different individual Units
- built from the same "type of unit"
Unit Type could be added as an object in its own right. This would allow Unit Type to have attributes and relationships of its own - including with other Unit Types. For example, it would be possible to define "Employee" as a specialisation of the "Person" Unit Type. (If "Legal Entity" were ever a Unit Type it might be a specialisation applicable to either "Person" or "Corporation"?)
I think that adding a new object tends to add more complexity to the model than adding a new attrribute to an existing object. Option 3 would need to add significant advantages over Option 1 or Option2 in order to justify the extra complexity?
Would you recommend other options be considered instead, or would you recommend one of the options listed above instead of the others?