Instantiation Approaches
When a composite part is instantiated, an OccurrenceOrUsage with a PartWithSubComponentsRole is created and references the instantiated OccurenceOrUsages that belong to the composite part instance. The instantiated occurrences are owned by a PartUsageSpecification / CompositionSpecification that is related to the context where the composite part is instantiated.
There are two approaches of how the definition and instantiation of composite parts is achieved: the library approach and the "in place" definition.
In the library approach, a composite part (e.g. a predefined USB cable) is defined in the component library and later used in different products. In this case, the part master definition of the composite part contains the OccurrenceOrUsages ("A: P1", "B: P2", "C: P2") that are required by the composite part and those are referenced by the PartStructureSpecification (P3). When the composite part is used (instantiated), the OccurrenceOrUsages from the part master definition are instantiated (copied) into the using context ("A': P1", "B': P2", "C': P2"). Those are then referenced by the PartWithSubComponentsRole (E: P3) and additional information can be attached to them. For traceability reasons, the OccurrenceOrUsages shall reference their origin in the part master definition via the instantiatedUsage/instantiatedOccurrence association.
The "in place" definition is used for example for modules of a 150% harness. In this case, the composite part is not defined in a library, but in its only and single usage. In other words, the part master definition coincides with an instantiation of part. Therefore, the PartStructureSpecification (P3) and the PartWithSubComponentsRole (E: P3) reference the same set of OccurrenceOrUsages ("A: P1", "B: P2", "C: P2"). In this case both relationships of the PartWithSubComponentsRole and a PartStructureSpecification to the OccurrenceOrUsage (inBillOfMaterial & subComponents) shall be maintained consistently.