View Issue Details

IDProjectCategoryView StatusLast Update
000734510000-003: Address SpaceSpecpublic2021-11-23 17:58
ReporterWolfgang Mahnke Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Summary0007345: Clarifications on notification mechanisms for caching clients
Description

OPC UA provides different mechanisms for clients to receive information, when some metadata has changed.

  • NodeVersion and ModelChangeEvent provide information, when references are added or removed
  • SemanticChangeEvents and SematicsChanged bit indicate, that metadata like EngineeringUnits have changed
  • StructuredChanged bit indicates, that the DataType has changed
  • We are just introducing a new feature to indicate constant values and a version number (see Mantis issue 6700)
    It would be desirable to have an overview section on those concepts so client developers know what to do.
    In addition, we currently have no mechanism to easily identify when the encoding of a DataType has changed. That means, either the Structure of a structured DataType is changing, or the Strings of an Enum. With the old DataTypeDictionary mechanism, there was at least an optional DataTypeVersion associated to a dictionary. The StructuedChanged bit does this (also see Mantis issue 7344) for individual values while subscribed, but this is not sufficient when the client has disconnected and cached the DataType information.

Possible solution:
We do have the NamespaceMetaData Object containing a NamespaceVersion and NamespacePublicationDate. Potentially we could use this and require it to be updated when the DataType itself is changing (for the same NodeId) – that seems at least reasonable to me.
In general, we have not defined when the NamespacePublicationDate needs to change. It comes from the NodeSet-File, and there obviously when the NodeSet-File changes it needs to be updated. But what about a dynamic Namespace (like the server diagnostics) where Nodes are coming and going?
We could define rules like: When the static NodeIds are changing (incl. any attribute except access rights), getting removed or added, NamespacePublicationDate needs to be updated, and in addition any change of the DataTypes (also for dynamic nodes). Not necessarily adding or removing some DataTypes, but required if same NodeId is reused.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0006700 closedJim Luth 10000-003: Address Space Identification if a Value is Constant 
related to 0007340 assignedJeff Harding 10000-003: Address Space Clarification needed for Server expectations regarding NodeVersion Properties 
related to 0007344 closedMatthias Damm 10000-004: Services 7.34.1 StructureChange description not sufficient 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2021-10-06 08:19 Wolfgang Mahnke New Issue
2021-10-06 08:20 Wolfgang Mahnke Relationship added related to 0006700
2021-10-06 08:20 Wolfgang Mahnke Relationship added related to 0007340
2021-10-06 08:21 Wolfgang Mahnke Relationship added related to 0007344
2021-11-23 17:58 Jim Luth Assigned To => Jeff Harding
2021-11-23 17:58 Jim Luth Status new => assigned