View Issue Details

IDProjectCategoryView StatusLast Update
0006965Compliance Test Tool (CTT) Unified ArchitectureApi Changepublic2021-10-15 02:35
ReporterJim Luth Assigned ToAlexander Allmendinger  
PrioritynormalSeverityblockReproducibilityalways
Status assignedResolutionopen 
Product Version1.04 
Summary0006965: 5.2.5 differentiates between a zero length array and a null array. A definition of what an "empty array" means is missing
Description

In several places in the specification, the term "empty" is used in the context of arrays. E.g. In part 3 for the InputArguments and OutputArguments or part 9 for the ConditionId.

empty can be a null array and empty can be an array with zero length

For arrays there is no definition what it means for the mapping, when an array is empty.

For other mappings, like for variants in 5.1.6 in part 6, it is clearly defined what "empty" means.

Additional Information

Several server implementations exist, including the OPC Foundation Quickstart Alarms & Conditions Server, that accept both a null array and an array of zero length, in the select clause for the SimpleAttributeOperand for the ConditionId.

At least one OPC UA server implementation is known that accepts only an array of zero length and causes interoperability issues with OPC UA clients that use a null array in the SimpleAttributeOperand for the ConditionId.

TagsNo tags attached.
Files Affected

Relationships

related to 0006829 closedRandy Armstrong 10000-006: Mappings 5.2.5 differentiates between a zero length array and a null array. A definition of what an "empty array" means is missing 

Activities

Randy Armstrong

2021-05-27 14:44

administrator   ~0014428

Added text to 1.05 RC:

5.1.9 Null, Empty and Zero-Length Arrays

The terms null, empty and zero-length are used to describe array values. A null array has no value. A zero-length or empty array is an array with 0 elements. Some DataEncodings will allow the distinction to be preserved on the wire, however, not all DevelopmentPlatforms will be able to preseve the distinction. For this reason, null, empty and zero length arrays are semantically the same for all DataEncodings. Decoders shall be able to handle all variations supported by the DataEncoding, however, decoders are not required to preserve the distinction. When testing for equality, applications shall treat null and empty arrays as equal. When a DevelopmentPlatform supports the distinction, writing and reading back an array value may result in null array becoming an empty array or vise versa.

Jim Luth

2021-05-27 14:44

administrator   ~0014429

Agreed to changes edited in telecon. Also agreed no Errata necessary.

Paul Hunkar

2021-05-27 14:50

administrator   ~0014430

need to identify which services this will apply to then will need to generate actual test cases.

Paul Hunkar

2021-05-27 14:53

administrator   ~0014431

This issue needs to be applied back to all previous CTT version that are still being supported.

Issue History

Date Modified Username Field Change
2021-05-27 14:44 Jim Luth New Issue
2021-05-27 14:44 Jim Luth Issue generated from: 0006829
2021-05-27 14:44 Jim Luth Note Added: 0014428
2021-05-27 14:44 Jim Luth Note Added: 0014429
2021-05-27 14:44 Jim Luth Relationship added related to 0006829
2021-05-27 14:45 Jim Luth Project 10000-006: Mappings => Compliance Test Tool (CTT) Unified Architecture
2021-05-27 14:45 Jim Luth Category Spec => Api Change
2021-05-27 14:50 Paul Hunkar Note Added: 0014430
2021-05-27 14:51 Paul Hunkar Assigned To => Paul Hunkar
2021-05-27 14:51 Paul Hunkar Status new => assigned
2021-05-27 14:53 Paul Hunkar Note Added: 0014431
2021-10-15 02:35 Paul Hunkar Assigned To Paul Hunkar => Alexander Allmendinger