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

ID | Project | Category | View Status | Date Submitted | Last Update
0003384 | Part 01: TTCN-3 Core Language | Clarification | public | 16-05-2008 10:42 | 10-12-2008 12:52

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

Summary | 0003384: Usage of declarations within component types

Description

Clause 5.2 contains the following statement:
Definitions made in a test component type may be used only in functions, test cases and altsteps referencing that component type or a consistent test component type (see clause 6.3.3) by a runs on-clause.
This is basically a matter of interpreting the english sentence. But this could be understood that e.g. a constant declared in a component type cannot be used in another declaration of the same component type (or an extension of it). If such a strict interpretation is taken, the example below would be invalid.
module m {
type component A {
const integer C1 := 1;
}
type component B extends A {
const integer C2 := 2;
var integer ia[C1] := {C3};
var integer i := ia[0];
const integer C3 := C1 + C2;
}
}
I suggest to relax the statement to
"Definitions made in a test component type may be used in the component type defintion, when extending the component type definition, and in functions, test cases and altsteps referencing that component type or a consistent test component type (see clause 6.3.3) by a runs on-clause."

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

Issue History
Date Modified | Username | Field | Change
16-05-2008 10:42 | Thomas DeiÃŸ | New Issue |
16-05-2008 10:42 | Thomas DeiÃŸ | Status | new => assigned
16-05-2008 10:42 | Thomas DeiÃŸ | Assigned To | => Ina Schieferdecker
16-05-2008 10:42 | Thomas DeiÃŸ | Clause Reference(s) | => 5.2
16-05-2008 10:42 | Thomas DeiÃŸ | Source (company - Author) | => Nokia Siemens Networks, Thomas DeiÃŸ
17-08-2008 09:34 | Ina Schieferdecker | Target Version | => Edition 4.1.1 (not yet published)
25-11-2008 15:17 | Ina Schieferdecker | Note Added: 0007417 |
25-11-2008 15:18 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Thomas DeiÃŸ
25-11-2008 15:18 | Ina Schieferdecker | Resolution | open => fixed
26-11-2008 07:58 | Thomas DeiÃŸ | Note Added: 0007432 |
26-11-2008 07:58 | Thomas DeiÃŸ | Assigned To | Thomas DeiÃŸ => Ina Schieferdecker
10-12-2008 12:51 | Ina Schieferdecker | Note Added: 0007629 |
10-12-2008 12:51 | Ina Schieferdecker | Status | assigned => resolved
10-12-2008 12:51 | Ina Schieferdecker | Fixed in Version | => Edition 4.1.1 (not yet published)
10-12-2008 12:52 | Ina Schieferdecker | Status | resolved => closed

Notes

(0007417)
Ina Schieferdecker
25-11-2008 15:17

Just some rephrasing:
"Definitions made in a test component type may be used in a component type extending this component type definition, and in functions, test cases and altsteps referencing that component type or a consistent test component type (see clause 6.3.3) by a runs on-clause."
An example could be added:
type component MyComponentType {
const integer MyConst := 1;
...
}
type component MyExtendedComponentType extends MyComponentType {
var integer MyVar:= 2 * MyConst;
...
}

(0007432)
Thomas DeiÃŸ
26-11-2008 07:58

The example clarifies the issue, so that's also ok for me. The solution uses 'consistent' instead of 'compatible'. There is a risk that CR 3951 is undone by this correction.

(0007629)
Ina Schieferdecker
10-12-2008 12:51

Reworded to "Definitions made in a test component type may be used in a component type extending this component type definition, and in functions, test cases and altsteps referencing that component type or a compatible test component type (see clause 6.3.3) by a runs on-clause." and example added.