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 |
|
|
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. |
|
|
|
Tomas, please check if the addition of the last two sentences in 7.11 is sufficient. |
|
|
|
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. |
|
|
|
|
|
|
|