ETSI's Bug Tracker - Part 06: TTCN-3 Control Interface
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0005949 | Part 06: TTCN-3 Control Interface | Technical | public | 15-10-2011 19:18 | 13-07-2012 11:10

Reporter | Mateusz Pusz |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | N/A
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version | v4.5.1 (published 2013-04) | Fixed in Version | v4.5.1 (published 2013-04) |
Clause Reference(s) | TRI 8.5.2, TCI 10.5.2
Source (company - Author) | Mateusz Pusz/freettcn

Summary | 0005949: TCI and TRI C++ mappings interface unification

Description

TRI and TCI C++ mapping interfaces are in some places inconsistent and it would be good to fix it. Especially interfcace for lists is greatly affected. Here is the summary of problems:
- some get() functions do not use Tindex type
- some lists have push_back() while other have add() methods
- most of the classes have clone() while other have cloneSOMETHING() methods which makes them hard to implement in one unified way
- some classes define isEmpty() method instead of empty()
- TRI classes return reference in get() methods while TCI returns pointers. I think that latter is better as it leaves the chance to return 0 when index is out out array bounds.
The detailed list of changes can be found by browsing for TTCN_LIST_IFACE_FIXED in https://github.com/mpusz/FreeTTCN/blob/d2ff73bbb9f4bb5e49b5cabe2c156512e456056c/freettcn/lib/include/freettcn/etsi/tri.h [^] and https://github.com/mpusz/FreeTTCN/blob/d2ff73bbb9f4bb5e49b5cabe2c156512e456056c/freettcn/lib/include/freettcn/etsi/tci.h. [^]
Fixing all those problems will allow developers to provide error proof and consistent implementation across all TTCN interfaces. As an example please see: https://github.com/mpusz/FreeTTCN/blob/d2ff73bbb9f4bb5e49b5cabe2c156512e456056c/freettcn/lib/include/freettcn/ttcn3/ttcnArray.h. [^] Please note how easy and nice implementation can be done with well defined interface (TTCN_LIST_IFACE_FIXED case) and how problematic it is otherwise.
Best
Mat

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |
Attached Files | CR_5949_resolution_v1.docx (44,940) 12-07-2012 17:17 http://oldforge.etsi.org/mantis/file_download.php?file_id=2693&type=bug

Issue History
Date Modified | Username | Field | Change
15-10-2011 19:18 | Mateusz Pusz | New Issue |
15-10-2011 19:18 | Mateusz Pusz | Clause Reference(s) | => TRI 8.5.2, TCI 10.5.2
15-10-2011 19:18 | Mateusz Pusz | Source (company - Author) | => Mateusz Pusz/freettcn
28-11-2011 16:10 | Gyorgy Rethy | Project | TTCN-3 Change Requests => Part 06: TTCN-3 Control Interface
28-11-2011 16:11 | Gyorgy Rethy | Note Added: 0010357 |
28-11-2011 16:11 | Gyorgy Rethy | Target Version | => v4.7.1 (published 2015-06)
30-11-2011 11:02 | Ina Schieferdecker | Status | new => assigned
30-11-2011 11:02 | Ina Schieferdecker | Assigned To | => Ina Schieferdecker
12-07-2012 14:13 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Tomas Urban
12-07-2012 17:17 | Tomas Urban | File Added: CR_5949_resolution_v1.docx |
12-07-2012 17:31 | Tomas Urban | Note Added: 0010901 |
12-07-2012 17:31 | Tomas Urban | Assigned To | Tomas Urban => Ina Schieferdecker
13-07-2012 11:09 | Ina Schieferdecker | Status | assigned => resolved
13-07-2012 11:09 | Ina Schieferdecker | Resolution | open => fixed
13-07-2012 11:10 | Ina Schieferdecker | Note Added: 0010913 |
13-07-2012 11:10 | Ina Schieferdecker | Status | resolved => closed
13-07-2012 11:10 | Ina Schieferdecker | Fixed in Version | => Edition 4.5.1

Notes

(0010357)
Gyorgy Rethy
28-11-2011 16:11

Postponed to 2012. Proposal shall be checked with tool vendors.

(0010901)
Tomas Urban
12-07-2012 17:31

Although the proposed changes are very reasonable, they would lead to incompatibility with the previous versions of TRI/TCI C++ mapping. Changes of this character can be approved only if there's a serious functional issue in interface mapping.
Thefore STF 446 made a decision to reject the CR with one exception: parameter type change from Tinteger to Tindex in TciValueDifferenceList.get method (see the attached draft).

(0010913)
Ina Schieferdecker
13-07-2012 11:10

Fixed as proposed.