ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0005507 | Part 01: TTCN-3 Core Language | Clarification | public | 07-04-2010 14:51 | 22-07-2010 13:42

Reporter | Gyorgy Rethy |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | always
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.1.1 (published 2009-06) |
Target Version | v4.3.1 (published 2011-06) | Fixed in Version | v4.2.2 (interim 2010) |
Clause Reference(s) | 6.1.2.3
Source (company - Author) | L.M.Ericsson

Summary | 0005507: Infinity is a real value

Description

the 3rd sentence says: "In order to specify an infinite integer or float range, the keyword infinity may be used instead of a value indicating that there is no lower or upper boundary. "
The situation has changed with the introduction of the special values infinity, -infinity and not_a_number (pls. note, these values has been introduced primarily for language compatibility with XSD and ASN.1). When Â±infinity is used as a bound, Â±infinity itself should be included into the range but not_a_number should not.
To exclude the Â±infinity special values but to have unrestricted bound for numeric values, the exclusive Â±infinity bound shall be used.

Steps To Reproduce |
Additional Information |
Tags | No tags attached.

Relationships

related to | 0005344 | closed | Ina Schieferdecker | Part 01: TTCN-3 Core Language | Introduce range subtyping boundaries excluding the boundaries themselves
related to | 0005340 | closed | Gyorgy Rethy | Part 09: Using XML with TTCN-3 | Incorrect mapping of the XSD double type

Attached Files | CR5507_resolution_v1.doc (43,008) 29-06-2010 15:00 http://oldforge.etsi.org/mantis/file_download.php?file_id=2380&type=bug CR5507_resolution_v2.doc (47,616) 30-06-2010 10:57 http://oldforge.etsi.org/mantis/file_download.php?file_id=2386&type=bug CR5507_resolution_v3.doc (49,152) 01-07-2010 14:58 http://oldforge.etsi.org/mantis/file_download.php?file_id=2397&type=bug

Issue History
Date Modified | Username | Field | Change
07-04-2010 14:51 | Gyorgy Rethy | New Issue |
07-04-2010 14:51 | Gyorgy Rethy | Clause Reference(s) | => 6.1.2.3
07-04-2010 14:51 | Gyorgy Rethy | Source (company - Author) | => L.M.Ericsson
18-05-2010 08:47 | Gyorgy Rethy | Description Updated |
18-05-2010 10:27 | Gyorgy Rethy | Description Updated |
28-06-2010 16:31 | Ina Schieferdecker | Relationship added | related to 0005344
28-06-2010 16:36 | Gyorgy Rethy | Note Added: 0009393 |
28-06-2010 16:36 | Gyorgy Rethy | Status | new => assigned
28-06-2010 16:36 | Gyorgy Rethy | Assigned To | => Ina Schieferdecker
28-06-2010 16:40 | Ina Schieferdecker | Note Added: 0009394 |
29-06-2010 09:35 | Ina Schieferdecker | Relationship added | related to 0005340
29-06-2010 09:36 | Ina Schieferdecker | Note Edited: 0009394 |
29-06-2010 11:47 | Gyorgy Rethy | Note Added: 0009404 |
29-06-2010 11:47 | Gyorgy Rethy | Target Version | => Edition 4.3.1 (not yet published)
29-06-2010 12:01 | Gyorgy Rethy | Note Edited: 0009404 |
29-06-2010 14:00 | Gyorgy Rethy | Note Added: 0009406 |
29-06-2010 15:00 | Ina Schieferdecker | File Added: CR5507_resolution_v1.doc |
29-06-2010 15:01 | Ina Schieferdecker | Note Added: 0009407 |
29-06-2010 15:03 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Gyorgy Rethy
29-06-2010 15:12 | Ina Schieferdecker | Resolution | open => fixed
29-06-2010 15:12 | Ina Schieferdecker | Fixed in Version | => Edition 4.2.2 (not yet published)
29-06-2010 15:14 | Gyorgy Rethy | Note Added: 0009410 |
29-06-2010 15:20 | Gyorgy Rethy | Note Edited: 0009410 |
29-06-2010 16:04 | Gyorgy Rethy | Note Edited: 0009410 |
29-06-2010 16:05 | Gyorgy Rethy | Note Edited: 0009410 |
29-06-2010 16:06 | Gyorgy Rethy | Note Edited: 0009410 |
30-06-2010 10:57 | Gyorgy Rethy | File Added: CR5507_resolution_v2.doc |
30-06-2010 10:58 | Gyorgy Rethy | Note Added: 0009424 |
30-06-2010 10:59 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Ina Schieferdecker
01-07-2010 14:06 | Ina Schieferdecker | Note Added: 0009449 |
01-07-2010 14:10 | Ina Schieferdecker | File Added: CR5507_resolution_v3.doc |
01-07-2010 14:10 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Gyorgy Rethy
01-07-2010 14:56 | Ina Schieferdecker | File Deleted: CR5507_resolution_v3.doc |
01-07-2010 14:56 | Ina Schieferdecker | File Added: CR5507_resolution_v3.doc |
01-07-2010 14:58 | Ina Schieferdecker | File Deleted: CR5507_resolution_v3.doc |
01-07-2010 14:58 | Ina Schieferdecker | File Added: CR5507_resolution_v3.doc |
01-07-2010 15:18 | Gyorgy Rethy | Note Added: 0009453 |
01-07-2010 15:18 | Gyorgy Rethy | Note Added: 0009454 |
01-07-2010 15:19 | Gyorgy Rethy | Note Edited: 0009454 |
01-07-2010 15:19 | Gyorgy Rethy | Note Edited: 0009454 |
01-07-2010 15:20 | Gyorgy Rethy | Note Edited: 0009454 |
01-07-2010 15:20 | Gyorgy Rethy | Note Deleted: 0009453 |
01-07-2010 15:20 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Ina Schieferdecker
01-07-2010 15:20 | Gyorgy Rethy | Status | assigned => resolved
22-07-2010 13:42 | Ina Schieferdecker | Status | resolved => closed

Notes

(0009393)
Gyorgy Rethy
28-06-2010 16:36

Check in ASN.1 Add exclusive bound for infinity in BNF

(0009394)
Ina Schieferdecker
28-06-2010 16:40 (edited on: 29-06-2010 09:36)

Unfortunately, the BNF for exclusive ranges were not updated accordingly: 147. LowerBound ::= ([!] SingleConstExpression) | (Minus InfinityKeyword) 148. UpperBound ::= ([!] SingleConstExpression) | InfinityKeyword see also 5344 ... wording is missing as well 5344 was overruled by 5340 ... however text of 5340 needs to be included

(0009404)
Gyorgy Rethy
29-06-2010 11:47 (edited on: 29-06-2010 12:01)

There are two options: (0.0 .. infinity) includes the infinity special value (0.0 .. !infinity) excludes the infinity special value ---------------------- both the above syntaxes do exclude the infinity special value To be considered - before deciding ASN.1 and XSD shall be checked on this respect - in the current text an example implies that infinity shall be included in the range!

(0009406)
Gyorgy Rethy
29-06-2010 14:00

Another issue is discovered related to this:
CR5340 introduced the infinity, -infinity and not_a_number and it's resolution contained:
(from CR5340_resolution_P1_v3.doc)
2. FloatValue ::= FloatDotNotation | FloatENotation | InfinityKeyword | NaNKeyword
3. NaNKeyword ::= "not_a_number"
Unfortunately, during implementation of this CR the agreed solution somehow changed to:
(from es_20187301v040201m.doc)
488. FloatValue ::= FloatDotNotation | FloatENotation | NaNKeyword
489. NaNKeyword ::= "not_a_number"
This editorial omission shall be corrected ASAP.

(0009407)
Ina Schieferdecker
29-06-2010 15:01

CR5340 and 5344 reviewed for consistency and needed additions identified - text for defining the meaning of float ranges with infinity added. Please check.

(0009410)
Gyorgy Rethy
29-06-2010 15:14 (edited on: 29-06-2010 16:06)

The current language mapping do rely on the behaviour proposed in the CR.
I have checked in ASN.1: PLUS-INFINITY, MINUS-INFINITY and NOT-A-NUMBER are not handled in a special way, they may be part of a range constraint, in which case, if the boundary is not exclusive, the special values themselves are also part of the range. Part-7 is consistent with this, i.e. it assumes that (<anything>..infinity) includes infinity itself. If this assumption is changed, the mapping has to be changed too.
In XSD: special values positive and negative infinity and not-a-number are not handled in a special way except the range specification. Part-9 is consistent with this, i.e. maxInclusive = "infinity" is mapped to (<anything>..infinity). If the assumption that (<anything>..infinity) contains the infinity value is changed, the mapping has to be changed too.
FROM X.680:
21.3 The abstract values of the real type are the special values PLUS-INFINITY, MINUS-INFINITY, and NOT-A-NUMBER together with numeric real numbers consisting of either plus zero or minus zero, or capable of being specified by the following formula involving three integers, M, B and E: M x BE <etc.>
51.4.2 A "ValueRange" specifies ...
NOTE â€“ For the purpose of subtyping, NOT-A-NUMBER exceeds all real values, PLUS-INFINITY exceeds all real values except NOT-A-NUMBER, minus zero exceeds all negative real values and is less than plus zero, and MINUS-INFINITY is less than all real values. Otherwise, normal mathematical ordering is applied.
51.4.3 Each endpoint of the range is either closed (in which case that endpoint is specified) or open (in which case the endpoint is not specified). When open, the specification of the endpoint includes a less-than symbol ("<"):
LowerEndpoint ::= LowerEndValue | LowerEndValue "<"
UpperEndpoint ::= UpperEndValue | "<" UpperEndValue
FROM XSD, Part-2:
[Definition:] float is patterned after the IEEE single-precision 32-bit floating point type [IEEE 754-1985]. The basic Â·value spaceÂ· of float consists of the values m Ã— 2^e, where m is an integer whose absolute value is less than 2^24, and e is an integer between -149 and 104, inclusive. In addition to the basic Â·value spaceÂ· described above, the Â·value spaceÂ· of float also contains the following three special values: positive and negative infinity and not-a-number (NaN). The Â·order-relationÂ· on float is: x < y iff y - x is positive for x and y in the value space. Positive infinity is greater than all other non-NaN values. NaN equals itself but is Â·incomparableÂ· with (neither greater than nor less than) any other value in the Â·value spaceÂ·.
Any value Â·incomparableÂ· with the value used for the four bounding facets (Â·minInclusiveÂ·, Â·maxInclusiveÂ·, Â·minExclusiveÂ·, and Â·maxExclusiveÂ·) will be excluded from the resulting restricted Â·value spaceÂ·. In particular, when "NaN" is used as a facet value for a bounding facet, since no other float values are Â·comparableÂ· with it, the result is a Â·value spaceÂ· either having NaN as its only member (the inclusive cases) or that is empty (the exclusive cases). If any other value is used for a bounding facet, NaN will be excluded from the resulting restricted Â·value spaceÂ·; to add NaN back in requires union with the NaN-only space.

(0009424)
Gyorgy Rethy
30-06-2010 10:58

Solution is OK in principle. I have extended the proposed text in CR5507_resolution_v2.doc to cover all possible cases in detail. Pls. check.

(0009449)
Ina Schieferdecker
01-07-2010 14:06

If [-infinity..-infinity] is to be allowed for float, the BNF has to be extended - see v3

(0009454)
Gyorgy Rethy
01-07-2010 15:18 (edited on: 01-07-2010 15:20)

Its OK but one comment to the BNF changes: exclusive mark shall be uotside of the brackets, they can be used with Â± infinity as well: 1. LowerBound ::= ["!"]( SingleConstExpression | [Minus] InfinityKeyword ) 2. UpperBound ::= ["!"]( SingleConstExpression | [Minus] InfinityKeyword )