XML Telemetric & Command Exchange Format Avatar
  1. OMG Specification

XML Telemetric & Command Exchange Format — Open Issues

  • Acronym: XTCE
  • Issues Count: 40
  • Description: Issues not resolved
Open Closed All
Issues not resolved

Issues Summary

Key Issue Reported Fixed Disposition Status
XTCE13-129 Non-ASCII characters in descriptions cause tooling issues XTCE 1.2 open
XTCE13-128 Data encodings: FromBinaryTransformAlgorithm/ToBinaryTransformAlgorithm should not require a SizeInBits XTCE 1.2 open
XTCE13-127 Variable string size specification enforces one of DynamicValueType or DiscreteLookupListType XTCE 1.2 open
XTCE13-126 reference to aggregate members and arrays XTCE 1.2 open
XTCE13-125 Access to command arguments in transmission constraints and command verifiers XTCE 1.2 open
XTCE13-124 FromBinaryTransformAlgorithm/ToBinaryTransformAlgorithm should be allowed for all data encodings XTCE 1.2 open
XTCE13-116 Possible typo of word "encoded" as "endcode" XTCE 1.2 open
XTCE13-110 Discrete lookup list has no default (or i don't get it) XTCE 1.2 open
XTCE13-111 CustomAlgorithm needs a language/implementation field XTCE 1.2 open
XTCE13-113 parametertype and argumenttype type hiearchies still need work XTCE 1.2 open
XTCE13-112 LinearAdjust -- slope should default to 1 XTCE 1.2 open
XTCE13-115 Disallow duplicate labels in the EnumerationList XTCE 1.2 open
XTCE13-32 needs to be updated for items that no longer support hex, octal, binary XTCE 1.2b1 open
XTCE13-33 Inconsistency in Argument Types with respect to FixedIntegerValueType XTCE 1.2b1 open
XTCE13-34 ArgumentInputSetType is inconsistent with InputSetType XTCE 1.2b1 open
XTCE13-108 BinaryContextAlarmList should be ContextAlarmList XTCE 1.2 open
XUSP11-15 Possible typo of word "difference" instead of "different" XTCE 1.2 open
XUSP11-14 Possible typo: omission of "of" XTCE 1.2 open
XTCE13-114 BaseConditionsType too broad XTCE 1.2 open
XTCE13-109 Dynamic look up should have integer and float forms XTCE 1.2 open
XTCE13-39 Inconsistent time unit data types XTCE 1.2 open
XTCE13-37 Incorrect MetaCommandRef element definition XTCE 1.2 open
XTCE13-67 CustomAlarmType has wrong parent XTCE 1.2 open
XTCE13-71 CNES CCSDS -- unit set "form" question XTCE 1.2 open
XTCE13-107 Revert change to CalibratorType base type XTCE 1.2 open
XTCE13-30 String Encoding Length descriptions needs further clean up XTCE 1.2 open
XTCE13-72 CNES CCSDS -- Want ArgumentEntryRef in CommandContainerSet/CommandContainer XTCE 1.2 open
XTCE13-65 lost annotation in 1.2 inputAlgorithmType schema type rework XTCE 1.2 open
XTCE13-31 ServiceRef construction error XTCE 1.2 open
XTCE13-91 MemberType and ComparisonType annotation misses fix to value formatting XTCE 1.2 open
XTCE13-70 CNES CCSDS -- inside/outside range support in ValidRange XTCE 1.2 open
XTCE13-68 CNES CCSDS -- Time ParameterType inheritance may need to be repolled XTCE 1.2 open
XTCE13-36 RelativeTimeAgumentType is misspelled XTCE 1.2b1 open
XTCE13-69 CNES CCSDS -- RelativeTimeAgument typo XTCE 1.2 open
XTCE13-35 ArgumentAssigmentList in the MetaCommandStep is misspelled XTCE 1.2b1 open
XTCE13-66 Unecessary Sequence of choice in AlarmType XTCE 1.2 open
XTCE13-74 Is rangeForm specialization needed for Change and Multi band alarms? XTCE 1.2 open
XTCE13-73 rangeForm annotation needs work XTCE 1.2 open
XTCE13-40 Duplicated BaseCalibratorType extension XTCE 1.2 open
XTCE13-38 Missing default value of dataSource attribute XTCE 1.2 open

Issues Descriptions

Non-ASCII characters in descriptions cause tooling issues

  • Key: XTCE13-129
  • Status: open  
  • Source: Kratos RT Logic, Inc. ( Justin Boss)
  • Summary:

    Remove use of non-ASCII characters to improve tooling ease of use.

    Symbols to change:

    ’ '


    Also, in ArgumentAssignmentListType, add a single quote before "power on"

  • Reported: XTCE 1.2 — Tue, 15 Jun 2021 18:11 GMT
  • Updated: Tue, 15 Jun 2021 18:11 GMT

Data encodings: FromBinaryTransformAlgorithm/ToBinaryTransformAlgorithm should not require a SizeInBits

  • Key: XTCE13-128
  • Status: open  
  • Source: Space Applications Services ( Nicolae Mihalache)
  • Summary:

    In data encoding definitions (currently only BinaryDataEncoding but see my other issue XTCE13-124), XTCE should allow the algorithm used in ToBinaryTransformAlgorithm and FromBinaryTransformAlgorithm to determine the size of the data on the wire.

    Thus the SizeInBits which is currently mandatory should be made optional when an algorithm is used.

  • Reported: XTCE 1.2 — Mon, 3 May 2021 14:17 GMT
  • Updated: Tue, 11 May 2021 13:54 GMT

Variable string size specification enforces one of DynamicValueType or DiscreteLookupListType

  • Key: XTCE13-127
  • Status: open   Implementation work Blocked
  • Source: Space Applications Services ( Nicolae Mihalache)
  • Summary:

    In addition to the clarity issues highlighted by XTCE13-30, the current definition of StringDataEncoding has a major drawback for variable strings: the VariableStringType enforces one of DynamicValueType or DiscreteLookupListType.

    However the size of the string can be very well determined by the other two methods LeadingSize or TerminationChar. Usage of LeadingSize/TerminationChar in combination with the enforced DynamicValueType/DiscreteLookupListType does not make sense when the string fills completely the allocated buffer and so the size of the string determines the size of the buffer.

    In my opinion having a variable size buffer with a variable string inside that buffer is much less common (never heard of it in fact) than having a fixed size buffer with a variable string inside or a variable string with no buffer (the buffer is the string).

    Suggest to make the DynamicValueType/DiscreteLookupListType optional.

  • Reported: XTCE 1.2 — Fri, 30 Apr 2021 07:34 GMT
  • Updated: Fri, 30 Apr 2021 14:11 GMT

reference to aggregate members and arrays

  • Key: XTCE13-126
  • Status: open  
  • Source: Space Applications Services ( Nicolae Mihalache)
  • Summary:

    The XTCE spec is not very clear on how the aggregate members can be referenced (for example in match criterias). The doc of AggregateParameterType reads:
    "Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P’s aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType".

    However the definition of "NameReferenceType" is silent about aggregates and the "." (dot) character is not allowed to be used in a reference (except in the "./" where it denotes "current space system). The reference suggested above "P.voltage" is invalid.

    In some examples over the internet references to aggregate members are found using standard "/" separator. However this is problematic because a reference like "/A/B/C" is ambiguous, could translate into:
    A (space system)/B(space system)/C(parameter name)
    or
    A(space system)/B(parameter name)/C(aggregate member name)

    Suggest to allow dot notation to reference aggregate members. Similarly allow "[idx]" to reference array indices.

    For example a reference "/A/B.C[3]" can be unambiguously understood as:
    A(space system)/B(parameter name).C(aggregate member name of type array) [3] (index in the C array)

    Perhaps NameReferenceType can be made less restrictive or another type can be defined and used in the ParameterRefType definition.

  • Reported: XTCE 1.2 — Fri, 23 Apr 2021 07:38 GMT
  • Updated: Fri, 30 Apr 2021 13:41 GMT

Access to command arguments in transmission constraints and command verifiers

  • Key: XTCE13-125
  • Status: open  
  • Source: Space Applications Services ( Nicolae Mihalache)
  • Summary:

    Sometimes the constraints and/or verifies associated to a command may depend on the value of the arguments of the command sent. For example setting a thermostat to a certain setpoint may have a constraint which will only allow a given setpoint in a specific operational mode.
    A verifier can compare the setpoint sent as command argument with the setpoint known in the spacecraft and received as a TM parameter.

    To achieve this, arguments references should be allowed in the definition of the constraints/verifiers.

    In practice:

    • TransmissionConstraintType should extend the ArgumentMatchCriteriaType (instead of MatchCriteriaType)
    • CommandVerifierType should allow elements of type ArgumentInputAlgorithmType , ArgumentBooleanExpressionType and ArgumentComparisonType (instead of the non argument variety)

    All the Argument* types are superset of the corresponding non-argument types so by doing this change, the schema will be backward compatible.

    Note: a similar request could be argued for ParametrToSetType to allow setting a parameter to a value computed based on the user defined argument of the command. However since there is no ArgumentMathOperationType, no easy solution can be immediately seen without adding extra types.

  • Reported: XTCE 1.2 — Thu, 22 Apr 2021 08:17 GMT
  • Updated: Fri, 30 Apr 2021 13:37 GMT

FromBinaryTransformAlgorithm/ToBinaryTransformAlgorithm should be allowed for all data encodings

  • Key: XTCE13-124
  • Status: open  
  • Source: Space Applications Services ( Nicolae Mihalache)
  • Summary:

    Currently the FromBinaryTransformAlgorithm/ToBinaryTransformAlgorithm are allowed only for BinaryDataEncodingType with the comment "Used to convert binary data from an application data type to binary data". However the binary data encoding is used to encode/decode binary data, so not any application data (float, integer, time,...).

    We believe it is more beneficial to allow these algorithms to all data encoding types.

    For example a FromBinaryTransformAlgorithm attached to a IntegerDataEncoding can extract a varint like the ones used in protobuf (https://developers.google.com/protocol-buffers/docs/encoding#varints).

    Similarly a ToBinaryTransformAlgorithm attached to a FloatDataEncoding can be used to encode a floating point number in an exotic format; for example bfloat16 is commonly used in AI chips (https://en.wikipedia.org/wiki/Bfloat16_floating-point_format)

  • Reported: XTCE 1.2 — Thu, 22 Apr 2021 07:57 GMT
  • Updated: Fri, 30 Apr 2021 13:37 GMT

Possible typo of word "encoded" as "endcode"

  • Key: XTCE13-116
  • Status: open  
  • Source: CACI ( Zebulun Barnett)
  • Summary:

    Appears to be a typo in the BinaryDataEncoding description in the ParameterTypeSet section. "...specifies the bit order, the size in bits, and two algorithms to convert to and from the endcode
    value, along with error detection (CRC and Parity checks).

  • Reported: XTCE 1.2 — Thu, 3 Sep 2020 19:40 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

Discrete lookup list has no default (or i don't get it)

  • Key: XTCE13-110
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The discrete lookup list, also sprinkled about the syntax tree retrieves the specified numeric value if its condition evaluates to true. for particular discrete in the list. there are several kinds of conditions. The text isn't completely clear but it seems the first discrete lookup in the list that evaluates to true – returns that value. But what happens if none eval to true? it seems that default value is warrented.

    Note: the value is a long. Therefore it does not have same problem as dynamic lookups double data types for integer syntax items.

  • Reported: XTCE 1.2 — Thu, 9 Jul 2020 19:31 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

CustomAlgorithm needs a language/implementation field

  • Key: XTCE13-111
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Perhaps this is more about discussion first but a language/implementation (& version?) attribute would help custom algorithm be useful – and perhaps resolvable by your code.

    For example, since most of the implementations of xtce are java – there are many jvm languages that could run as embedded "script" through the custom algorithm – if we but only knew which one to run!

    For example so called "space python" could be run on jython…

    We use gradle at work, and I'm so used to it forking of JVMs in other languages to do things – I'm thinking, let's give it a go! (we use a plugin that is in written python and is run by gradle on as jython on another jvm)

  • Reported: XTCE 1.2 — Thu, 9 Jul 2020 19:39 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

parametertype and argumenttype type hiearchies still need work

  • Key: XTCE13-113
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    This is more for discussion. our syntax is ok but when the schema types that control the syntax in parameter/argument type are manifest into classes, the result is less than ideal.

    Firstly all our parametertype/argumenttypes have NameDescriptionType as the root. It might for example make sense to have as a root "DataType" or something of that nature – and maybe to then ScalarDataType and ComplexDataType which seems natural.

    Secondly we now have split the parameter type and argument types because we had to support looking up parameters and arguments in the latter. And these appear deep in the syntax trees. More ideally we'd just bolt on those latter in the hierarchy so as to show more schema types.

    Finally somehow array and aggregate didn't get the message – and the time types have their own data encoding syntax.

    The result is this:

    BaseDataType – all the scalars on the parameter type side have this as a parent.

    XXXDataType – next up the various scalars have this interim schema type. This is a vestige from 1.1. So for example IntegerDataType.

    BaseTimeDataType – absolute and relative use this though.

    ArrayDataTypeType and AggregateDataType – array and aggregate follow this line

    Then on the argument side, this is mirrored but with "argument" stuck in front of it all:

    ArgumentBaseDataType, ArgumentBaseTimeDataType – oddly Array and Aggregate on this side have ArrayDataTypeType and AggregateDataType as parents.

    In the end we up with lots of "root" schema types that are all children of NameDescriptionType – BaseDataType, BaseTimeDataType, ArgumentBaseDataType, ArgumentTimeBaseDataType, ArrayDataTypeType and AggregateDataType.

    There's no DataType, ScalarDataType or ComplexDataType which might more natural organize it.

    Conclusion: this could all be better.

  • Reported: XTCE 1.2 — Fri, 10 Jul 2020 11:28 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

LinearAdjust -- slope should default to 1

  • Key: XTCE13-112
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    This seems an old issue. Slope is optional and intercept is optional. But intercept defaults to 0. Slope has no default. The generated classes then return a Double and double. Seems like slope=1 by default would be a good thing.

    Btw there's a related issue of having this return doubles when they are only being used in non-float number evaluation.

  • Reported: XTCE 1.2 — Thu, 9 Jul 2020 20:39 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

Disallow duplicate labels in the EnumerationList

  • Key: XTCE13-115
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The EnumerationList should probably have a key to disallow the duplicate labels. (similar to the @name keys)

  • Reported: XTCE 1.2 — Wed, 15 Jul 2020 17:45 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

needs to be updated for items that no longer support hex, octal, binary

  • Key: XTCE13-32
  • Status: open  
  • Source: Peraton ( Victoria Vickers)
  • Summary:

    Items that previously were typed as FixedIntegerValueType but were changed to become long need to be revisited to update the documentation annotation. For instance IntegerDataType initialValue attribute documentation:
    "Default/Initial value is always given in calibrated form. Default is base 10 form; binary, octal, or hexadecimal values may be given by preceding value with 0[b|B], 0[o|O|, 0[x|X] respectively."
    Such forms no longer validate against the schema.

  • Reported: XTCE 1.2b1 — Mon, 15 Oct 2018 15:19 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

Inconsistency in Argument Types with respect to FixedIntegerValueType

  • Key: XTCE13-33
  • Status: open  
  • Source: Peraton ( Victoria Vickers)
  • Summary:

    For instance the documentation for the the ArgumentIntegerDataType says that it is identical to the IntegerDataType. However the initialValue attribute is types as a FixedIntegerValueType whereas the initialValue attribute for the IntegerDataType is typed as long.

  • Reported: XTCE 1.2b1 — Mon, 15 Oct 2018 15:26 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

ArgumentInputSetType is inconsistent with InputSetType

  • Key: XTCE13-34
  • Status: open  
  • Source: Peraton ( Victoria Vickers)
  • Summary:

    The InputSetType has a InputParameterInstanceRefType as well as a ConstantType.
    The ArguementInputSetType has a InputParameterInstanceRefType as well as a InputArgumentInstanceRefType.
    The inconsistency causes some confusion as to usage.

  • Reported: XTCE 1.2b1 — Wed, 17 Oct 2018 13:24 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

BinaryContextAlarmList should be ContextAlarmList

  • Key: XTCE13-108
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Type in element name in BinaryParameterType. Possibly a duplicated but I couldnt find it.

  • Reported: XTCE 1.2 — Tue, 21 Apr 2020 16:48 GMT
  • Updated: Tue, 1 Dec 2020 00:50 GMT

Possible typo of word "difference" instead of "different"

  • Key: XUSP11-15
  • Status: open  
  • Source: CACI ( Zebulun Barnett)
  • Summary:

    "There are eight different verifiers each associated with *difference* states in command processing"

  • Reported: XTCE 1.2 — Thu, 3 Sep 2020 20:31 GMT
  • Updated: Tue, 22 Sep 2020 19:23 GMT

Possible typo: omission of "of"

  • Key: XUSP11-14
  • Status: open  
  • Source: CACI ( Zebulun Barnett)
  • Summary:

    Missing the word, "of" between "instances" and "this" in "...Interlocks apply instead to any Commands that may follow instances this MetaCommand."

  • Reported: XTCE 1.2 — Thu, 3 Sep 2020 20:27 GMT
  • Updated: Tue, 22 Sep 2020 19:22 GMT

BaseConditionsType too broad

  • Key: XTCE13-114
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Our for a list<element> in the BooleanExpression which made a base type called – BaseConditionsType is a little too broad because it include sub-type now only relevant on the command side.

    we should probably have a ArgumentBaseConditionsType.

    The children of it now are:

    ANDedConditionsType
    ArgumentANDedConditionsType
    ORedConditionsType
    ArgumentORedConditionsType
    ComparisonCheckType
    ArgumentComparisonCheckType

  • Reported: XTCE 1.2 — Fri, 10 Jul 2020 17:33 GMT
  • Updated: Fri, 10 Jul 2020 17:33 GMT

Dynamic look up should have integer and float forms

  • Key: XTCE13-109
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Dynamic lookup is sprinkled about the text to (only?) retrieve a numeric value but perhaps there should be an integer and float form. For example in calculating a dynamic array index, would it make sense if the referred to parameter is a float? we can agree any non-numeric is a error. If it's a float or integer, the slope and intercept are doubles – suggesting a double result. Well that may produce a fractional value of an array index – that doesn't make sense. one can round or chop as one sees fits but that's not documented. in this case integer only dynamic value would make more sense – the slope and intercept would be int/long and it would be in error to ref anything but an integer parameter type. other cases may allow for either data type. [edit] Discrete lookup DOES NOT have the same issue – it's value is a float. It however does need a default. I made an issue for that.

  • Reported: XTCE 1.2 — Thu, 9 Jul 2020 19:22 GMT
  • Updated: Thu, 9 Jul 2020 19:32 GMT

Inconsistent time unit data types

  • Key: XTCE13-39
  • Status: open  
  • Source: Northrop Grumman ( Joseph Vlietstra)
  • Summary:

    XTCE v1.2 added "unit" attribute to TimeAssocationType and added a specialized data type (TimeAssociationUnitType) that is inconsistent with the existing data type (TimeUnitsType)

  • Reported: XTCE 1.2 — Fri, 22 Feb 2019 21:51 GMT
  • Updated: Wed, 1 Jul 2020 00:35 GMT

Incorrect MetaCommandRef element definition

  • Key: XTCE13-37
  • Status: open  
  • Source: Northrop Grumman ( Joseph Vlietstra)
  • Summary:

    Draft version of XTCE v1.2 defined <MetaCommandRef> element as:
    <element name="MetaCommandRef" type="xtce:MetaCommandRefType">
    <complexType name="MetaCommandRefType">
    <annotation>
    <documentation>Describe a reference to a MetaCommand . See NameReferenceType.</documentation>
    </annotation>
    <attribute name="metaCommandRef" type="xtce:NameReferenceType" use="required"/>
    </complexType>

    Published version of XTCE v1.2:
    <element name="MetaCommandRef" type="xtce:NameReferenceType">

    Published version is inconsistent:

    • The attribute "metaCommandRef" is used several other places
    • This is the place where a name reference is element text content instead of an attribute.
  • Reported: XTCE 1.2 — Fri, 22 Feb 2019 21:26 GMT
  • Updated: Wed, 1 Jul 2020 00:35 GMT

CustomAlarmType has wrong parent

  • Key: XTCE13-67
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The CustomAlarmType appears to extend BaseAlarmType, where as it should just be an extension of InputAlgorithmType (or similar). The result is there are three name attributes to fill in if you want to do so.

    In fact because the AlarmType is the base for all the various DefaultAlarms, the CustomAlarm should probably extend a stubby version of InputAlgorithm without a name or description attribute.

  • Reported: XTCE 1.2 — Tue, 1 Oct 2019 18:42 GMT
  • Updated: Wed, 1 Jul 2020 00:35 GMT

CNES CCSDS -- unit set "form" question

  • Key: XTCE13-71
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    "A new attribute UnitFormType allows to specify a unit for calibrated values and another unit for uncalibrated values.

    Why is this attribute defined with 3 enumerations? ‘raw’, ‘uncalibrated’ and ‘calibrated’?
    "

  • Reported: XTCE 1.2 — Wed, 2 Oct 2019 14:49 GMT
  • Updated: Wed, 1 Jul 2020 00:35 GMT

Revert change to CalibratorType base type

  • Key: XTCE13-107
  • Status: open  
  • Source: Northrop Grumman ( Joseph Vlietstra)
  • Summary:

    XUSP 1.2 changed the base type of CalibratorType from OptionalNameDescriptionType to the new BaseCalibratorType. This change eliminated the previous support for <LongDescription> and <AliasSet>. These elements are supported in the XUSP 1.0 profile and are used in existing databases.

  • Reported: XTCE 1.2 — Wed, 25 Mar 2020 20:07 GMT
  • Updated: Fri, 17 Apr 2020 17:29 GMT

String Encoding Length descriptions needs further clean up

  • Key: XTCE13-30
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The current schema improves upon XTCE 1.1 but still has issues. Firstly it lacks overall clarity and simple syntax. Second it appears to give 2 ways to describe an overall "string box" and dynamic part which may be confusing to some (we should favor one over the other). See for example Fixed plus one of the TerminatingChar or LeadingSize, or Variable/DynamicValue and maxSizeInBits. Also maxSizeInBits is required and this may be a problem in some scenarios. Finally the choice of syntactic element does make it possible to say that variable length has a dynamic look up terminatingChar and LeadingSize.

    The overall use cases of support are:

    • fixed string
    • fixed box, variable string
    • variable string but overall max size (simlar to above)
    • variable string unlimited

    Here's a longer write up:

    1) Fixed string, like as in literally:

    StringDataEncoding/SizeInBits/Fixed/FixedValue

    2) Fixed string BOX but variable inside that...

    StringDataEncoding/SizeInBits/Fixed/FixedValue AND one of Fixed/LeadingSize or Fixed/TerminatingChar

    3) Fixed string BOX but variable inside that... yeah we can say this two ways then:

    StringDataEncoding/Variable/@maxSizeInBits=sizeOf(StringBox) AND one of DynamicValue or DiscreteValue to look up the length from it, and then optionally either LeadingSize or TerminationChar or both even too

    This one is terribly confusing...

    4) Variable and Max size

    StringDataEncoding/Variable/Dynamic|Discrete plus required maxSizeInBits and then optionally either LeadingSize or TerminationChar too

    5) Variable but no max size stated in source material

    StringDataEncoding/Variable/Dynamic|Discrete set maxSizeInBits to ginormous and probably just ignore and then optionally either LeadingSize or TerminationChar too

    So #1 and #2 make sense but are a tad unwieldy syntax wise... well we are probably a little stuck there in regard to "backwards compatibility". This is probably the most used, these two.

    I think #4 makes sense – although mixing in the leading size or termination char seems either just plain confusing or weird...

    #5 is unfortunate but making @maxSizeinBits optional seems quick fix OR the workaround isn't necessarily bad.

    The "let's set everything" #3 isn't great but could be factored away in documentation

  • Reported: XTCE 1.2 — Mon, 14 May 2018 17:31 GMT
  • Updated: Fri, 8 Nov 2019 17:43 GMT

CNES CCSDS -- Want ArgumentEntryRef in CommandContainerSet/CommandContainer

  • Key: XTCE13-72
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    "The issue is declared Closed.
    The problem has not been fixed. It is still impossible to reference an argument in a CommandContainerSet/CommandContainer/RefEntry."

  • Reported: XTCE 1.2 — Wed, 2 Oct 2019 14:54 GMT
  • Updated: Thu, 7 Nov 2019 12:55 GMT

lost annotation in 1.2 inputAlgorithmType schema type rework

  • Key: XTCE13-65
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Much of the annotation is gone in InputAlgorithmType in 1.2 in its major elements. These were turned into schema types for 1.2, and somehow the annotation was not copied over from 1.1.

  • Reported: XTCE 1.2 — Fri, 27 Sep 2019 15:07 GMT
  • Updated: Wed, 6 Nov 2019 12:23 GMT

ServiceRef construction error

  • Key: XTCE13-31
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The service ref now require content and an attribute – this clearly the result of an "oops" during clean up of 1.2.

    Basically it should NOT extend NameDescriptionType.

    <complexType name="ServiceRefType">
    <annotation>
    <documentation xml:lang="en">A reference to a Service</documentation>
    </annotation>
    <simpleContent>
    <extension base="xtce:NameReferenceType">
    <attribute name="serviceRef" type="xtce:NameReferenceType" use="required"/>
    </extension>
    </simpleContent>
    </complexType>

  • Reported: XTCE 1.2 — Mon, 14 May 2018 17:35 GMT
  • Updated: Fri, 25 Oct 2019 00:57 GMT

MemberType and ComparisonType annotation misses fix to value formatting

  • Key: XTCE13-91
  • Status: open  
  • Source: Boeing ( David Overeem)
  • Summary:

    In the MemberType element, the initialValue attribute missed the annotation fix to remove the "0b" and "0x" stuff from previous discussions and resolution in XTCE 1.2.

  • Reported: XTCE 1.2 — Sat, 12 Oct 2019 19:45 GMT
  • Updated: Fri, 25 Oct 2019 00:57 GMT

CNES CCSDS -- inside/outside range support in ValidRange

  • Key: XTCE13-70
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    "The issue is partially fixed. The new attribute rangeForm shall be also used in ValidRange and not only in AlarmRangesType.

    The use of this new attribute allows to simplify the definition of ranges (in replacing minInclusive, maxInclusive, minExclusive and maxExclusive with min & max)."

  • Reported: XTCE 1.2 — Wed, 2 Oct 2019 14:45 GMT
  • Updated: Fri, 25 Oct 2019 00:57 GMT

CNES CCSDS -- Time ParameterType inheritance may need to be repolled

  • Key: XTCE13-68
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    An issue marked as deferred in 1.1, made into 1.2.

    "Type inheritance missing from Absolute and Relative time data types

    The status of this issue is ‘Deferred’ but the proposed change has been implemented in 20180204-SpaceSystemV1.2.xsd"

  • Reported: XTCE 1.2 — Wed, 2 Oct 2019 14:40 GMT
  • Updated: Fri, 25 Oct 2019 00:57 GMT

RelativeTimeAgumentType is misspelled

  • Key: XTCE13-36
  • Status: open  
  • Source: Peraton ( Victoria Vickers)
  • Summary:

    <element name="RelativeTimeAgumentType" type="xtce:RelativeTimeArgumentType">
    RelativeTimeAgumentType should have an "r" in it.

  • Reported: XTCE 1.2b1 — Thu, 18 Oct 2018 19:22 GMT
  • Updated: Tue, 15 Oct 2019 00:00 GMT

CNES CCSDS -- RelativeTimeAgument typo

  • Key: XTCE13-69
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    "Some typos have been fixed (twosComplement instead of twosCompliment & onesComplement instead of onesCompliment) but one is still present in the schema: RelativeTimeAgumentType instead of RelativeTimeArgumentType."

  • Reported: XTCE 1.2 — Wed, 2 Oct 2019 14:43 GMT
  • Updated: Tue, 15 Oct 2019 00:00 GMT

ArgumentAssigmentList in the MetaCommandStep is misspelled

  • Key: XTCE13-35
  • Status: open  
  • Source: Peraton ( Victoria Vickers)
  • Summary:

    This should be ArgumentAssignmentList, with an "n".

  • Reported: XTCE 1.2b1 — Thu, 18 Oct 2018 17:03 GMT
  • Updated: Tue, 15 Oct 2019 00:00 GMT

Unecessary Sequence of choice in AlarmType

  • Key: XTCE13-66
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    Just a typo in the schema construction, should just be optional choice.

    <sequence>
    <choice minOccurs="0">
    <element name="AlarmConditions" type="xtce:AlarmConditionsType">
    <annotation>
    <documentation xml:lang="en">A MatchCriteria may be specified for each of the 5 alarm levels. Each level is optional and the alarm should be the highest level to test true.</documentation>
    </annotation>
    </element>
    <element name="CustomAlarm" type="xtce:CustomAlarmType">
    <annotation>
    <documentation xml:lang="en">An escape for ridiculously complex alarm conditions. Will trigger on changes to the containing Parameter.</documentation>
    </annotation>
    </element>
    </choice>
    </sequence>

  • Reported: XTCE 1.2 — Tue, 1 Oct 2019 18:22 GMT
  • Updated: Tue, 15 Oct 2019 00:00 GMT

Is rangeForm specialization needed for Change and Multi band alarms?

  • Key: XTCE13-74
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    RangeForm now appears in Static, Change and the multi band. It's not clear these all make sense to me.

    In the static ranges – having the red be the most severe inner band and green "good" on the outside does make sense although I get the impression the use cases are less in number than the standard way folks think of limits. (you're going too fast! not – you're not going fast enough!)

    In the change alarm, which I think of mainly as deltas – again intuitively checking for big changes make sense. Unwanted big jumps are intuitive. But unwanted little jumps? That is big jumps are good? Is there a real use case – perhaps we can jam it into the annotation.

    Finally for the multirange alarm. The rangeForm is at each band. I suspect but don't know that this was to change the range set meaning...
    Intuitively "inside" would be something like this: [min, max] – where x is between them is "ok" ...

    And "outside" would be (-inf, min] and [max, inf) ... that is ranges point 'away'...

    But maybe not – who knows!? Given that though the default is "outside" when perhaps most would want it to be "inside" etc...

    I just wonder if we have done this correctly or its slipped through and is overly general because we inherited the various types, etc...

  • Reported: XTCE 1.2 — Thu, 3 Oct 2019 14:46 GMT
  • Updated: Wed, 9 Oct 2019 10:51 GMT

rangeForm annotation needs work

  • Key: XTCE13-73
  • Status: open  
  • Source: NASA ( Kevin Rice)
  • Summary:

    The rangeForm annotation is vague and needs improvement. There are two places it occurs – one at the attribute level with another brief mention at the schema type:
    "A value of outside specifies that the most severe range is outside all the other ranges: -severe -critical -distress -warning -watch normal +watch +warning +distress +critical +severe. A value of inside "inverts" these bands: -green -watch -warning -distress -critical severe +critical +distress +warning +watch. The most common form used is "outside" and is the default."

    The key problem is the term "inverts" is not really defined and so the entire explanation is overly general.

  • Reported: XTCE 1.2 — Thu, 3 Oct 2019 14:35 GMT
  • Updated: Wed, 9 Oct 2019 10:47 GMT

Duplicated BaseCalibratorType extension

  • Key: XTCE13-40
  • Status: open  
  • Source: Northrop Grumman ( Joseph Vlietstra)
  • Summary:

    XTCE 1.2 defined as base data type for calibrators (BaseCalibratorType).
    This data type is used an extension twice for each calibrator:

    • Once in CalibratorType
    • Again in the child element (e.g., PolynomialCalibratorType)
  • Reported: XTCE 1.2 — Fri, 22 Feb 2019 21:58 GMT
  • Updated: Tue, 20 Aug 2019 00:03 GMT

Missing default value of dataSource attribute

  • Key: XTCE13-38
  • Status: open  
  • Source: Northrop Grumman ( Joseph Vlietstra)
  • Summary:

    Draft version of XTCE v1.2 defined dataSource attribute as:
    <attribute name="dataSource" type="xtce:TelemetryDataSourceType" default="telemetered">

    Published version is v1.1:
    <attribute name="dataSource" type="xtce:TelemetryDataSourceType" use="optional">

  • Reported: XTCE 1.2 — Fri, 22 Feb 2019 21:37 GMT
  • Updated: Wed, 12 Jun 2019 00:17 GMT