View Issue Details

IDProjectCategoryView StatusLast Update
000682910000-006: MappingsSpecpublic2021-05-27 14:44
ReporterMark Clemens Assigned ToRandy Armstrong  
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Summary0006829: 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.
Commit Version
Fix Due Date

Relationships

related to 0006950 closedMatthias Damm 10000-004: Services 5.2.5 differentiates between a zero length array and a null array. A definition of what an "empty array" means is missing 
related to 0006965 assignedAlexander Allmendinger Compliance Test Tool (CTT) Unified Architecture 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-13 05:45

administrator   ~0014359

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-18 15:31

administrator   ~0014391

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

Issue History

Date Modified Username Field Change
2021-04-21 09:49 Mark Clemens New Issue
2021-05-13 05:45 Randy Armstrong Assigned To => Randy Armstrong
2021-05-13 05:45 Randy Armstrong Status new => resolved
2021-05-13 05:45 Randy Armstrong Resolution open => fixed
2021-05-13 05:45 Randy Armstrong Note Added: 0014359
2021-05-18 15:20 Jim Luth Issue cloned: 0006950
2021-05-18 15:20 Jim Luth Relationship added related to 0006950
2021-05-18 15:31 Jim Luth Status resolved => closed
2021-05-18 15:31 Jim Luth Fixed in Version => 1.05
2021-05-18 15:31 Jim Luth Note Added: 0014391
2021-05-27 14:44 Jim Luth Issue cloned: 0006965
2021-05-27 14:44 Jim Luth Relationship added related to 0006965