An example of a UML class representing the OPC UA concept Baseis given in the UML class diagram in Figure B.2. OPC Attributes inherit from the abstract class Attribute and have a value identifying their data type. They are composed of a Nodewhich is either optional (0..1) or required (1), such as BrowseNameto Basein Figure B.2.


Figure B.2– Notation (I)

UML object diagrams are used to display <<TypeExtension>> objects (e.g. HasComponentin Figure B.3). In object diagrams, OPC Attributesare represented as UML attributes without data types and marked with the stereotype <<Attribute>>, like InverseName in the UML object HasComponent. They have values, like InverseName =ComponentOffor HasComponent. To keep the object diagrams simple, not all Attributesare shown (e.g. the NodeIdof HasComponent).


Figure B.3– Notation (II)

OPC Referencesare represented as UML associations marked with the stereotype <<Reference>>. If a particular ReferenceTypeis used, its name is used as the role name, identifying the direction of the Reference(e.g. Aggregateshas the subtype HasComponent). For simplicity, the inverse role name is not shown (in the example SubtypeOf). When no role name is provided, it means that any ReferenceTypecan be used (only valid for class diagrams).

There are some special Attributesin OPC UA containing a NodeIdand thereby referencing another Node. Those Attributesare represented as associations marked with the stereotype <<Attribute>>. The name of the Attributeis displayed as the role name of the TargetNode.

The value of the OPC Attribute BrowseNameis represented by the UML object name, for example the BrowseNameof the UML object HasComponentin Figure B.3is “HasComponent”.

To highlight the classes explained in a class diagram, they are marked in grey (e.g. Basein Figure B.2). Only those classes have all of their relationships to other classes and attributes shown in the diagram. For the other classes, we provide only those attributes and relationships needed to understand the main classes of the diagram.