ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
View Issue Details
0003382Part 01: TTCN-3 Core LanguageClarificationpublic16-05-2008 10:0718-07-2008 10:54
Thomas Deiß 
Ina Schieferdecker 
normalminorN/A
closedfixed 
 
v4.1.1 (published 2009-06)v4.1.1 (published 2009-06) 
8.2.3
Nokia Siemens Networks, Thomas Deiß
0003382: cyclic import
Clause 8.2.3 states that cyclic imports are forbidden.
It is unclear whether the example below qualifies as cyclic import.

module a {
  import from b { type x }
  type record of x list_x;
}

module b {
  type integer x;
  import from a { type list_x }
}


I suggest to add a sentence to 8.2.3 that the cycles are considered on module level:
"Cyclic imports are forbidden. Cycles are determined on module level"
No tags attached.
Issue History
16-05-2008 10:07Thomas DeißNew Issue
16-05-2008 10:07Thomas DeißStatusnew => assigned
16-05-2008 10:07Thomas DeißAssigned To => Ina Schieferdecker
16-05-2008 10:07Thomas DeißClause Reference(s) => 8.2.3
16-05-2008 10:07Thomas DeißSource (company - Author) => Nokia Siemens Networks, Thomas Deiß
14-07-2008 15:23Ina SchieferdeckerAssigned ToIna Schieferdecker => Jens Grabowski
15-07-2008 16:20Jens GrabowskiNote Added: 0006285
16-07-2008 09:37Jens GrabowskiAssigned ToJens Grabowski => Thomas Deiß
18-07-2008 08:44Thomas DeißNote Added: 0006319
18-07-2008 08:44Thomas DeißAssigned ToThomas Deiß => Ina Schieferdecker
18-07-2008 08:44Thomas DeißResolutionopen => fixed
18-07-2008 10:41Ina SchieferdeckerStatusassigned => closed
18-07-2008 10:41Ina SchieferdeckerFixed in Version => Edition 4.1.1 (not yet published)
18-07-2008 10:41Ina SchieferdeckerTarget Version => Edition 4.1.1 (not yet published)
18-07-2008 10:54Ina SchieferdeckerFile Added: CR-3379-Resolution-JG-TD-IS-080719.doc
18-07-2008 10:55Ina SchieferdeckerFile Deleted: CR-3379-Resolution-JG-TD-IS-080719.doc

Notes
(0006285)
Jens Grabowski   
15-07-2008 16:20   
Proposal for resolution:

Delete restriction "h) Cyclic imports are forbidden" in Clause 8.2.3.1.

Reasons:
- The original reason for introducing this restriction was to avoid cyclic definitions. However, the problem of cyclic definitions has to be solved on module level. See CR 3379

- Furthermore, originally the cyclic imports restriction was meant to work on definition level but could be misinterpreted as a restriction on module level. For example:
module A imports const B-const of type integer from Module B
module B imports const A-const of type integer from Module A
can be interpretet as a cyclic import on module level (module A imports from B and B imports from A), but causes no problems at all.
(0006319)
Thomas Deiß   
18-07-2008 08:44   
Proposed solution (see previous note) is ok.