TimeSeries: missingDataMaxNr not properly defined
Lately, the <TimeSeries> resource procedures went through some clarifications, and changes to the attributes were made. The missingDataMaxNr attribute is used to define the maximum number of missing data points and determines the size of the missingDataList attribute list. The following table shows the current definition in TS-0001.
Attributes of <timeSeries> | Multiplicity | RW/RO/WO | Description | Attributes |
---|---|---|---|---|
missingDataMaxNr | 0..1 | RW | Maximum number of entries in the missingDataList if the periodicInterval is set and the missingDataDetect is TRUE. | OA |
missingDataList | 0..1(L) | RO | The list of the dataGenerationTime value representing the missing Time Series Data in descending order by time if the periodicInterval is set and the missingDataDetect is TRUE. | NA |
The problem is that missingDataMaxNr is an optional attribute. Without it the size of the missingDataList is undefined. Also the procedures that store missing data indications in the missingDataList refer to missingDataMaxNr. There is also no default value that can or will be assigned by a CSE.
Another problem is that missingDataMaxNr can be removed in an update to a <TimeSeries> resource at any time. This means that, without a default, the procedures that refer to this attribute cannot be applied anymore.
Discussion
I see two possible solutions at this point:
- The CSE must always choose a meaningful default value.
- This default value must be determined by the CSE latest when missingDataDetect is set to True (ie the procedure for missing data detection is started).
- This default value is also valid when the missingDataMaxNr attribute is removed in an update.
The missing data procedure is not canceled when the missingDataMaxNr attribute is changed or removed.
- The CSE does not start with the missing data detection procedure, even when missingDataDetect is set to true, because the CSE cannot determine the size of the missingDataList. In this case, an error BAD REQUEST is returned when in a CREATE or in an UPDATE the missingDataDetect is set to true but missingDataMaxNr is missing in the (final) <timeSeries> resource.
Update: missingDataMaxNr cannot be updated when missingDataDetect is true , ie. the procedures for detecting missing data are active.