ETSI's Bug Tracker - Part 01: TTCN-3 Core Language |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0008156 | Part 01: TTCN-3 Core Language | New Feature | public | 12-12-2022 14:36 | 26-01-2024 16:28 |
|
Reporter | Matthias Simon | |
Assigned To | Jens Grabowski | |
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | assigned | Resolution | open | |
Platform | | OS | | OS Version | |
Product Version | | |
Target Version | | Fixed in Version | | |
Clause Reference(s) | 16.4 -- Methods |
Source (company - Author) | Nokia - Matthias Simon |
|
Summary | 0008156: Introduce user defined methods |
Description | This CR is a part of splitting http://oldforge.etsi.org/mantis/view.php?id=8113 [^] |
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | |
Attached Files | CR8156.docx (127,086) 16-12-2022 11:53 http://oldforge.etsi.org/mantis/file_download.php?file_id=4101&type=bug CR8156-2.docx (162,277) 20-12-2022 10:19 http://oldforge.etsi.org/mantis/file_download.php?file_id=4108&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
12-12-2022 14:36 | Matthias Simon | New Issue | |
13-12-2022 20:50 | Matthias Simon | File Added: CR8156.docx | |
16-12-2022 11:50 | Matthias Simon | Assigned To | => Matthias Simon |
16-12-2022 11:50 | Matthias Simon | Status | new => assigned |
16-12-2022 11:53 | Matthias Simon | File Deleted: CR8156.docx | |
16-12-2022 11:53 | Matthias Simon | File Added: CR8156.docx | |
19-12-2022 13:19 | Matthias Simon | Note Added: 0016429 | |
19-12-2022 13:19 | Matthias Simon | Assigned To | Matthias Simon => Tomas Urban |
19-12-2022 13:19 | Matthias Simon | Status | assigned => confirmed |
20-12-2022 10:19 | Tomas Urban | File Added: CR8156-2.docx | |
20-12-2022 10:23 | Tomas Urban | Note Added: 0016433 | |
20-12-2022 10:23 | Tomas Urban | Assigned To | Tomas Urban => Matthias Simon |
20-12-2022 11:08 | Matthias Simon | Note Added: 0016435 | |
20-12-2022 12:26 | Jens Grabowski | Note Added: 0016438 | |
20-12-2022 12:26 | Jens Grabowski | Status | confirmed => assigned |
03-01-2023 12:13 | Matthias Simon | Note Added: 0016447 | |
07-11-2023 15:10 | Jens Grabowski | Note Added: 0016540 | |
07-11-2023 15:10 | Jens Grabowski | Assigned To | Matthias Simon => Jens Grabowski |
08-11-2023 11:19 | Matthias Simon | Note Added: 0016547 | |
26-01-2024 16:28 | Olivier Genoud | Note Added: 0016609 | |
Notes |
|
|
Uploaded initial proposal for methods, please review.
Please note, after a good while of consideration I finally went with the free-floating syntax. Because it's the least intrusive. It doesn't fit perfectly with the OOP extension, but with the rest of the standard, though.
What I also value high is that free-floating syntax makes it easy to retro-fit existing operations and demote them to some kind of a standard library, without breaking compatibility. For example:
external function start(in float duration) extends timer;
external function stop() extends timer; |
|
|
|
I made some changes in the document, adding an explanatory rule for imports and a couple of rules for type synonyms.
The document also references a new clause 6.2.1.4 (promoted methods). Could you please add a reference to a CR where this clause was introduced?
If you are happy with the changes I made or make just minor corrections, please assign the document to Jens for final reading. |
|
|
|
|
|
|
TTF discussion: Open questions: (1) Is the same thing as methods in OO extension package? (2) In case a component type extends another component: How do methods behave? TTF requires answers before the feature can be introduced. |
|
|
|
The method specifications differ in various aspects, such as visibility, receiver type semantics or applicability.
Proposal should be discussed during the next TTF. |
|
|
|
TTF discussion: Further discussions regarding OO features in TTCN-3 are needed. Discussion should be done in the context of new major revision. |
|
|
|
For documentation purposes:
The method proposal has some benefits:
* methods for all TTCN-3 types (not only objects)
* simple syntax and semantics (no new rules for visibility, importing, ...)
* it's possible bind behaviour to a type without changing its representation.
This proposal has to be harmonized with the OOP-extension, because introducing a second, slightly different OOP-style is counter to our efforts in unifying and simplifying TTCN-3. |
|
|
|
OO features shall be kept out of the core language but kept as extension packages (e.g. OO extension). |
|