ETSI's Bug Tracker |
Anonymous | Login | Signup for local Mantis account | 05-05-2024 15:46 IST |
Main | My View | View Issues | Change Log | Roadmap | Monitor project |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0007512 | Part 06: TTCN-3 Control Interface | Technical | public | 19-10-2016 13:18 | 15-01-2018 07:53 | ||||
Reporter | Tomas Urban | ||||||||
Assigned To | Tomas Urban | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | v4.8.1 (published 2016-07) | ||||||||
Target Version | Next version (to be defined) | Fixed in Version | |||||||
Summary | 0007512: XML mapping of matching symbols | ||||||||
Description | The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows: <xsd:complexType name="MatchingSymbol"> <xsd:simpleContent> <xsd:extension base="SimpleTypes:TString"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level. Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type: <xsd:complexType name="MatchingSymbol"> <xsd:choice> <xsd:element name="any" type="SimpleTypes:TEmpty"/> <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/> <xsd:element name="any_element" type="SimpleTypes:TEmpty"/> <xsd:element name="elements_or_none" type="SimpleTypes:TEmpty"/> <xsd:element name="omit" type="SimpleTypes:TEmpty"/> <xsd:element name="complemented_list" type="Templates:MatchingList"/> <xsd:element name="template_list" type="Templates:MatchingList"/> <xsd:element name="subset" type="Templates:MatchingList"/> <xsd:element name="superset" type="Templates:MatchingList"/> <xsd:element name="range" type="Templates:ValueRange"/> <xsd:element name="pattern" type="SimpleTypes:TString"/> <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="TEmpty" /> <xsd:complexType name="MatchingList"> <xsd:choice> <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="float" type="Values:FloatValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="record" type="Values:RecordValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="array" type="Values:ArrayValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="set" type="Values:SetValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="union" type="Values:UnionValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="address" type="Values:AddressValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="component" type="Values:ComponentValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="port" type="Values:PortValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="default" type="Values:DefaultValue" minOccurs="1" maxOccurs="unbounded" /> <xsd:element name="timer" type="Values:TimerValue" minOccurs="1" maxOccurs="unbounded" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="ValueRange"> <xsd:sequence> <xsd:element name="lower" type="Templates:RangeBoundary" /> <xsd:element name="upper" type="Templates:RangeBoundary" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RangeBoundary"> <xsd:choice> <xsd:sequence> <xsd:choice> <xsd:element name="integer" type="Values:IntegerValue" /> <xsd:element name="float" type="Values:FloatValue" /> <xsd:element name="charstring" type="Values:CharstringValue" /> <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" /> </xsd:choice> <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/> </xsd:sequence> <xsd:element name="infinity" type="SimpleTypes:TEmpty" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="MatchDecodedContent"> <xsd:choice> <xsd:element name="integer" type="Values:IntegerValue"/> <xsd:element name="float" type="Values:FloatValue"/> <xsd:element name="boolean" type="Values:BooleanValue"/> <xsd:element name="verdicttype" type="Values:VerdictValue"/> <xsd:element name="bitstring" type="Values:BitstringValue"/> <xsd:element name="hexstring" type="Values:HexstringValue"/> <xsd:element name="octetstring" type="Values:OctetstringValue"/> <xsd:element name="charstring" type="Values:OctetstringValue"/> <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue"/> <xsd:element name="record" type="Values:RecordValue"/> <xsd:element name="record_of" type="Values:RecordOfValue"/> <xsd:element name="array" type="Values:ArrayValue"/> <xsd:element name="set" type="Values:SetValue"/> <xsd:element name="set_of" type="Values:SetOfValue"/> <xsd:element name="enumerated" type="Values:EnumeratedValue"/> <xsd:element name="union" type="Values:UnionValue"/> <xsd:element name="anytype" type="Values:AnytypeValue"/> </xsd:choice> </xsd:complexType> | ||||||||
Tags | No tags attached. | ||||||||
Clause Reference(s) | 11.3.3 | ||||||||
Source (company - Author) | Elvior | ||||||||
Attached Files | Templates.xsd [^] (17,143 bytes) 26-10-2017 10:40 Values.xsd [^] (9,260 bytes) 26-10-2017 10:40 SimpleTypes_v4_10_1.xsd [^] (2,599 bytes) 03-01-2018 11:49 Templates_v4_10_1.xsd [^] (4,123 bytes) 03-01-2018 11:49 Values_v4_10_1.xsd [^] (13,426 bytes) 03-01-2018 11:50 CR7512-v1.docx [^] (403,290 bytes) 04-01-2018 10:53 CR7512-v2.docx [^] (413,660 bytes) 10-01-2018 10:13 | ||||||||
Relationships | ||||||
|
Notes | |
(0014229) Jens Grabowski (manager) 14-11-2016 13:20 |
Jacob will make a proposal. |
(0014848) Jens Grabowski (manager) 24-10-2017 13:13 |
(To be implemented until end of 2017) |
(0014884) Jacob Wieland - Spirent (reporter) 26-10-2017 10:43 |
I have uploaded a new version of Values.xsd and Templates.xsd that should fix some bugs in the current xsd definition (wrong choice extensions between Values and Templates), reduce the amount of copy-paste-code by using groups. The element templateDef has been enlarged with constructs to model all currently existing (even advanced matching) matching mechanisms. I have not stuck too close to the naming in TCI, but if that is required, a renaming is of course possible. |
(0014990) Tomas Urban (developer) 03-01-2018 12:17 |
I like the idea of code reduction and I added it to the next version of the proposal. However, the proposed removal of matching_symbol element from the Values:Value types (present in individual choice options such as IntegerValue, FloatValue etc.) cannot be achieved. These types are used in logging and in case of several TLI events (such as SEnter), they can contain matching symbols. For that reason I modified the proposal in the following way: 1. The BaseValue group contains an option to specify a matching symbol instead of a value or a special symbol (omit, null). 2. I preserved the option for not-evaluated fuzzy or lazy value in BaseValue (it was removed for some reason and I don't think TLI should trigger evaluation) 3. I reduced the number of types in the template schema. The TciValueTemplate and TciNonValueTemplate types can use Values:Value type for detailed description of the value or template - there's no need to have dedicated template types such as IntegerTemplate. 4. I modified the existing Templates:MatchingSymbol type so that it can contain structured information about the template. 5. The features from extension packages are not in the files, they have to be moved to the extension package specifications. Please let me know what do you think about the proposal. I am sorry for replying so late. |
(0015018) Jacob Wieland - Spirent (reporter) 08-01-2018 13:22 |
While I principally like this further simplification, I don't think this is a backward compatible change. I am referring to the removal of the X-Template types, IntegerTemplate and so forth). Because they have the same element-names, but live in a different namespace, up till now we had <templates-ns>:omit and <values-ns>:omit which were different (same for all the other variants). To be sure, this is very annoying and therefore, I like this new approach better, but I am not sure if people will be happy if their old log files do not conform to the new schema anymore. Thus, I think we should leave these old types as alternatives in the standard and mark them (and their usage) as deprecated. |
(0015019) Tomas Urban (developer) 08-01-2018 13:28 |
OK, I will try to change the proposal accordingly. |
(0015020) Tomas Urban (developer) 08-01-2018 14:26 |
Jacob, I just wonder how big the compatibility issue might be. Our tool doesn't produce logs in this format, so we are not affected by this. Neither is Ericsson as they don't have TCI at all. How does your tool log e.g. "integer:?" into an XML element of the Templates:TciValueTemplate type? According to the current current schema, both the value and template part are mandatory which seems rather strange. What do you put to the value part in this case? |
(0015021) Jacob Wieland - Spirent (reporter) 10-01-2018 10:01 |
It's just the difference between <Values:integer> and <Templates:integer> (or whatever namespace-prefix you choose for Values.xsd and Templates.xsd). If all elements had been defined as unqualified, there wouldn't be a problem. For Spiretn, it would definitely be a compatibility issue, though probably not something that can't be dealt with as we just need to replace namespace prefixes in old logs, but it is still effort. Thus, I would propose to escalate this to the other tool vendors before making this decision. |
(0015022) Jacob Wieland - Spirent (reporter) 10-01-2018 10:03 |
Also, I think the old standard defined the whole schema wrong anyway, assuming that extending a choice with another choice produces a choice instead of a sequence of two choices. That's why I guess the whole discussion doesn't matter really as no log ever that involved templates was really standard conform anyway. |
(0015023) Tomas Urban (developer) 10-01-2018 10:13 |
Extending a choice with another choice produces a sequence of two choices, where the first (value) part is mandatory. This is rather strange approach, as I have no idea what would go to the value part in case of "integer:?" (assuming that matching symbols were not defined as it is in the current standard). |
(0015024) Tomas Urban (developer) 10-01-2018 10:15 |
Please check my second proposal where old elements from the Templates namespace are kept. However, that proposal removes the sequence of two choices. If it is necessary to keep it, it has to be updated. |
(0015025) Jacob Wieland - Spirent (reporter) 10-01-2018 10:35 |
The proposal is fine. It rectifies the problems while keeping backward compatibility to the intention of the former version. |
(0015027) Tomas Urban (developer) 15-01-2018 07:53 |
Added to the specification. |
Issue History | |||
Date Modified | Username | Field | Change |
19-10-2016 13:18 | Tomas Urban | New Issue | |
19-10-2016 13:29 | Tomas Urban | Description Updated | View Revisions |
19-10-2016 13:34 | Tomas Urban | Description Updated | View Revisions |
19-10-2016 13:35 | Tomas Urban | Description Updated | View Revisions |
27-10-2016 09:18 | Tomas Urban | Description Updated | View Revisions |
27-10-2016 12:38 | Tomas Urban | Description Updated | View Revisions |
27-10-2016 13:02 | Tomas Urban | Description Updated | View Revisions |
14-11-2016 13:20 | Jens Grabowski | Assigned To | => Jacob Wieland - Spirent |
14-11-2016 13:20 | Jens Grabowski | Status | new => assigned |
14-11-2016 13:20 | Jens Grabowski | Note Added: 0014229 | |
24-12-2016 15:07 | Jens Grabowski | Target Version | => Next version (to be defined) |
24-10-2017 13:13 | Jens Grabowski | Note Added: 0014848 | |
26-10-2017 10:40 | Jacob Wieland - Spirent | File Added: Templates.xsd | |
26-10-2017 10:40 | Jacob Wieland - Spirent | File Added: Values.xsd | |
26-10-2017 10:43 | Jacob Wieland - Spirent | Note Added: 0014884 | |
26-10-2017 10:43 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Tomas Urban |
26-10-2017 10:44 | Jacob Wieland - Spirent | Relationship added | related to 0007519 |
03-01-2018 11:49 | Tomas Urban | File Added: SimpleTypes_v4_10_1.xsd | |
03-01-2018 11:49 | Tomas Urban | File Added: Templates_v4_10_1.xsd | |
03-01-2018 11:50 | Tomas Urban | File Added: Values_v4_10_1.xsd | |
03-01-2018 12:15 | Tomas Urban | Assigned To | Tomas Urban => Jacob Wieland - Spirent |
03-01-2018 12:17 | Tomas Urban | Note Added: 0014990 | |
04-01-2018 10:53 | Tomas Urban | File Added: CR7512-v1.docx | |
08-01-2018 13:22 | Jacob Wieland - Spirent | Note Added: 0015018 | |
08-01-2018 13:28 | Tomas Urban | Note Added: 0015019 | |
08-01-2018 14:26 | Tomas Urban | Note Added: 0015020 | |
10-01-2018 10:01 | Jacob Wieland - Spirent | Note Added: 0015021 | |
10-01-2018 10:03 | Jacob Wieland - Spirent | Note Added: 0015022 | |
10-01-2018 10:13 | Tomas Urban | Note Added: 0015023 | |
10-01-2018 10:13 | Tomas Urban | File Added: CR7512-v2.docx | |
10-01-2018 10:15 | Tomas Urban | Note Added: 0015024 | |
10-01-2018 10:35 | Jacob Wieland - Spirent | Note Added: 0015025 | |
10-01-2018 10:35 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Tomas Urban |
10-01-2018 10:35 | Jacob Wieland - Spirent | Status | assigned => confirmed |
15-01-2018 07:53 | Tomas Urban | Note Added: 0015027 | |
15-01-2018 07:53 | Tomas Urban | Status | confirmed => closed |
15-01-2018 07:53 | Tomas Urban | Resolution | open => fixed |
MantisBT 1.2.14 [^] Copyright © 2000 - 2024 MantisBT Team |