Instantiation of Components
Note: There is a newer version of this specification see VEC 2.1.0
It is a quite common pattern for complex product descriptions, to differentiate between types and their instances. A type is a general description that applies to all instances of this type. In the VEC the types of components are described with PartVersions and PartOrUsageRelatedSpecifications. They are describing the general properties of a certain component type (e.g. a connector housing with a certain partNumber). In order to define a more complex product with these elements, instances of the components are necessary (e.g. the connector housing for the left front light). To create such instances of components, the VEC provides two concepts: PartOccurrence and PartUsage.
The two concepts are necessary to fulfill the requirement for the VEC, that equal design elements are represented equally in the model, regardless of the level abstraction. This means for example, that the specification of a contacting must be represented always in the same way, regardless of the context either in an electrological specification or in a finalised product specification. The difference is that in an electrological specification in many cases defines only requirements for a component (e.g. the wire color, cross section area or number of cavities). In a finalized product specification all components normally have assigned part numbers.
A PartOccurrence is a concrete occurrence of a certain PartVersion in a real product (Metaphorically spoken: if the product is broken into pieces, there will be a good chance that one of the pieces is the PartOccurrence one is searching for). Therefore the PartOccurrence references directly a PartVersion.
PartUsages shall be used for the specification of the elements on a more abstract level. This is the case either when not all technical properties required to select a correct PartVersion are known (e.g. only the cross section area of a wire is known, but not the color) or when not all usage properties are known that are required to create a PartOccurrence. This is true for example for a connectivity description and for a pure geometry description. The final occurrences come first into being when a connectivity description and a geometry description is combined. This is even true in the case of connectivity description where the part numbers for the wiring connections are already defined. The reason is that the wire lengths are still undefined, because the length information is dependent on a certain geometry. Additionally it is possible that the same wiring definition is instantiated within different geometries, which might result in different PartOccurrences. For reasons of traceability, each PartOccurrence can reference back to the PartUsage it realizes.
In order to describe technical properties for a PartUsage without requiring a concrete PartVersion or a pseudo PartVersion the PartUsage can reference a number of PartOrUsageRelatedSpecifications like the PartVersion. As described in the chapter "part master data" the VEC allows the description of components through the combination of different characteristics (the PartOrUsageRelatedSpecifications). Therefore a PartUsage can reference multiple PartOrUsageRelatedSpecification. Its primary characteristic is defined with the PrimaryPartType.
However different characteristics of component types may require different properties for instances of them. Therefore a symmetrical concept to the PartOrUsageRelatedSpecification for instances was created in the VEC: the Role. Quite simplified: A Role is an instance of a PartOrUsageRelatedSpecification in the context of an OccurrenceOrUsage which is an instance of an abstract or concrete part (difference between PartUsage and PartOccurrence).
Roles, their subclasses and the sub elements of them are used whenever type specific usage information is required (e.g. a reference to a cavity in a certain use of a connector). Every other concept in VEC that requires references to instances uses these elements (e.g. the contacting). Since a Role can be used without knowing if it belongs to a PartUsage or a PartOccurrence concepts like the contacting can be reused regardless of the level of abstract (e.g. in a system wiring without concrete part numbers or in the product specification of wiring harness).