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

ID | Project | Category | View Status | Date Submitted | Last Update
0003379 | Part 01: TTCN-3 Core Language | Clarification | public | 16-05-2008 09:31 | 18-07-2008 10:56

Reporter | Thomas DeiÃŸ |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | N/A
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version | v4.1.1 (published 2009-06) | Fixed in Version | v4.1.1 (published 2009-06) |
Clause Reference(s) | clauses 15, 10, 11, 8.2.1
Source (company - Author) | Nokia Siemens Networks, Thomas DeiÃŸ

Summary | 0003379: Cyclic definitions

Description

It is not clear from part1 to which cyclic definitions are erroneous.
For types and functions/altsteps this is explicitly allowed. Whereas for component type extension and template modification it is explicitly forbidden.
For constants, modulepars, variables, and templates in general this is not clear. Consider the following the example:
module CyclicConstants {
//const charstring x := "la" & y; //no finite value
//const charstring y := x;
type record ab {
integer a,
integer b
}
const ab AB := { a := 1, b := BA.a }; //{1,2}
const ab BA := { a := 2, b := AB.a }; //{2,1}
}
Obviously, the definition of x and y is incorrect as there is no corresponding finite value. But for AB and BA there are finite values as indicated.
I suggest to add a restriction to the corresponding clauses for constants, modulepars, variables, and templates in general that cyclic definitions are not allowed and that cycles are determined on the level of the used identifiers. In the example above it would be checked whether there is a cycle AB -> BA -> AB.
The restriction could be similar to the one for modified templates:
clause 15.5, restriction a) a) A modified template shall not refer to itself, either directly or indirectly, i.e. recursive derivation is not allowed.

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

Attached Files

CR-3379-Resolution-JG-080716.doc (160,256) 16-07-2008 12:08
http://oldforge.etsi.org/mantis/file_download.php?file_id=1552&type=bug
CR-3379-Resolution-JG-TD-080718.doc (148,480) 18-07-2008 08:40
http://oldforge.etsi.org/mantis/file_download.php?file_id=1555&type=bug
CR-3379-Resolution-JG-TD-IS-080719.doc (153,088) 18-07-2008 10:55
http://oldforge.etsi.org/mantis/file_download.php?file_id=1567&type=bug

Issue History
Date Modified | Username | Field | Change
16-05-2008 09:31 | Thomas DeiÃŸ | New Issue |
16-05-2008 09:31 | Thomas DeiÃŸ | Status | new => assigned
16-05-2008 09:31 | Thomas DeiÃŸ | Assigned To | => Thomas DeiÃŸ
16-05-2008 09:31 | Thomas DeiÃŸ | Clause Reference(s) | => clauses 15, 10, 11, 8.2.1
16-05-2008 09:31 | Thomas DeiÃŸ | Source (company - Author) | => Nokia Siemens Networks, Thomas DeiÃŸ
16-05-2008 09:32 | Thomas DeiÃŸ | Project | TTCN-3 Change Requests => Part 01: TTCN-3 Core Language
16-05-2008 09:33 | Thomas DeiÃŸ | Assigned To | Thomas DeiÃŸ => Ina Schieferdecker
20-06-2008 13:46 | Thomas DeiÃŸ | Note Added: 0006047 |
14-07-2008 15:23 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Jens Grabowski
16-07-2008 12:08 | Jens Grabowski | File Added: CR-3379-Resolution-JG-080716.doc |
16-07-2008 12:09 | Jens Grabowski | Note Added: 0006295 |
16-07-2008 12:09 | Jens Grabowski | Assigned To | Jens Grabowski => Thomas DeiÃŸ
18-07-2008 08:40 | Thomas DeiÃŸ | File Added: CR-3379-Resolution-JG-TD-080718.doc |
18-07-2008 08:42 | Thomas DeiÃŸ | Note Added: 0006318 |
18-07-2008 08:42 | Thomas DeiÃŸ | Assigned To | Thomas DeiÃŸ => Ina Schieferdecker
18-07-2008 08:42 | Thomas DeiÃŸ | Resolution | open => fixed
18-07-2008 10:55 | Ina Schieferdecker | File Added: CR-3379-Resolution-JG-TD-IS-080719.doc |
18-07-2008 10:56 | Ina Schieferdecker | Status | assigned => closed
18-07-2008 10:56 | Ina Schieferdecker | Fixed in Version | => Edition 4.1.1 (not yet published)
18-07-2008 10:56 | Ina Schieferdecker | Target Version | => Edition 4.1.1 (not yet published)

Notes

(0006047)
Thomas DeiÃŸ
20-06-2008 13:46

Consider also the example, is this allowed or is this not allowed because the declarations can be considered as cyclic? type integer X (three, four); const X three := 3; const X four := 4;

(0006295)
Jens Grabowski
16-07-2008 12:09

Proposal for Resolution attached.

(0006318)
Thomas DeiÃŸ
18-07-2008 08:42

CR will be resolved as new clause 5.5. First proposal updated accordingly. Reference to clause 5 to be added to each restriction.