View Issue Details

IDProjectCategoryView StatusLast Update
000451310000-014: PubSubSpecpublic2023-03-22 22:05
ReporterZbynek Zahradnik Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.05.03 RC1 
Summary0004513: Tables with DataType structures should indicate the base datatype, when it exists
Description

It is confusing that in cases where the DataType has a base type, the table that lists the data type fields does not have any mention of the fact that not just the fields explicitly listed in the table belong to the data type, but also the fields of the base data type.

Take, for example, parameters for ReaderGroups. The ReaderGroupDataType is formally defined in Table 32. I got confused by thinking that there are no more members to this structure. But there are also members of the PubSubGroupDataType. To find out, one must read the text around, or the table that follows, and figure out that this is a subtype of PubSubGroupDataType.

There are multiple cases like this in Part 14. I could not quickly recall or find similar cases in other parts of the spec, to see how we do that usually.

I think at as the second row in the table below the header (third row in total), we should add a row that spans all three columns and says something like "All fields of XXXX DataType defined in XX.", similarly as in the tables with DataType definitions.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Zbynek Zahradnik

2019-02-12 07:01

developer   ~0009882

The end of the last sentence in the issue description should read "...as in the tables with Type definitions.".

Matthias Damm

2019-02-25 23:07

developer   ~0009940

All types are defined following the common conventions in the OPC UA specifications.

The table with the structure fields never indicates a base DataType (e.g. Table 32 ReaderGroupDataType Structure). This table only defines the fields.

The DataType Node and the type relation is defined in an additional table (e.g. Table 33 – ReaderGroupDataType Definition).
This table clearly indicates that the ReaderGroupDataType is a subtype of PubSubGroupDataType.

Zbynek Zahradnik

2019-02-28 18:00

developer   ~0009987

I disagree, for following reasons:
1) no matter what the conventions are or were, the missing base datatype is very confusing when somebody new uses the spec,
2) The argument about common conventions is weak, because structured datatypes I could find in other parts of the spec only derive from BaseDataType, so the commonality does not exist in practice,
3) I could not find a rule that would define such a convention (but it might exist)
4) There is no logical reason why tables for object types/variables should indicate the base type, and those for datatype not. In fact, it's less important for object types, because it is clear that the address space may contain other references/nodes not listed in the table But if you put a sentence saying "this is the XXXX structure" and a table header "XXXXDataType" over the table, you really expect that what you see is what is in the structure - and not just part of it.
5) The DataType node table (the one that has the base datatype) is not what the user reads when he is trying to understand the concepts. It has a different purpose - for the actual coding (and creating a nodeset). Understanding the concepts is difficult without being aware of the base datatype.

Matthias Damm

2019-03-05 21:40

developer   ~0010026

There is not a single table in none of the OPC UA parts that define the base type as part of the table that defines the structure fields.

Matthias Damm

2019-05-21 15:59

developer   ~0010246

TBD
Add this to the description e.g. Subtype of PubSubGroupDataType defined in 6.2.4.7.
See 6.2.7.2.1 ReaderGroupDataType

Matthias Damm

2019-05-21 20:13

developer   ~0010260

Added reference to base type to all description fields of the structure name for all derived structure types.

Jim Luth

2019-06-04 13:56

administrator   ~0010329

Agreed to changes in meeting.

Jim Luth

2023-01-16 13:46

administrator   ~0018499

This was not fixed for at least DataSetMetaDataType.

Matthias Damm

2023-02-26 11:44

developer   ~0018795

Added missing reference to base type of DataSetMetaData:

Subtype of DataTypeSchemaHeader defined in OPC 10000-5.

Jim Luth

2023-03-22 22:05

administrator   ~0018982

Agreed to changes in Dallas meeting.

Issue History

Date Modified Username Field Change
2018-12-09 09:31 Zbynek Zahradnik New Issue
2019-02-12 07:01 Zbynek Zahradnik Note Added: 0009882
2019-02-25 23:07 Matthias Damm Assigned To => Matthias Damm
2019-02-25 23:07 Matthias Damm Status new => resolved
2019-02-25 23:07 Matthias Damm Resolution open => no change required
2019-02-25 23:07 Matthias Damm Note Added: 0009940
2019-02-28 18:00 Zbynek Zahradnik Status resolved => feedback
2019-02-28 18:00 Zbynek Zahradnik Resolution no change required => reopened
2019-02-28 18:00 Zbynek Zahradnik Note Added: 0009987
2019-03-05 21:40 Matthias Damm Status feedback => resolved
2019-03-05 21:40 Matthias Damm Resolution reopened => no change required
2019-03-05 21:40 Matthias Damm Note Added: 0010026
2019-05-21 15:59 Matthias Damm Status resolved => feedback
2019-05-21 15:59 Matthias Damm Resolution no change required => reopened
2019-05-21 15:59 Matthias Damm Note Added: 0010246
2019-05-21 20:13 Matthias Damm Status feedback => resolved
2019-05-21 20:13 Matthias Damm Note Added: 0010260
2019-06-04 13:56 Jim Luth Status resolved => closed
2019-06-04 13:56 Jim Luth Fixed in Version => 1.05
2019-06-04 13:56 Jim Luth Note Added: 0010329
2023-01-16 13:46 Jim Luth Status closed => feedback
2023-01-16 13:46 Jim Luth Note Added: 0018499
2023-01-16 13:46 Jim Luth Status feedback => assigned
2023-02-26 11:44 Matthias Damm Status assigned => resolved
2023-02-26 11:44 Matthias Damm Resolution reopened => fixed
2023-02-26 11:44 Matthias Damm Fixed in Version => 1.05.03 RC1
2023-02-26 11:44 Matthias Damm Note Added: 0018795
2023-03-22 22:05 Jim Luth Status resolved => closed
2023-03-22 22:05 Jim Luth Note Added: 0018982