View Issue Details

IDProjectCategoryView StatusLast Update
0009663Part 81: UAFX Connecting Devices and Information ModelSpecpublic2024-09-06 13:48
ReporterJan Murzyn Assigned ToPaul Hunkar  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version1.00.02 
Fixed in Version1.00.03 
Summary0009663: Clarify the scope of variables passed-in to the IFunctionalEntityType.Verify method
Description

Description of IFunctionalEntityType.Verify doesn’t explicitly say what is the scope of the ExpectedVerificationVariables. There are 2 conflicting statements:

1) In description of VerificationResult it’s mentioned what to do if variables “do not exist in the Information Model of this FunctionalEntity”.

2) In description of BadNodeIdUnknown it’s said that “NodeId […] does not exist in the Server address space”

Proposal:

  • Explicitly write in the description of ExpectedVerificationVariables that they shall be in the hierarchy under the current FE. Don’t use the vague term “exist in the Information Model”.
  • Update description of the error code, to make it clear that implementation should make a check against the above statement.
TagsNo tags attached.

Activities

Paul Hunkar

2024-07-20 06:02

manager   ~0021496

Will clarify, but the goal was the server AddressSpace - since a FunctionalEntity can be any object (it only requires an interface, it is not possible to easily check the scope of the FE)

Jan Murzyn

2024-07-23 21:07

developer   ~0021507

If the scope is the server AddressSpace then the only argument to have this method in the FunctionalEntity type/interface (and thus on each instance) is defeated.

Implementation of the method has no benefit from the fact that it's called on a specific instance.

Conclusion: this could have been a "global" method placed in FxRoot.

Paul Hunkar

2024-07-23 21:58

manager   ~0021508

On the FE, there needs to be no checking - on the CM - which has to resolve the configuration NodeId, the BrowsePath starts at the FE. What I'm arguing against is any checking on the provided nodeId other then if it is found (and that the value matches what was passed in). The AC could have problems figuring out if it is in the ndoeId is in the FE. There is no reverse browse path and since the variables in an FE might be referenced by an organize reference (not a HasChild type reference - even walking back up the tree might not find the FE (It would be a lot of work the AC with no actual benefit) - FE can be nested - so it might be a variable in a child FE - basically the tree under an FE can be very wide and deep and figuring out if a nodeId is in it would be a very expensive operation - and if we expect an FE to report a nodeID that is not in the tree then every FE would have to do it for every verification node and that very expense operation make no sense.

The verify was designed to be quick and easy.

Paul Hunkar

2024-08-27 03:47

manager   ~0021622

Updated text to indicate that the existence of the node and for variables the value is checked, not the location in the AddressSpace

Paul Hunkar

2024-09-06 13:48

manager   ~0021671

reviewed changes in call, agreed to change, closed issue

Issue History

Date Modified Username Field Change
2024-07-12 07:42 Jan Murzyn New Issue
2024-07-20 06:02 Paul Hunkar Note Added: 0021496
2024-07-20 06:03 Paul Hunkar Assigned To => Paul Hunkar
2024-07-20 06:03 Paul Hunkar Status new => assigned
2024-07-23 21:07 Jan Murzyn Note Added: 0021507
2024-07-23 21:58 Paul Hunkar Note Added: 0021508
2024-08-27 03:47 Paul Hunkar Status assigned => resolved
2024-08-27 03:47 Paul Hunkar Resolution open => fixed
2024-08-27 03:47 Paul Hunkar Fixed in Version => 1.00.03
2024-08-27 03:47 Paul Hunkar Note Added: 0021622
2024-09-06 13:48 Paul Hunkar Status resolved => closed
2024-09-06 13:48 Paul Hunkar Note Added: 0021671