OPC UA ReferenceTypes are modelled in AML as InterfaceClasses. All AML InterfaceClasses that represent OPC UA ReferenceTypes shall derive directly or indirectly from the Reference’s InterfaceClass in the ICL_http://opcfoundation.org/UA/ InterfaceClassLibrary. OPC UA ReferenceTypes that are symmetric or have the same forward and inverse name shall be represented by a single AML InterfaceClass with the same name. All other ReferenceTypes shall be represented by a pair of AML InterfaceClasses where one element of the pair represents the source endpoint, and the other represents the destination endpoint corresponding to the forward and inverse names. This pair of AML InterfaceClasses are organized in a hierarchy, see Figure A.14. In Figure A.14, the OPC UA ReferenceTypes References and HierarchicalReferences are represented by a single AML InterfaceClass, but the ReferenceType Organizes is represented by a pair of AML Organizes/OrganizeBy.

image038.png

Figure A.14 – ReferencesTypes Hierarchy

The base References InterfaceClass contains the Attributes shown in Table A.7.

Table A.7 – Attributes of References InterfaceClass

Attribute name

Type

Notes

InverseName

LocalizedText

For non-symmetric References, this is the name of the other interface class in the pair. It has no meaning for symmetric References.

IsAbstract

Boolean

Indicates if the Reference is abstract according to the UA model. The default value for this attribute is FALSE. If the attribute is missing, then the default value is assumed.

IsSource

xs:boolean

For non-symmetric References, TRUE shall indicate that this interface represents the source endpoint of the Reference, and FALSE shall indicate that this interface represents the destination endpoint of the Reference. It has no meaning for symmetric References. The default value for this attribute is FALSE. If the attribute is missing, then the default value is assumed.

ModellingRule

ModellingRuleType

Present on the destination interface to indicate the UA ModellingRule of the destination. If missing, the ModellingRule “Optional” shall be assumed.

RefClassConnectsToPath

xs:string

Indicates the AML path to the only other InterfaceClass that this interface shall be allowed to connect to. For symmetric References, this is a path to its own InterfaceClass. For non-symmetric References, this is the path to the other InterfaceClass in the pair.

Symmetric

Boolean

Indicates if the Reference is symmetric according to the UA model. The default value for this attribute is FALSE. If the attribute is missing, then the default value is assumed.

The InterfaceClasses are used in two ways:

Within an SUC to represent the UA relationships between the InternalElements of a Type within the SUC;

Within the InstanceHierarchy to show UA relationships between InternalElements.

When used within an SUC, the destination InterfaceClass contains a ModellingRule attribute that can be used to specify the UA ModellingRule used during instantiation. Figure A.15 Shows that the ModellingRule for the NodeVersion Property is explicitly set to “Mandatory”.

Figure A.16 shows an example of InterfaceClasses connected in an InstanceHierarchy.

image039.png

Figure A.15 – SUC with connected InterfaceClasses

image040.jpg

Figure A.16 – InstanceHierarchy with connected InterfaceClasses