In the VEC wires are defined through a WireSpecification, regardless of their type. This means, for all types of wires (e.g. normal single core, multi core or coax wires) the same structure is used to describe them. Since a wire can be a hierarchical structure the actual definition of the structure is delegated to a WireElementSpecification. A WireElementSpecification can define a certain wire element and more complex structures by referencing the appropriate subWireElementSpecifications.
This model structure is required, because some WireElements can exist as individual parts and as an element of one or more complex wires with the same technical properties (e.g. a FLRY-0.75 wire can be used standalone or as part of a multi core or twisted wire). In order to allow the reuse of such elements, the structure of a wire element is defined with WireElementSpecifications which can be shared and reused between different other WireElementSpecifications and WireSpecifications. This means a WireSpecification references the root WireElementSpecification that describes its structure, while the subWireElementSpecifications can be used by different WireSpecifications at the same time.
In order to allow an unambiguous identification of a particular WireElementSpecification within the context of a WireSpecification, the WireSpecification defines a list of WireElements for each WireElementSpecification that belongs to the hierarchy of the wire. The WireElement defines the identification of a WireElementSpecification within the context of a wire.
A WireElementSpecification can reference an InsulationSpecification, a CoreSpecification, a ShieldSpecification, a FillerSpecification and/or a WireGroupSpecification in order to describe its technical details. These aspects are separated into individual Specifications in order to allow the reuse of them. For example the CoreSpecification of a FLRY-0.75 is the same for a group of wires, regardless of their insulation color. In turn the InsulationSpecification of a blue & green FLRY wire might be the same for a group wires, regardless of their cross section area.
In most cases, a WireElement will be something with a physical representation within the wire. However there are cases were the WireElementSpecification is just a group of WireElementSpecifications with no real physical manifestation. For example a twisted pair wire, will consist of two single core WireElementSpecifications and a parent WireElementSpecification that just defines the type of twist. Note: All Specification in this diagram, where no superclass is displayed inherit directly from Specification.