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

ID | Project | Category | View Status | Date Submitted | Last Update
0007144 | Part 01: TTCN-3 Core Language | Clarification | public | 17-08-2015 14:50 | 14-12-2015 13:39

Reporter | Tomas Urban |
Assigned To | Gyorgy Rethy |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.7.1 (published 2015-06) |
Target Version | v4.8.1 (published 2016-07) | Fixed in Version | v4.8.1 (published 2016-07) |
Clause Reference(s) | 20.2
Source (company - Author) | STF 487

Summary | 0007144: Restriction on blocking operations in else branch

Description

The restriction 20.2.e states that "The else branch shall not contain any of the actions allowed in branches guarded by a boolean expression (i.e. an altstep call or a done, a killed, a timeout or a receiving operation)."
This is quite ambiguous statement, because the specification doesn't clearly specify what a branch exactly includes. In particular, it is not known if the term "branch" means just the blocking statement or if it includes the following statement block as well.
If branches included the statement block, the restriction would mean that nothing can be inside the else branch (as almost anything can appear inside a statement block) which is simply nonsense. Nevertheless, there is a lot of other rules hinting in the direction that branches do include subsequent statement blocks.
If the previous interpretation is ignored, there are two other explanations of the restriction:
1. The term "branch" means the just a blocking operation in this case. Since the else branch simply doesn't have any, it is just a textual description of the syntactical rule.
2. The statement means that even the statement block following the [else] keyword cannot contain any of the blocking operations. This restriction wouldn't make much sense as nested alts are allowed in other branches, but one of my colleagues interprets the rule this way.
In any case, I propose to reword the statement. Because I prefer the 1st explanation, I would like the restriction to be changed to: the statement block of the else branch shall not be preceded (alternatively: the [else] keyword shall not be followed) by any of the blocking actions that might occur in the beginning of branches guarded by a boolean expression (i.e. an altstep call or a done, a killed, a timeout or a receiving operation).

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |
Attached Files | CR7144_resolution_v1.docx (176,484) 15-10-2015 12:46 http://oldforge.etsi.org/mantis/file_download.php?file_id=3315&type=bug

Issue History
Date Modified | Username | Field | Change
17-08-2015 14:50 | Tomas Urban | New Issue |
21-09-2015 10:27 | Gyorgy Rethy | Target Version | => v4.8.1 (published 2016-07)
21-09-2015 16:04 | Gyorgy Rethy | Note Added: 0013223 |
21-09-2015 16:04 | Gyorgy Rethy | Assigned To | => Jens Grabowski
21-09-2015 16:04 | Gyorgy Rethy | Status | new => assigned
23-09-2015 09:24 | Jens Grabowski | Note Added: 0013247 |
23-09-2015 09:25 | Jens Grabowski | Assigned To | Jens Grabowski => Gyorgy Rethy
15-10-2015 12:46 | Jacob Wieland - Spirent | File Added: CR7144_resolution_v1.docx |
15-10-2015 12:47 | Jacob Wieland - Spirent | Note Added: 0013402 |
15-10-2015 12:47 | Jacob Wieland - Spirent | Note Added: 0013403 |
15-10-2015 12:47 | Jacob Wieland - Spirent | Status | assigned => confirmed
03-11-2015 09:23 | Gyorgy Rethy | Status | confirmed => resolved
03-11-2015 09:23 | Gyorgy Rethy | Fixed in Version | => v4.8.1 (published 2016-07)
03-11-2015 09:23 | Gyorgy Rethy | Resolution | open => fixed
14-12-2015 13:39 | Gyorgy Rethy | Note Added: 0013619 |
14-12-2015 13:39 | Gyorgy Rethy | Status | resolved => closed

Notes

(0013223)
Gyorgy Rethy
21-09-2015 16:04

STF discussion: check in the OS if there would be any problem if deleting the restriction.

(0013247)
Jens Grabowski
23-09-2015 09:24

The CR is correct and 20.2.e has to be corrected. Proposal for correction: "e) In an else branch, the [else] keyword shall not shall not be followed by any of the blocking actions allowed in branches guarded by a boolean expression (i.e. an altstep call or a done, a killed, a timeout or a receiving operation)." Assigned to György for proofreading.

(0013402)
Jacob Wieland - Spirent
15-10-2015 12:47

since the syntactical structure already reflects this restriction, a semantic restriction is not necessary. Replaced the text in restriction e) by Void.

(0013403)
Jacob Wieland - Spirent
15-10-2015 12:47

please review and resolve

(0013619)
Gyorgy Rethy
14-12-2015 13:39

Added to draft V4.7.4