ETSI's Bug Tracker - Ext Pack: Object-oriented features (ES 203 790)
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0007693 | Ext Pack: Object-oriented features (ES 203 790) | [All Projects] General | public | 16-07-2017 13:10 | 11-10-2018 14:21

Reporter | KristÃ³f Szabados |
Assigned To | KristÃ³f Szabados |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | won't fix |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version |  | Fixed in Version |  |

Summary | 0007693: component members with visibility and functions inside the components

Description

When defining libraries, it is often the case that some data shall not be manipulated by the users of the library directly; e.g. the internal database of a test framework, storing entity states, simulated entity-related data, temporary data like session ids etc. These are typically defined as component variables.
One reason is that the type and structure of framework-internal data may (in fact WILL) change over time, as the framework is developed further. But if the user access framework-internal data directly, these changes causes the user code be broken.
An other reason might be, that the library uses some special representation, that users could corrupt, if they can access (for example a charstring storing encrypted information, or a record of integer representing a tree data structure).
The solution of the problem is to introduce visibily within components for component definitions as well, and functions written inside the components to manipulate such members:
In component member definitions they mean the following:
• The public modifier means that any function/testcase/altstep running on that component instance can access the member definition directly.
• The private modifier means that only those functions can access the definition which are directly written "into the body" of the component. Functions running on a component type extending the one containing the definition, will not be able to see them.
• functions written into the "body" of the component can also be public or private. Public functions can be called from functions/altstep/testcases running on the component, or on a component extending their component. Private functions can only be called from functions written inside the "body" of the same component.
• the frend modifier is not available inside components.
This feature can also be seen as a Object-Oriented extension of current components.

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

Relationships

related to | 0006801 | closed | KristÃ³f Szabados | Visibility of component definitions
related to | 0007679 | closed | Jens Grabowski | Class Concept to be added

Attached Files | CR7693.docx (318,212) 28-07-2017 13:18 http://oldforge.etsi.org/mantis/file_download.php?file_id=3671&type=bug

Issue History
Date Modified | Username | Field | Change
16-07-2017 13:10 | KristÃ³f Szabados | New Issue |
16-07-2017 13:10 | KristÃ³f Szabados | Relationship added | related to 0006801
24-07-2017 14:12 | Jens Grabowski | Assigned To | => KristÃ³f Szabados
24-07-2017 14:12 | Jens Grabowski | Status | new => assigned
28-07-2017 12:36 | Jens Grabowski | Project | TTCN-3 Change Requests => Ext Pack: Object-oriented features (ES 203 790)
28-07-2017 12:36 | Jens Grabowski | Category | New Feature => General
28-07-2017 13:18 | KristÃ³f Szabados | File Added: CR7693.docx |
28-07-2017 13:22 | KristÃ³f Szabados | Note Added: 0014795 |
27-10-2017 11:19 | KristÃ³f Szabados | Relationship added | related to 0007679
27-10-2017 11:20 | KristÃ³f Szabados | Note Added: 0014909 |
16-04-2018 11:57 | Jens Grabowski | Note Added: 0015081 |
16-04-2018 11:57 | Jens Grabowski | Status | assigned => closed
16-04-2018 11:57 | Jens Grabowski | Resolution | open => fixed
17-04-2018 08:29 | KristÃ³f Szabados | Note Added: 0015086 |
17-04-2018 08:29 | KristÃ³f Szabados | Status | closed => feedback
17-04-2018 08:29 | KristÃ³f Szabados | Resolution | fixed => reopened
17-04-2018 08:30 | KristÃ³f Szabados | Assigned To | KristÃ³f Szabados => Jacob Wieland - Spirent
17-04-2018 08:30 | KristÃ³f Szabados | Status | feedback => assigned
17-04-2018 08:30 | KristÃ³f Szabados | Note Added: 0015087 |
18-04-2018 08:02 | KristÃ³f Szabados | Assigned To | Jacob Wieland - Spirent => KristÃ³f Szabados
18-04-2018 09:53 | KristÃ³f Szabados | Note Added: 0015098 |
11-10-2018 14:21 | KristÃ³f Szabados | Note Added: 0015256 |
11-10-2018 14:21 | KristÃ³f Szabados | Status | assigned => closed
11-10-2018 14:21 | KristÃ³f Szabados | Resolution | reopened => won't fix

Notes

(0014795)
KristÃ³f Szabados
28-07-2017 13:22

I have uploaded the first version of the proposal.
Please Note 1: for the time being I had to start from the core standard, but the final version will be part of the Object Oriented extension ... modification will be needed
Please Note 2: for the time being I had to start from the concepts of the core standard. These should be updated/harmonized with the concepts of the Object Oriented extension once they are available.

(0014909)
KristÃ³f Szabados
27-10-2017 11:20

This cr will be solved as part of the Object-Oriented Extension (CR7679)

(0015081)
Jens Grabowski
16-04-2018 11:57

solved as part of the OO extension

(0015086)
KristÃ³f Szabados
17-04-2018 08:29

Reopened for discussion, as this might not make into the current Object-Oriented extension.

(0015087)
KristÃ³f Szabados
17-04-2018 08:30

Jacob please check.

(0015098)
KristÃ³f Szabados
18-04-2018 09:53

I would like to keep this CR open for the next STF session to get feedback from our users.

(0015256)
KristÃ³f Szabados
11-10-2018 14:21

Fixed with OO.