ETSI's Bug Tracker - Ext Pack: Advanced Parametrization (ES 202 784)
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0006613 | Ext Pack: Advanced Parametrization (ES 202 784) | New Feature | public | 12-09-2013 11:05 | 22-01-2014 11:07

Reporter | Jacob Wieland - Spirent |
Assigned To | Jacob Wieland - Spirent |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version | v1.4.1 (published 2014-06) | Fixed in Version | v1.4.1 (published 2014-06) |
TS version | latest
Clause Reference(s) | new feature
Source (company - Author) | Testing Technologies - Jacob Wieland

Summary | 0006613: Signature types and generic singature type parameters should be allowed.

Description

There is no possibility to type-safely abstract over signatures of the same 'signature' (i.e. parameter list, return value, exceptions). This leads to a lot of copy-paste with the obvious common drawbacks and a low acceptance of the procedure based communication feature in general.
Proposal:
allow signature types:
type signature S(...) return R exception(E1, ..., En)
allow generic signature type parameters:
type port P<S s> procedure { inout s; }
function myCall<S s>(P<s> p) return R {
var R r;
p.call(s:{/* parameters matching parameter list of S */}, 1.0) {
[] p.getreply(s:{...}) -> value r; { return r; }
[] p.catch(s, E1:?) { testcase.stop; }
...
}
}
This would allow the following usage, supposing concrete_s is of signature type S:
type port ConcreteP procedure { inout concrete_s };
function g(ConcreteP p) return R {
return myCall<concrete_s>(p);
}

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

Attached Files

CR6613.doc (278,528) 09-10-2013 13:37
http://oldforge.etsi.org/mantis/file_download.php?file_id=2910&type=bug
CR6613 resolution v2.doc (292,864) 24-11-2013 21:29
http://oldforge.etsi.org/mantis/file_download.php?file_id=2936&type=bug
CR6613 resolution v3.doc (297,472) 25-11-2013 14:07
http://oldforge.etsi.org/mantis/file_download.php?file_id=2937&type=bug
CR6613 resolution v4.doc (302,080) 29-12-2013 19:09
http://oldforge.etsi.org/mantis/file_download.php?file_id=2973&type=bug

Issue History
Date Modified | Username | Field | Change
12-09-2013 11:05 | Jacob Wieland - Spirent | New Issue |
12-09-2013 11:05 | Jacob Wieland - Spirent | TS version | => latest
12-09-2013 11:05 | Jacob Wieland - Spirent | Clause Reference(s) | => new feature
12-09-2013 11:05 | Jacob Wieland - Spirent | Source (company - Author) | => Testing Technologies - Jacob Wieland
07-10-2013 12:24 | Gyorgy Rethy | Project | Ext Pack: Advanced Parametrization (ES 202 784) => Ext Pack: Continuous signal support (ES 202 786)
07-10-2013 12:26 | Gyorgy Rethy | Project | Ext Pack: Continuous signal support (ES 202 786) => TTCN-3 Change Requests
07-10-2013 12:28 | Gyorgy Rethy | Note Added: 0011681 |
08-10-2013 10:48 | Gyorgy Rethy | Project | TTCN-3 Change Requests => Ext Pack: Advanced Parametrization (ES 202 784)
08-10-2013 13:46 | Gyorgy Rethy | Note Added: 0011702 |
08-10-2013 13:46 | Gyorgy Rethy | Assigned To | => Jacob Wieland - Spirent
08-10-2013 13:46 | Gyorgy Rethy | Status | new => assigned
08-10-2013 13:46 | Gyorgy Rethy | Target Version | => v1.4.1 (published 2014-06)
09-10-2013 13:37 | Jacob Wieland - Spirent | File Added: CR6613.doc |
09-10-2013 13:39 | Jacob Wieland - Spirent | Note Added: 0011731 |
09-10-2013 13:39 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Gyorgy Rethy
09-10-2013 13:39 | Jacob Wieland - Spirent | Status | assigned => confirmed
24-11-2013 21:29 | Gyorgy Rethy | File Added: CR6613 resolution v2.doc |
24-11-2013 21:35 | Gyorgy Rethy | Note Added: 0011821 |
24-11-2013 21:36 | Gyorgy Rethy | Status | confirmed => assigned
24-11-2013 21:36 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Jacob Wieland - Spirent
25-11-2013 14:07 | Jacob Wieland - Spirent | File Added: CR6613 resolution v3.doc |
25-11-2013 14:10 | Jacob Wieland - Spirent | Note Added: 0011826 |
25-11-2013 14:10 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Gyorgy Rethy
25-11-2013 14:10 | Jacob Wieland - Spirent | Status | assigned => confirmed
29-12-2013 19:08 | Gyorgy Rethy | Note Added: 0011910 |
29-12-2013 19:09 | Gyorgy Rethy | Note Edited: 0011910 |
29-12-2013 19:09 | Gyorgy Rethy | File Added: CR6613 resolution v4.doc |
29-12-2013 19:10 | Gyorgy Rethy | Status | confirmed => assigned
29-12-2013 19:10 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Jacob Wieland - Spirent
29-12-2013 19:10 | Gyorgy Rethy | Note Edited: 0011910 |
29-12-2013 20:25 | Gyorgy Rethy | Status | assigned => confirmed
29-12-2013 20:25 | Gyorgy Rethy | Resolution | open => fixed
29-12-2013 20:25 | Gyorgy Rethy | Fixed in Version | => v1.4.1 (published 2014-06)
06-01-2014 12:39 | Jacob Wieland - Spirent | Status | confirmed => resolved
06-01-2014 12:39 | Jacob Wieland - Spirent | Note Added: 0011913 |
22-01-2014 11:07 | Gyorgy Rethy | Status | resolved => closed
22-01-2014 11:07 | Gyorgy Rethy | Note Added: 0011916 |

Notes

(0011681)
Gyorgy Rethy
07-10-2013 12:28

To be clarified: which document and clause the CR is related to?

(0011702)
Gyorgy Rethy
08-10-2013 13:46

STF discussion: type signature ... is not needed. Parameterization with dummySignature (just using the signature keyword) needs to be allowed, just like to parameterization with types.

(0011731)
Jacob Wieland - Spirent
09-10-2013 13:39

After discussion in STF: allowed signature as type-parameter-modifier (as alternative to type) and restricted its usage to only signature-types. Allowed signatures as actual parameters as well (only Type was allowed before and in the core language, these two are distinguished).

(0011821)
Gyorgy Rethy
24-11-2013 21:35

The terms "type" and "signature" are used in a distinct way in part-1, where signature has a character similar to types, but is related to synchronous communication. For this reason they shall also be used in a distinct way in the packages, like "type and signature formal parameters". Resolution text in CR6613 resolution v2.doc is re-edited according to this. Pls. review.

(0011826)
Jacob Wieland - Spirent
25-11-2013 14:10

some small editorial changes, one duplicate sentence fragment deleted in actual parameter section, added signatures in the syntactical part

(0011910)
Gyorgy Rethy
29-12-2013 19:08 (edited on: 29-12-2013 19:10)

Some further changes, pls. review; see CR6613 resolution v4.doc:
- New package tag is added and a note saying that modules not containing signature parameters are also compatible with the previous tag.
-table 2 is extended with signature parameterization of types, functions,
-Default signature is added to syntactical structure in 5.4.1.5.
-Last sentence of 5.4.1.5 is deleted as the same requirement exists in 5.4.2.1.

(0011913)
Jacob Wieland - Spirent
06-01-2014 12:39

Looks fine to me.

(0011916)
Gyorgy Rethy
22-01-2014 11:07

Implemented in draft for approval