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

ID | Project | Category | View Status | Date Submitted | Last Update
0006421 | Part 01: TTCN-3 Core Language | Technical | public | 06-02-2013 11:47 | 11-10-2013 11:46

Reporter | Andras Kovacs |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | N/A
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.4.1 (published 2012-04) |
Target Version | v4.6.1 (published 2014-06) | Fixed in Version | v4.6.1 (published 2014-06) |
Clause Reference(s) | 6.2.13.2
Source (company - Author) | STF451 - Andras Kovacs

Summary | 0006421: 6.2.13.2: Semantic error in Example 1

Description

The following quoted type definition of MyRecordSub4 is semantically incorrect, since the f1 field of MyRecord is left undefined:
type MyRecord MyRecordSub4 (
{ f2 := "user", f3 := "password" }, { f2 := "User", f3 := "Password" }
)
The suggested correction is either to add 'with { optional "implicit omit"}' attribute to the above type definition or to add f1:=* definitions for the f1 field.

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |
Attached Files | CR6421_resolution_v1.doc (75,264) 10-07-2013 18:03 http://oldforge.etsi.org/mantis/file_download.php?file_id=2823&type=bug CR6421_resolution_v2.doc (76,288) 12-07-2013 10:50 http://oldforge.etsi.org/mantis/file_download.php?file_id=2844&type=bug

Issue History
Date Modified | Username | Field | Change
06-02-2013 11:47 | Andras Kovacs | New Issue |
06-02-2013 11:47 | Andras Kovacs | Clause Reference(s) | => 6.2.13.2
06-02-2013 11:47 | Andras Kovacs | Source (company - Author) | => STF451 - Andras Kovacs
22-02-2013 11:28 | Jacob Wieland - Spirent | Note Added: 0011329 |
26-02-2013 13:52 | Tomas Urban | Note Added: 0011331 |
28-02-2013 08:52 | Jacob Wieland - Spirent | Note Added: 0011333 |
08-07-2013 15:46 | Jens Grabowski | Status | new => assigned
08-07-2013 15:46 | Jens Grabowski | Assigned To | => Gyorgy Rethy
08-07-2013 18:16 | Gyorgy Rethy | Target Version | => v4.6.1 (published 2014-06)
10-07-2013 17:12 | Gyorgy Rethy | Note Added: 0011518 |
10-07-2013 18:03 | Gyorgy Rethy | File Added: CR6421_resolution_v1.doc |
11-07-2013 08:33 | Gyorgy Rethy | Note Edited: 0011518 |
12-07-2013 09:36 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Jacob Wieland - Spirent
12-07-2013 09:36 | Gyorgy Rethy | Status | assigned => confirmed
12-07-2013 10:50 | Jacob Wieland - Spirent | File Added: CR6421_resolution_v2.doc |
12-07-2013 10:51 | Jacob Wieland - Spirent | Note Added: 0011570 |
12-07-2013 10:51 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Gyorgy Rethy
12-07-2013 10:51 | Jacob Wieland - Spirent | Status | confirmed => assigned
12-07-2013 10:51 | Jacob Wieland - Spirent | Status | assigned => confirmed
12-07-2013 11:59 | Gyorgy Rethy | Note Added: 0011574 |
12-07-2013 12:01 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Ina Schieferdecker
12-07-2013 12:01 | Gyorgy Rethy | Status | confirmed => resolved
12-07-2013 12:01 | Gyorgy Rethy | Resolution | open => fixed
11-10-2013 11:46 | Ina Schieferdecker | Status | resolved => closed
11-10-2013 11:46 | Ina Schieferdecker | Note Added: 0011766 |
11-10-2013 11:46 | Ina Schieferdecker | Fixed in Version | => v4.6.1 (published 2014-06)

Notes

(0011329)
Jacob Wieland - Spirent
22-02-2013 11:28

No, the point of such subtyping (as far as I remember) was that only the restricted fields shall be mentioned and all others are implicitly defined as AnyElement for mandatory fields and AnyElementOrNone for optional fields.

(0011331)
Tomas Urban
26-02-2013 13:52

I am afraid that the problem is not in the example, but in the rule specified in the same chapter: "When constraining record of, set of, union and anytype types, all templates of the expanded list (i.e. after resolving the type references) shall be valid (i.e. complete) templates of the first parent type, except in the case of field assignment notations for constrained record or set types where the fields that are not explicitly present in the value notation are seen as containing Any for mandatory fields and AnyOrOmit for optional fields of the type."
For some strange reason, record and set types are not mentioned in the beginning of this rule, efficiently restricting it to records and sets nested inside the currently listed types. This was probably not the intention. The sentence should be changed to: "When constraining record, set, record of, set of, union and anytype types, all templates...", in which case the rule can be applied to the MyRecordSub4 type, making all missing fields equal to AnyValueOrNone.
The rule contains one more mistake too: AnyOrOmit is not a correct term and it should be replaced with AnyValueOrNone.

(0011333)
Jacob Wieland - Spirent
28-02-2013 08:52

I can agree with these editorial changes.

(0011518)
Gyorgy Rethy
10-07-2013 17:12 (edited on: 11-07-2013 08:33)

The example is correct, it is according to the last sentence of the 2nd paragraph; this paragraph was resulted from resolving CRs 5938 and 5262 together. The final text could be read as ambiguous, this could lead to the misunderstanding regarding the example. I propose to review and make consistent the text of the paragraph. See my proposal in CR6421_resolution_v1.doc.

(0011570)
Jacob Wieland - Spirent
12-07-2013 10:51

after careful reading, I've left the sub-types in there and just made some additions to make it more air-tight.

(0011574)
Gyorgy Rethy
12-07-2013 11:59

OK with me.

(0011766)
Ina Schieferdecker
11-10-2013 11:46

as proposed