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

ID | Project | Category | View Status | Date Submitted | Last Update
0006699 | Part 01: TTCN-3 Core Language | Clarification | public | 06-03-2014 12:19 | 28-07-2014 14:20

Reporter | Wolfgang Seka |
Assigned To | Gyorgy Rethy |
Priority | urgent | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.6.1 (published 2014-06) |
Target Version | v4.6.2 (interim 2014) | Fixed in Version | v4.6.2 (interim 2014) |
Clause Reference(s) | ES 201 873-1 clause 15.6.2
Source (company - Author) | MCC160 - Wolfgang

Summary | 0006699: Missing/invalid expansion rules for templates with template restrictions in 15.6.2

Description

Clause 15.6.2 describes how to expand a template variable which is initialised with omit when a single field of the variable gets assigned:
The other fields shall be expanded to "?" if the are mandatory and to "*" else.
This is applicable for pure template variables (i.e. without template restrictions) but - at least from a user's point of view - it does not make sense for a "template (omit)" variable as the implicit expansion leads to violation of the template restriction what causes a runtime error with at least one tool. This is not acceptable from a user's point of view especially in a following scenario:
type record MyRecord_Type {
integer field1,
integer field2
};
var template (omit) MyRecord_Type v_MyRecord := omit;
v_MyRecord.field1 := 1; // assignment 1
v_MyRecord.field2 := 2; // assignment 2
-> It does not make any use to get a run-time error between assignment 1 and 2.
=> Clause 15.6.2 shall be enhanced to cope with "template (omit)" variables so that internal expansion rules of the core language do not violate the core language itself.
The simplest solution would be to consider fields not being assigned yet as "uninitialized" in terms of isbound (or optional fields could be expanded to omit as well).

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |
Attached Files | CR6699_v1.docx (14,648) 09-04-2014 15:12 http://oldforge.etsi.org/mantis/file_download.php?file_id=2982&type=bug

Issue History
Date Modified | Username | Field | Change
06-03-2014 12:19 | Wolfgang Seka | New Issue |
08-04-2014 08:59 | Gyorgy Rethy | Project | TTCN-3 Change Requests => Part 01: TTCN-3 Core Language
08-04-2014 10:01 | Gyorgy Rethy | Note Added: 0011950 |
08-04-2014 10:01 | Gyorgy Rethy | Assigned To | => Tomas Urban
08-04-2014 10:01 | Gyorgy Rethy | Status | new => assigned
08-04-2014 17:02 | Gyorgy Rethy | Product Version | => v4.6.1 (published 2014-06)
08-04-2014 17:02 | Gyorgy Rethy | Target Version | => v4.7.1 (published 2015-06)
09-04-2014 11:20 | Jacob Wieland - Spirent | Note Added: 0011968 |
09-04-2014 12:36 | Gyorgy Rethy | Priority | normal => urgent
09-04-2014 15:12 | Tomas Urban | File Added: CR6699_v1.docx |
09-04-2014 15:13 | Tomas Urban | Note Added: 0011974 |
10-04-2014 12:52 | Tomas Urban | Note Added: 0011998 |
10-04-2014 12:52 | Tomas Urban | Assigned To | Tomas Urban => Jens Grabowski
10-04-2014 12:52 | Tomas Urban | Status | assigned => confirmed
16-06-2014 09:30 | Jens Grabowski | Note Added: 0012075 |
16-06-2014 09:30 | Jens Grabowski | Assigned To | Jens Grabowski => Gyorgy Rethy
16-06-2014 09:30 | Jens Grabowski | Status | confirmed => assigned
16-06-2014 09:31 | Jens Grabowski | Status | assigned => resolved
16-06-2014 09:31 | Jens Grabowski | Resolution | open => fixed
17-06-2014 15:57 | Gyorgy Rethy | Fixed in Version | => v4.6.2 (interim 2014)
17-06-2014 15:57 | Gyorgy Rethy | Target Version | v4.7.1 (published 2015-06) => v4.6.2 (interim 2014)
20-06-2014 11:55 | Gyorgy Rethy | Fixed in Version | v4.6.2 (interim 2014) =>
28-07-2014 14:20 | Gyorgy Rethy | Note Added: 0012205 |
28-07-2014 14:20 | Gyorgy Rethy | Status | resolved => closed
28-07-2014 14:20 | Gyorgy Rethy | Fixed in Version | => v4.6.2 (interim 2014)

Notes

(0011950)
Gyorgy Rethy
08-04-2014 10:01

Check if limiting template restriction to template and template(present) would cause problem with the users of other tools.

(0011968)
Jacob Wieland - Spirent
09-04-2014 11:20

I would agree that for template(value) and template(omit) the expansion behavior should be the same as for values. As far as I know, the implicit-omit-template-expansion feature is not used by our customers, yet.

(0011974)
Tomas Urban
09-04-2014 15:13

Resolution uploaded. Waiting for vendor feedback.

(0011998)
Tomas Urban
10-04-2014 12:52

As it doesn't seem there are any objections from the vendors, I think we can proceed with resolving the issue. Please check the proposed solution.

(0012075)
Jens Grabowski
16-06-2014 09:30

Ok, from my side.

(0012205)
Gyorgy Rethy
28-07-2014 14:20

Added to master copy of V4.6.2 (interim 2014)