This standard allows subtyping of type definitions. The subtyping rules are defined in Clause 6. Subtyping of ObjectTypesand VariableTypesallows:

  • Clientsthat only know the supertype to handle an instance of the subtype as if it were an instance of the supertype;
  • instances of the supertype to be replaced by instances of the subtype;
  • specialised types that inherit common characteristics of the base type.

In other words, subtypes reflect the structure defined by their supertype but may add additional characteristics. For example, a vendor may wish to extend a general “TemperatureSensor” VariableTypeby adding a Propertyproviding the next maintenance interval. The vendor would do this by creating a new VariableTypewhich is a TargetNodefor a HasSubtypereference from the original VariableType andadding the new Propertyto it.