View Issue Details

IDProjectCategoryView StatusLast Update
0006293NodeSets, XSDs and Generated CodeApi Changepublic2020-12-01 16:23
ReporterJim Luth Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Summary0006293: Disalow cyclic references between NodeSet-Files
Description

Remark: I put it on Part 6 since it defines in the annex the concept of a NodeSet-File.
Remark: The issue came up since AAS is having those cyclic dependencies in their release candidate.

Currently there are no restrictions between dependencies of NodeSet-Files.
Therefore, it is allowed to reference from NodeSet-File A to NodeSet-File B and vice versa. This is problematic for any tooling working with NodeSet-Files.
You cannot load one NodeSet-File and then the other because of the dependencies. There are issues with code generation, etc. Therefore, I recommend to add a statement to the spec that this is not allowed.
A solution to avoid cyclic dependencies in NodeSet-Files is to use inverse reference from the dependent NodeSet B to the NodeSet A, and thus have NodeSet A independent on NodeSet B.

Indirectly, that leads to the question on cyclic references between Namespaces in an OPC UA Model. In general, I do not see issues with that, but for specific References I do. I would like to disallow that Namespace A contains a Type_A, Namespace B contains a subtype of Type_A called Type_B, and Namespace A contains another type Type_C as subtype of Type_B. Thus, Namespace A requires Namespace B and Namespace B requires Namespace A. This is, again, troublesome for code generation. And at least Mandatory InstanceDeclarations should not be added by adding inverse References from another Namespace / NodeSet-File.
Remark: The last Paragraph would need to be addressed not in Part 6 but probably Part 3.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0006277 closedRandy Armstrong 10000-006: Mappings Disalow cyclic references between NodeSet-Files 

Activities

Randy Armstrong

2020-12-01 16:21

administrator   ~0013327

Fixed in Draft 22 with the statement:
Models shall not introduce circular dependencies.

Jim Luth

2020-12-01 16:23

administrator   ~0013328

Nodeset validator needs to check for circular references.

Issue History

Date Modified Username Field Change
2020-12-01 16:21 Jim Luth New Issue
2020-12-01 16:21 Jim Luth Status new => assigned
2020-12-01 16:21 Jim Luth Assigned To => Randy Armstrong
2020-12-01 16:21 Jim Luth Issue generated from: 0006277
2020-12-01 16:21 Jim Luth Note Added: 0013327
2020-12-01 16:21 Jim Luth Relationship added related to 0006277
2020-12-01 16:22 Jim Luth Project 10000-006: Mappings => NodeSets, XSDs and Generated Code
2020-12-01 16:22 Jim Luth Category Spec => Api Change
2020-12-01 16:23 Jim Luth Note Added: 0013328