ETSI's Bug Tracker - Part 04: TTCN-3 Operational Semantics
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0007454 | Part 04: TTCN-3 Operational Semantics | Technical | public | 19-07-2016 08:42 | 18-11-2016 10:42

Reporter | Tomas Urban |
Assigned To | Jens Grabowski |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.5.1 (published 2016-07) |
Target Version | v4.6.1(ongoing) | Fixed in Version | v4.6.1(ongoing) |
Clause Reference(s) | 7.11
Source (company - Author) | STF 514

Summary | 0007454: Operational semantics for default parameters

Description

CR 0007294 allows to use component variables, templates and constants from the runs on clause in the expressions specifying default values. Section 7.11 of the operational semantics specification has to be changed accordingly. Since it is not always possible to copy the expression specifying the default value any more (e.g. in the execute and ptc.start statements, the component variables are not accessible), it was suggested that the expression shall be evaluated first and the result shall be appended to the actual parameter list. However, the question is if this doesn't exceed the scope of the chapter 7, because it contains steps that are made on textual level and evaluating an expression is a runtime operation.

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

Relationships

related to | 0007294 | closed | Gyorgy Rethy | Part 01: TTCN-3 Core Language | default values/templates of formal parameters should live in the runs-on scope

Attached Files | CR-7454-Resolution-160721.docx (1,963,592) 21-07-2016 08:24 http://oldforge.etsi.org/mantis/file_download.php?file_id=3427&type=bug

Issue History
Date Modified | Username | Field | Change
19-07-2016 08:42 | Tomas Urban | New Issue |
19-07-2016 08:42 | Tomas Urban | Status | new => assigned
19-07-2016 08:42 | Tomas Urban | Assigned To | => Jens Grabowski
19-07-2016 08:44 | Tomas Urban | Relationship added | related to 0007294
20-07-2016 10:52 | Jens Grabowski | Note Added: 0014001 |
20-07-2016 10:54 | Jens Grabowski | Note Added: 0014002 |
20-07-2016 10:54 | Jens Grabowski | Assigned To | Jens Grabowski => Tomas Urban
20-07-2016 16:45 | Tomas Urban | Note Added: 0014014 |
20-07-2016 16:45 | Tomas Urban | Assigned To | Tomas Urban => Jens Grabowski
21-07-2016 08:22 | Jens Grabowski | Note Added: 0014019 |
21-07-2016 08:24 | Jens Grabowski | File Added: CR-7454-Resolution-160721.docx |
21-07-2016 08:24 | Jens Grabowski | Status | assigned => resolved
21-07-2016 08:24 | Jens Grabowski | Resolution | open => fixed
17-08-2016 11:52 | Jacob Wieland - Spirent | Status | resolved => feedback
17-08-2016 11:52 | Jacob Wieland - Spirent | Resolution | fixed => reopened
17-08-2016 11:52 | Jacob Wieland - Spirent | Target Version | v4.5.1 (published 2016-07) => v4.6.1(ongoing)
17-08-2016 11:54 | Jacob Wieland - Spirent | Status | feedback => resolved
17-08-2016 11:54 | Jacob Wieland - Spirent | Fixed in Version | => v4.6.1(ongoing)
17-08-2016 11:54 | Jacob Wieland - Spirent | Resolution | reopened => fixed
18-11-2016 10:42 | Jens Grabowski | Note Added: 0014332 |
18-11-2016 10:42 | Jens Grabowski | Status | resolved => closed

Notes

(0014001)
Jens Grabowski
20-07-2016 10:52

Proposes resolution: Change of 7.11 in Operational Semantics to:
7.11 Adding default values of parameters
Formal parameters may have default values. If no actual parameter is provided in a specific invocation, then the default value is added to the actual parameter list. If list notation has been used for the actual parameter list, then the default value is inserted according to the order in the formal parameter list. If assignment notation has been used for the actual parameter list, then the default values are appended to the actual parameters, the order among the default values corresponds to their order in the formal parameter list.
Default values may be provided in form of concrete values or expressions. The evaluation of default values shall follow the same rules as the evaluation of actual parameters, i.e., the rules provided in clause 9.24.

(0014002)
Jens Grabowski
20-07-2016 10:54

Tomas, please check if the addition of the last two sentences in 7.11 is sufficient.

(0014014)
Tomas Urban
20-07-2016 16:45

I would prefer to have a different kind of replacement, in particular the one Jacob suggested in 0007294:
function f(T x := E) runs on C {
S1;
...
;Sn
}
is semantically equivalent to
function f(T x) runs on C {
if (not isbound(x)) { x := E }
{
S1;
...
Sn
}
}
Please notice the additional statement block which wasn't in Jacob's proposal. It is important, because function body might contain declarations and those are required to be in the block beginning.

(0014019)
Jens Grabowski
21-07-2016 08:22

Proposal agreed.

(0014332)
Jens Grabowski
18-11-2016 10:42

CR implemented in DRAFT.