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

ID | Project | Category | View Status | Date Submitted | Last Update
0002756 | Part 01: TTCN-3 Core Language | Clarification | public | 23-01-2008 09:41 | 09-07-2009 10:32

Reporter | Thomas DeiÃŸ |
Assigned To | Gyorgy Rethy |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v3.2.1 (published 2007-02) |
Target Version | v4.2.1 (published 2010-07) | Fixed in Version | v4.2.1 (published 2010-07) |
Clause Reference(s) | part 1, 6.2.3
Source (company - Author) | Thomas DeiÃŸ, Nokia Siemens Networks

Summary | 0002756: further restricting record of/string types

Description

(applies also to edition 3.3.x)
If a record of type is restricted, and this new type should be restricted further it is unclear which restrictions are allowed and what is there effect. Consider the following example:
type record of charstring StringArray23 length(2 .. 3);
type StringArray23 StringArray34 length(3 .. 4);
The question is whether the restrictions used in the definition of the types StringArray34 are valid and what do these types actually mean.
When restricting types by a value list (6.1.2.1) it is required explicitly that the value list is a true subtype of the base type, i.e. all the values in the list must be elements of the base type and the value list must not equal the base type. Does a similar restriction apply for record of or string types. If this would be the case than the example above would be invalid, as the length restriction length(3..4) contains values (records of with length 4) outside of StringArray23.
One can assume that the meaning of StringArray34 are record of integer values with a length of exactly 3, satisfying both subtyping restrictions.
If both subtyping restriction have to be satisfied instead of satisfying the innermost one (length (3..4)), and if there is no requirement similar to value lists, then it will be easily possible to declare empty types, i.e. types without a value. E.g.
type StringArray23 StringArray56 length(5..6);
would not contain any element.
Although it is already possible to create empty types by mixing subtyping by patterns and the other subtyping mechanisms on character strings, I suggest to keep stricter subtyping for record of similar to value lists.
Length restrictions of already restricted types have to be consistent with the already existing subtyping, independent of the subtyping mechanism used.
Note, that even if these specific restrictions are considered as too strict, the issue has to be clarified in the standard in the one or other way.

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

Attached Files

CR2756_Subtyping.doc (348,160) 27-11-2008 15:22
http://oldforge.etsi.org/mantis/file_download.php?file_id=1823&type=bug
CR2756_Subtyping_02.doc (348,672) 28-11-2008 08:11
http://oldforge.etsi.org/mantis/file_download.php?file_id=1826&type=bug
CR2756_Subtyping_03.doc (32,256) 22-04-2009 13:55
http://oldforge.etsi.org/mantis/file_download.php?file_id=2106&type=bug
CR2756_Subtyping_04.doc (543,232) 02-07-2009 14:29
http://oldforge.etsi.org/mantis/file_download.php?file_id=2152&type=bug
CR2756_Subtyping_05.doc (560,128) 07-07-2009 17:29
http://oldforge.etsi.org/mantis/file_download.php?file_id=2180&type=bug
CR2756_Subtyping_06.doc (560,128) 09-07-2009 10:24
http://oldforge.etsi.org/mantis/file_download.php?file_id=2198&type=bug

Issue History
Date Modified | Username | Field | Change
23-01-2008 09:41 | Thomas DeiÃŸ | New Issue |
23-01-2008 09:41 | Thomas DeiÃŸ | Status | new => assigned
23-01-2008 09:41 | Thomas DeiÃŸ | Assigned To | => Ina Schieferdecker
23-01-2008 09:41 | Thomas DeiÃŸ | Clause Reference(s) | => part 1, 6.2.3
23-01-2008 09:41 | Thomas DeiÃŸ | Source (company - Author) | => Thomas DeiÃŸ, Nokia Siemens Networks
09-05-2008 11:29 | Ina Schieferdecker | Target Version | => Edition 4.1.1 (not yet published)
20-05-2008 15:58 | Thomas DeiÃŸ | Note Added: 0005761 |
27-11-2008 15:22 | Ina Schieferdecker | File Added: CR2756_Subtyping.doc |
27-11-2008 15:23 | Ina Schieferdecker | Note Added: 0007483 |
27-11-2008 15:23 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Thomas DeiÃŸ
28-11-2008 08:11 | Thomas DeiÃŸ | File Added: CR2756_Subtyping_02.doc |
28-11-2008 08:11 | Thomas DeiÃŸ | Note Added: 0007488 |
28-11-2008 08:11 | Thomas DeiÃŸ | Assigned To | Thomas DeiÃŸ => Ina Schieferdecker
28-11-2008 13:07 | Gyorgy Rethy | Note Added: 0007501 |
28-11-2008 13:07 | Gyorgy Rethy | Target Version | Edition 4.1.1 (not yet published) => Edition 4.2.1 (not yet published)
09-12-2008 13:35 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Gyorgy Rethy
20-04-2009 12:11 | Ina Schieferdecker | Assigned To | Gyorgy Rethy => Tibor CsÃ¶ndes
22-04-2009 13:55 | Tibor CsÃ¶ndes | File Added: CR2756_Subtyping_03.doc |
22-04-2009 13:58 | Tibor CsÃ¶ndes | Note Added: 0008535 |
22-04-2009 14:42 | Tibor CsÃ¶ndes | Assigned To | Tibor CsÃ¶ndes => Gyorgy Rethy
02-07-2009 14:22 | Gyorgy Rethy | Note Added: 0008815 |
02-07-2009 14:23 | Gyorgy Rethy | Note Edited: 0008815 |
02-07-2009 14:25 | Gyorgy Rethy | Note Edited: 0008815 |
02-07-2009 14:29 | Gyorgy Rethy | File Added: CR2756_Subtyping_04.doc |
02-07-2009 14:30 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Ina Schieferdecker
03-07-2009 13:41 | Gyorgy Rethy | Note Edited: 0008815 |
03-07-2009 13:42 | Gyorgy Rethy | Note Edited: 0008815 |
07-07-2009 17:28 | Ina Schieferdecker | Note Added: 0008856 |
07-07-2009 17:29 | Ina Schieferdecker | File Added: CR2756_Subtyping_05.doc |
07-07-2009 17:29 | Ina Schieferdecker | Note Edited: 0008856 |
07-07-2009 17:29 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Gyorgy Rethy
09-07-2009 09:36 | Ina Schieferdecker | Note Edited: 0008856 |
09-07-2009 09:49 | Ina Schieferdecker | Note Added: 0008879 |
09-07-2009 09:50 | Ina Schieferdecker | File Added: CR2756_Subtyping_06.doc |
09-07-2009 10:23 | Ina Schieferdecker | File Deleted: CR2756_Subtyping_06.doc |
09-07-2009 10:24 | Ina Schieferdecker | File Added: CR2756_Subtyping_06.doc |
09-07-2009 10:31 | Ina Schieferdecker | Resolution | open => fixed
09-07-2009 10:32 | Ina Schieferdecker | Status | assigned => resolved
09-07-2009 10:32 | Ina Schieferdecker | Fixed in Version | => Edition 4.2.1 (not yet published)
09-07-2009 10:32 | Ina Schieferdecker | Status | resolved => closed

Notes

(0005761)
Thomas DeiÃŸ
20-05-2008 15:58

Some types and questions:
type record of charstring ro1
type record of ro1 ro2 length(3..5)
type record of record of charstring ro3 length(3..5)
type record of ro2 ro4 length(4..6)
type record of ro1 ro5 ({"a", "b", "c"}, {"abc"})
type ro1 t1 length(3..5)
type ro1 t2 [0..10] length(3..5)
type t2 t3 length(5..14)
Given the types above, the part1 should provide their meaning:
Is it correct that in 'ro3' the length restriction refers to the inner type (charstring)?
The length restriction used in the definition of 'ro2', does it refer to the 'record of' or the charstring?
A similar question can be asked for the defintion of type 't'.
Eine Ã¤hnliche Frage stellt sich bei t1. In case the inner type is restricted, what does this imply for ro4: If there are several restrictions do all of them have to be valid, or does the outermost supersede the other ones.
In case the outer type is restricted, is the type definiton for ro5 correct, can such a value list be used (I think so!).
Then there is also clause 6.2.3, Note1: â€œNote that the innermost type can not be a set of or record ofâ€, is this just misleading or what is the real meaning of this note.

(0007483)
Ina Schieferdecker
27-11-2008 15:23

First draft uploaded - please check.

(0007488)
Thomas DeiÃŸ
28-11-2008 08:11

editorial corrections, otherwise ok.

(0007501)
Gyorgy Rethy
28-11-2008 13:07

Discussion shall be shifted to 2009 as there is already note 1 in clause 6.2.3 saying that in case of record of something the type restriction placed after the name of the newly defined type is related to the innermost type and not to the record of.

(0008535)
Tibor CsÃ¶ndes
22-04-2009 13:58

From CR2756_Subtyping_02.doc 6.3.5 copied to 6.2.13. Reference to table 3 and more examples added.

(0008815)
Gyorgy Rethy
02-07-2009 14:22 (edited on: 03-07-2009 13:42)

CR2756_Subtyping_04.doc:
Proposed solution is essentially re-worked; examples agreed on the TTCN-3 CR resolution mtg. remained as they were, text and examples are added to cover all cases of subtyping of structured types and anytype (the reviewer to check this as well) and cleaned up (e.g. there were some mentioning of structured types subtyping in the clause about subtyping of basic types).
All stuff about structured type and anytype subtyping is moved to a new clause 6.2.13.
See CR2756_Subtyping_04.doc.
PS: the bookmark to clause no. 6.1.2.6 is wrong, the last 6 is outside of the bookmark!

(0008856)
Ina Schieferdecker
07-07-2009 17:28 (edited on: 09-07-2009 09:36)

basically ok with one exception: need to discuss if empty types cause error or not some editorial changes

(0008879)
Ina Schieferdecker
09-07-2009 09:49

agreed that empty types lead to error