Read First: Object, Object Type, Relation Read Next: Object Part Specification, Relation Part Specification, hasCompositionRelation/isRelationForPartSpec An object type does not have any actual parts because it is not instantiated, so the meta-model must have an entity to pull together all the requirements on the actual part to prepare for the instantiation. Here are some things that need to be recorded at the type level: 1) Each part is of a certain type. For example, the parts of an Engine could be objects types such as Engine Block, Piston, and Crankshaft. This is modelled using hasPartType/isPartTypeFor. 2) Parts may be connected in certain ways. For example, an engine in a car powers the wheels. See Relation Part Specification. 3) Each kind of part may have more than one instance in the instantiated composite. For example, a car may have four wheels. See hasNumberOfParts/isPartCardinalityFor. This information is recorded by the various meta-entities and relations as referenced above.