Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003783Part 01: TTCN-3 Core LanguageTechnicalpublic17-07-2008 10:4309-07-2009 10:43
ReporterGyorgy Rethy 
Assigned ToIna Schieferdecker 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Versionv4.2.1 (published 2010-07)Fixed in Versionv4.2.1 (published 2010-07) 
Summary0003783: Recursive references of record and set types shall be optional
DescriptionRecursive references are not specified. such fields shall be optional for records and sets, otherwise no legal value can be written for the type.
Additional InformationProposed:
Add a sentence to 6.2.1.2 and 6.2.2.2:
Fields containing recursive reference, i.e. referencing to its type, shall be optional.
EXAMPLE 2:<for the record clause only>
    type record MyType
    {
        FieldType1 field1,
        MyType field2 optional,
         :
        FieldTypeN fieldN
    }
TagsNo tags attached.
Clause Reference(s)6.2.1.2, 6.2.2.2
Source (company - Author)     
Attached Filesdoc file icon CR-3783-Recursive-references-Resolution-V1.doc [^] (150,528 bytes) 16-12-2008 12:53
doc file icon CR3783_RecursiveReference_RecordSet_v2.doc [^] (143,360 bytes) 08-07-2009 10:45
doc file icon CR3783_RecursiveReference_RecordSet_v3.doc [^] (144,384 bytes) 08-07-2009 11:12
doc file icon CR3783_RecursiveReference_RecordSet_v4.doc [^] (146,944 bytes) 09-07-2009 10:37

- Relationships

-  Notes
(0007469)
Thomas Deiß (reporter)
27-11-2008 12:45

The recursion might involve several definitions, in this case it remains open which field should be optional.

Also, there is the possibility to break the recursion by using a union type.
Also, for a recursive record of type the recursion could stop with an empty record.

It will become difficult to guarantee that the recursion can be broken via syntactical constraints.
(0007717)
Thomas Deiß (reporter)
16-12-2008 14:09

The text as such is ok for record and set.

For unions it should be stated that there has to be an alternative with a different type.
The unions U1 and U2 should not be allowed
type union U1 {U1 u1}
type union U2 {U2 v1, U2 v2}

Nevertheless, for me it is still open whether we should have such a requirement at all. There are quite a number of recursive type definitions that do not have the restrictions stated, but still allow finite values. And therefore would be valid type definitions. Is it really worth to exclude a few cases that do not allow finite values?
(0007728)
Ina Schieferdecker (reporter)
17-12-2008 09:35

This CR requires more discussion and hence moved to v4.2.1
(0008863)
Tibor Csöndes (reporter)
08-07-2009 10:51

New version uploaded based on the previous comments. In case of record and set types to avoid the infinite recursions the suggestion is the optional field, for union types minimum one filed with different type (no recursion). Examples included for record and union types.
(0008865)
Gyorgy Rethy (reporter)
08-07-2009 11:13

CR3783_RecursiveReference_RecordSet_v3.doc:
OK with me, to be agreed with a wider audience
(0008866)
Tibor Csöndes (reporter)
08-07-2009 11:38

I found a mistype:
// Mistype
type record MyRecord1
    {
        FieldType1 field1,
        MyRecord1 field2 optional, FieldType3 field3
    }
// Correct
type record MyRecord1
    {
        FieldType1 field1,
        MyRecord1 field2 optional,
        FieldType3 field3
    }

Example 6 and 7 should be merged, as it is in Example 5.
(0008880)
Ina Schieferdecker (reporter)
09-07-2009 10:36

as proposed with some editorial changes

- Issue History
Date Modified Username Field Change
17-07-2008 10:43 Gyorgy Rethy New Issue
17-07-2008 10:43 Gyorgy Rethy Status new => assigned
17-07-2008 10:43 Gyorgy Rethy Assigned To => Ina Schieferdecker
17-07-2008 10:43 Gyorgy Rethy Clause Reference(s) => 6.2.1.2, 6.2.2.2
17-07-2008 10:43 Gyorgy Rethy Source (company - Author) =>
18-07-2008 11:22 Ina Schieferdecker Assigned To Ina Schieferdecker => Jens Grabowski
17-08-2008 09:14 Ina Schieferdecker Target Version => Edition 4.1.1 (not yet published)
27-11-2008 12:45 Thomas Deiß Note Added: 0007469
16-12-2008 12:53 Jens Grabowski File Added: CR-3783-Recursive-references-Resolution-V1.doc
16-12-2008 12:54 Jens Grabowski Assigned To Jens Grabowski => Thomas Deiß
16-12-2008 12:54 Jens Grabowski Status assigned => resolved
16-12-2008 14:09 Thomas Deiß Note Added: 0007717
16-12-2008 14:09 Thomas Deiß Assigned To Thomas Deiß => Jens Grabowski
16-12-2008 14:09 Thomas Deiß Status resolved => assigned
17-12-2008 09:35 Ina Schieferdecker Note Added: 0007728
17-12-2008 09:35 Ina Schieferdecker Target Version Edition 4.1.1 (not yet published) => Edition 4.2.1 (not yet published)
20-04-2009 12:01 Ina Schieferdecker Assigned To Jens Grabowski => Tibor Csöndes
08-07-2009 10:45 Tibor Csöndes File Added: CR3783_RecursiveReference_RecordSet_v2.doc
08-07-2009 10:51 Tibor Csöndes Note Added: 0008863
08-07-2009 10:51 Tibor Csöndes Assigned To Tibor Csöndes => Gyorgy Rethy
08-07-2009 11:12 Gyorgy Rethy File Added: CR3783_RecursiveReference_RecordSet_v3.doc
08-07-2009 11:13 Gyorgy Rethy Note Added: 0008865
08-07-2009 11:13 Gyorgy Rethy Assigned To Gyorgy Rethy => Ina Schieferdecker
08-07-2009 11:38 Tibor Csöndes Note Added: 0008866
09-07-2009 10:36 Ina Schieferdecker Note Added: 0008880
09-07-2009 10:37 Ina Schieferdecker File Added: CR3783_RecursiveReference_RecordSet_v4.doc
09-07-2009 10:43 Ina Schieferdecker Resolution open => fixed
09-07-2009 10:43 Ina Schieferdecker Status assigned => resolved
09-07-2009 10:43 Ina Schieferdecker Fixed in Version => Edition 4.2.1 (not yet published)
09-07-2009 10:43 Ina Schieferdecker Status resolved => closed


MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker