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 | 16-12-2024 12:39

Reporter | Matthias Simon |
Assigned To | Jens Grabowski |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | resolved | Resolution | fixed |
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 |
16-12-2024 12:39 | Jens Grabowski | Note Added: 0016725 |
16-12-2024 12:39 | Jens Grabowski | Status | assigned => resolved
16-12-2024 12:39 | Jens Grabowski | Resolution | open => fixed

Notes

(0016429)
Matthias Simon
19-12-2022 13:19

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;

(0016433)
Tomas Urban
20-12-2022 10:23

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.

(0016435)
Matthias Simon
20-12-2022 11:08

Good catch on the rule for imports, thanks. I'd like to discuss about the additional rule for type synonym, though. Embedded fields are proposed in this CR: http://oldforge.etsi.org/mantis/view.php?id=8154 [^]

(0016438)
Jens Grabowski
20-12-2022 12:26

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.

(0016447)
Matthias Simon
03-01-2023 12:13

The method specifications differ in various aspects, such as visibility, receiver type semantics or applicability. Proposal should be discussed during the next TTF.

(0016540)
Jens Grabowski
07-11-2023 15:10

TTF discussion: Further discussions regarding OO features in TTCN-3 are needed. Discussion should be done in the context of new major revision.

(0016547)
Matthias Simon
08-11-2023 11:19

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.

(0016609)
Olivier Genoud
26-01-2024 16:28

OO features shall be kept out of the core language but kept as extension packages (e.g. OO extension).

(0016725)
Jens Grabowski
16-12-2024 12:39

Discussion continues in Gitlab