View Issue Details

IDProjectCategoryView StatusLast Update
0007358CTT UA Scripts1 - Script Issuepublic2023-02-21 15:31
ReporterBernd Edlinger Assigned ToAlexander Allmendinger  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Summary0007358: Base Info Core Structure/001.js has wrong assumption about optional nodes
Description

This happens with CTT versions 1.4.9.396 and 1.4.9.398:

The nodes are handled as REQUIRED but they are optional in the NodeSet2.xml:
NamespaceMetaDataType -> DefaultRolePermissions
NamespaceMetaDataType -> DefaultUserRolePermissions
NamespaceMetaDataType -> DefaultAccessRestrictions

Our embedded server does not really implement those, but we added them anyway to
the namespace, as a workaround.

TagsNo tags attached.
Files Affected

Activities

Alexander Allmendinger

2021-10-15 15:38

developer   ~0015190

If I read the error message correctly, those elements are missing on the NamespaceMetaDataType not on an instance. Types in general are required to have all elements available even optional ones. Optional fields can only be missed on instances of the types.

Could you please check if those elements are available on the type?

Bernd Edlinger

2021-10-18 05:36

reporter   ~0015195

Yes, we only have the type here and no instances,
but we might have a misunderstanding about what optional means.
Do you have a pointer to the spec where this is explained?

Alexander Allmendinger

2021-12-30 08:30

developer   ~0015629

Just think about the information modeling of OPC UA as being classes in programming. The declarations of classes are always required to be complete including all optional elements. Otherwise the class would not be considered the same. Exactly the same happens with OPC UA, e.g. to allow an aggregating server to determine if this specific type is already being exposed by itself, the server can have logic based on the type definitions. But if not all optional elements are available the type definitions would not be the same across the different servers and therefore no optimization would be possible.

Therefore a type definition always is required to be complete including all optional elements. In the instances though it is expected to omit any unsupported optional elements.

Sebastian Allmendinger

2022-12-26 13:01

developer   ~0018349

The mentioned (optional) properties were missing in the TypeDefinition i=11616 [NamespaceMetadataType].
If a Type is exposed in the TypeSystem of the server it must contain all elements defined in the specifications regardless of their ModellingRule.
Therefore no change to the test script is required.

Paul Hunkar

2023-02-21 15:31

administrator   ~0018784

Agreed to nochange - closed issue

Issue History

Date Modified Username Field Change
2021-10-13 07:44 Bernd Edlinger New Issue
2021-10-15 15:31 Paul Hunkar Assigned To => Alexander Allmendinger
2021-10-15 15:31 Paul Hunkar Status new => assigned
2021-10-15 15:38 Alexander Allmendinger Status assigned => feedback
2021-10-15 15:38 Alexander Allmendinger Note Added: 0015190
2021-10-18 05:36 Bernd Edlinger Note Added: 0015195
2021-10-18 05:36 Bernd Edlinger Status feedback => assigned
2021-12-30 08:30 Alexander Allmendinger Note Added: 0015629
2022-08-02 20:04 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Scripts
2022-12-26 13:01 Sebastian Allmendinger Status assigned => resolved
2022-12-26 13:01 Sebastian Allmendinger Resolution open => no change required
2022-12-26 13:01 Sebastian Allmendinger Note Added: 0018349
2023-02-21 15:31 Paul Hunkar Status resolved => closed
2023-02-21 15:31 Paul Hunkar Note Added: 0018784