ETSI's Bug Tracker - Ext Pack: Advanced Matching (ES 203 022)
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0007819 | Ext Pack: Advanced Matching (ES 203 022) | Clarification | public | 05-12-2018 15:30 | 17-12-2019 10:10

Reporter | Martin Hauch |
Assigned To | Jens Grabowski |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version |  | Fixed in Version |  |
Clause Reference(s) | 5.1
Source (company - Author) | Devoteam - Martin Hauch
TS version | ?

Summary | 0007819: semantic of (Restriction a):The dynamic matching syntax shall only be used in a typed context.

Description

What exactly does this mean? Which of the following examples are allowed or not?
p.receive(@dynamic { if (5==value) { return true;} else {return false;}}
p.receive(@dynamic { if (fx_distance({0.0,0.0},value)<10.0 and value.x>5.0)
{return true;}
else {return false;}
function anytypeEval(anytype param) return boolean { .....return(true);}
// type is determined by receive-parameter
p.receive(integer:@dynamic anytypeEval);
// type is determined by function fx_isPrime
p.receive (@dynamic {return fx_isPrime(value);}

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |
Attached Files | CR7819.docx (124,478) 08-08-2019 08:49 http://oldforge.etsi.org/mantis/file_download.php?file_id=3841&type=bug

Issue History
Date Modified | Username | Field | Change
05-12-2018 15:30 | Martin Hauch | New Issue |
18-12-2018 11:27 | Jens Grabowski | Note Added: 0015284 |
18-12-2018 11:28 | Jens Grabowski | Assigned To | => Jacob Wieland - Spirent
18-12-2018 11:28 | Jens Grabowski | Status | new => assigned
06-08-2019 07:52 | Jacob Wieland - Spirent | Note Added: 0015354 |
07-08-2019 12:21 | KristÃ³f Szabados | Note Added: 0015397 |
08-08-2019 08:49 | Jacob Wieland - Spirent | File Added: CR7819.docx |
08-08-2019 08:50 | Jacob Wieland - Spirent | Note Added: 0015421 |
08-08-2019 08:50 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Tomas Urban
08-08-2019 08:50 | Jacob Wieland - Spirent | Status | assigned => confirmed
08-08-2019 09:57 | Tomas Urban | Note Added: 0015428 |
08-08-2019 09:57 | Tomas Urban | Status | confirmed => resolved
08-08-2019 09:57 | Tomas Urban | Resolution | open => fixed
08-08-2019 09:57 | Tomas Urban | Assigned To | Tomas Urban => Jens Grabowski
17-12-2019 10:10 | Jens Grabowski | Status | resolved => closed

Notes

(0015284)
Jens Grabowski
18-12-2018 11:27

STF discussion: TTCN-3 maintenance STF in 2019 will check if additional clarification for "typed context" is needed. First 2 examples are not allowed, third example is wrong, fourth example requires discussion.

(0015354)
Jacob Wieland - Spirent
06-08-2019 07:52

The core standard document defines "type context" in the definitions section. In that document, it is mainly used for disambiguation of enumeration literals, but the usage is the same for the @dynamic matching construct, i.e. the type where the @dynamic is used must be known, either from the place of usage (actual parameter to a typed formal parameter, right hand side of a typed declaration) or from prefixing it with the type in otherwise untyped contexts (like receive, log arguments or arguments of other operations that have no typed parameters like isvalue).
Therefore, I think the standard is clear enough on that issue. We could do a slight rewording from "a typed context" to "the context of a type" (which is used in the definitions section), but I am unsure whether this will lead to a higher clarity.

(0015397)
KristÃ³f Szabados
07-08-2019 12:21

STF discussion: change typed context to inner type context and reference core standard definitions part. Allow exception for that rule for short notation.

(0015421)
Jacob Wieland - Spirent
08-08-2019 08:50

please review

(0015428)
Tomas Urban
08-08-2019 09:57

The proposal resolves the described issue and can be added to the next version of the specification.