This section describes how the VEC model is transformed into OPC UA. This section describes the mapping concept. A complete description of the transformation can be found in the Annex.

The namespace of the generated NodeSet is “http://opcfoundation.org/UA/WireHarness/VEC/”.

Classes in VEC, declared as uml:Class in the UML model, are transformed into OPC UA DataTypes (UADataType). Abstract classes are assigned the attribute IsAbstract ="true."

Open and closed enumerations are handled as follows:

Closed Enumerations (ClosedEnumeration): These are transformed to the UADataType, with each enumeration included as a field within the definition.

Open Enumerations: These are transformed to the UADataType, with each enumeration included as a field within the definition. An extension as in VEC for Open Enumerations is not used, as this is not necessary in the

environment of the machines.

Simple Attributes: Attributes (ownedAttribute) without associations are defined as field elements in OPC UA.

Compositions and Associations: These are also transformed into field elements. Associations that are not compositions are assigned a string data type to represent References.

Exception: The data type vec:Unit for units has been replaced by the OPC UA data type 0:EUInformation.

Comments (ownedComment): Comments are transferred as Documentation in OPC UA.

Embedding: Comments are embedded within the elements to which they belong and are output in CDATA format.

If the referenced element has an ID, a corresponding ID-based data structure is used instead of a simple string. If a 1:1 reference exists, the referenced element is directly included rather than being represented as a separate reference.This eliminates unnecessary indirections and ensures that the referenced object is embedded within its parent.

If a VEC class has an ID, a corresponding IdDataType structure is generated in OPC UA. This IdDataType extends from IdBaseDataType, which acts as an abstract type for all ID-based elements. The IdDataType contains a field id with a TrimmedString. Each VEC class with an ID gets a dedicated UADataType definition for managing identification.

Certain elements from the VEC model are intentionally excluded from the OPC UA transformation to ensure that only relevant data for machine environments is retained. The reason for these exclusions is that many engineering-related data elements are not needed in the machine environment. Machine-oriented OPC UA models focus on runtime-relevant information that is essential for system operation. Engineering-specific metadata (such as design documentation, internal references, or abstract concepts) does not need to be transmitted to the OPC UA-based runtime environment. The filtering ensures that only the essential data structures required for real-time processing are included in the final OPC UA model.

This filtering follows two primary mechanisms:

Some UML stereotypes, such as MagicDraw_Profile:Legend, are explicitly ignored in the transformation. Classes or attributes tagged with these stereotypes are not converted into OPC UA elements.

The transformation relies on a whitelist mechanism (<def:class> entries) to determine which classes and attributes are mapped to OPC UA. If a VEC class is not explicitly listed in the whitelist, it is not included in the transformation. This also applies to attributes that are not defined as Field elements in the OPC UA mapping.