A ContactingSpecification is used to describe contacting information in several uses cases: It can be used to describe both the more abstract contacting information which is contained on an electrical system wiring plan and the very concrete contacting of an assembly / module/ harness configuration or even a 150% harness description.
A ContactingSpecification is a container for various ContactPoints. Each ContactPoint can specify several CavityMountings and WireMountings and will in most cases reference a TerminalRole.
A WiringMounting references one or more WireEnds stating they are contacted with the TerminalRole referenced by the ContactPoint. In cases of ambiguity a WireMounting can specify various WireMountingDetails in order to describe which WireEnd is contacted to which WireReception of the referenced TerminalRole. Finally, a WireMounting can reference a CavitySealRole.
A CavityMounting references one or more CavityReferences expressing they are equipped by the TerminalRole referenced by the ContactPoint. In cases of ambiguity a CavityMounting can specify various CavityMountingDetails in order to describe which TerminalReception is mounted in which CavityReference. Finally, a CavityMounting can reference various CavityPlugRoles stating the CavityMounting replaces those CavityPlugs.
Note: ContactPoints are ConfigurableElements and therefore can reference a VariantConfiguration.
Note: There may be use cases where a ContactingSpecification is wanted to describe an incomplete contacting. An example might be an assembly or module with wires together with mounted terminals but without a mounting of the terminals into a connector housing. The missing contacting information (the mounting of the terminals into a connector housings) may be subject of other ContactingSpecifications respectively ContactPoints which may be specified configuration dependent.