View Issue Details

IDProjectCategoryView StatusLast Update
000518910000-005: Information ModelSpecpublic2020-12-09 15:37
ReporterAlexander Allmendinger Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0005189: Part 5 - 7.11 SubscriptionDiagnosticsArrayType definition can be interpreted in two ways
Description

The issue is about the BrowseName of this type which should be marked with angle brackets because it is different for every instance.

The text describing this type is clearly defining that the BrowseName of the instances of its elements is required to be the SubscriptionId. But in the table 70 in the list of References the BrowseName of the HasComponent Reference is defined with "SubscriptionDiagnostics". Now this can be interpreted in two ways either having the BrowseName for all instances set to "SubscriptionDiagnostics" as defined in the table or every instance has a different BrowseName with the SubscriptionId as defined in the text.
In other tables of the spec in such cases (e.g. Placeholders) ankle brackets <…> are being used to indicate that this name changes for the instances. I would recommend to do the same thing here and set the BrowseName to "<SubscriptionDiagnostics>"

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Alexander Allmendinger

2020-03-03 16:41

developer   ~0011640

While doing the write up for the change we identified some wording enhancements which would make the text easier to understand as well as some other types which do not follow the same rules for the BrowseNames.

Regarding the text updates this is the original text in the spec:
=============START===============
This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SubscriptionDiagnosticsType VariableType having the SubscriptionId as BrowseName. The VariableType is formally defined in Table 71 .
==============END================
I would consider that text easier to understand:
=============START===============
This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SubscriptionDiagnosticsType VariableType (defined in Table 72) having the SubscriptionId as BrowseName. The SubscriptionDiagnosticsArrayType VariableType is formally defined in Table 71.
==============END================

The other three arrays not following the same concepts are the SamplingIntervalDiagnostics, SessionDiagnostics and SessionSecurityDiagnostics.

SamplingIntervalDiagnosticsArrayType:
In this array type the only required change is to changed the BrowseName for components of the array to "<SamplingIntervalDiagnostics>" in Table 69 as the BrowseName in the text is the sampling rate of each element of the array and therefore is different for every component.

SessionDiagnosticsArrayType:
In this array type two changes are required to align them with the others. First the actual BrowseName needs to be changed to actually use something to identify the element. Right now the BrowseName is set to "SessionDiagnostics" for every element. Instead it should be using something being unique like the SessionId or helps identifying the element like the SessionName. To do that the text needs to be changed to this:
=============START===============
This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionDiagnosticsVariableType VariableType, having the SessionId as BrowseName.
==============END================
Next also the BrowseName in Table 73 needs to be updated to "<SessionDiagnostics>".

SessionSecurityDiagnosticsArrayType:
In this array type two changes are required to align them with the others. First the actual BrowseName needs to be changed to actually use something to identify the element. Right now the BrowseName is set to "SessionSecurityDiagnostics" for every element. Instead it should be using something being unique like the SessionId or helps identifying the element like the SessionName. To do that the text needs to be changed to this:
=============START===============
This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionSecurityDiagnosticsType VariableType, having the SessionId as BrowseName. Those Variables will also be referenced by the SessionDiagnostics Objects defined by their type in 6.3.5. The VariableType is formally defined in Table 75. Since this information is security related, it should not be made accessible to all users, but only to authorised users.
==============END================
Next also the BrowseName in Table 75 needs to be updated to "<SessionSecurityDiagnostics>".

Jeff Harding

2020-06-08 19:44

developer   ~0012196

After review with Wolfgang Mahnke we agreed that no change should be made.

The ExposesItsArray is a rather old ModellingRule, before we introduced the “Placeholder” ModellingRules.
Part 3 clearly states for ExposesItsArray:
“The BrowseNames of those instances are not defined by the ModellingRule.”
That means, that the BrowseName of the InstanceDeclaration could be anything.
If we would create the type now we probably would have put <SubscriptionDiagnostics> into it, but the spec is not requiring this at all. I would not change it since this is changing a long-time-defined name, I cannot imagine that it would break anything (or help with anything).

Jeff Harding

2020-06-08 19:46

developer   ~0012197

The current description is not incorrect and since it has been this way for many years we will not change it. See detailed explanation in note.

Jim Luth

2020-12-09 15:37

administrator   ~0013420

Agreed to no-change required in Virtual F2F.

Issue History

Date Modified Username Field Change
2019-10-23 17:00 Alexander Allmendinger New Issue
2019-11-26 16:27 Jim Luth Assigned To => Jeff Harding
2019-11-26 16:27 Jim Luth Status new => assigned
2020-03-03 16:41 Alexander Allmendinger Note Added: 0011640
2020-06-08 19:44 Jeff Harding Note Added: 0012196
2020-06-08 19:46 Jeff Harding Status assigned => resolved
2020-06-08 19:46 Jeff Harding Resolution open => no change required
2020-06-08 19:46 Jeff Harding Fixed in Version => 1.05
2020-06-08 19:46 Jeff Harding Note Added: 0012197
2020-12-09 15:37 Jim Luth Status resolved => closed
2020-12-09 15:37 Jim Luth Fixed in Version 1.05 =>
2020-12-09 15:37 Jim Luth Note Added: 0013420