ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0005913 | Part 01: TTCN-3 Core Language | New Feature | public | 30-06-2011 14:50 | 17-07-2011 07:29

Reporter | Gyorgy Rethy |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version | v4.3.1 (published 2011-06) |
Target Version | v4.3.2 (interim 2011) | Fixed in Version | v4.3.2 (interim 2011) |
Clause Reference(s) | Annex C
Source (company - Author) | STF430

Summary | 0005913: Error-safe isvalue()

Description

Today the behaviour of isvalue() is not 100% unambigouos related to passing an uninitialized parameter to it. Also it causes error if the field passed in is not accessible.
One of the conclusions of the discussion of CR5899 is, that isvalue() shall be extended to be really error-safe, i.e.
- allow passing any reference to isvalue(), even if it is uninitialized or not accessible (i.e. calling isvalue() with any reference shall not cause an error);
- return true if parameter is completely initialized and contains a value, return false in all other cases (e.g. for non-accessible fields or uninitialized parameter).
Also ispresent() and ischosen() should be consistent with this.

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

Attached Files

CR5913_resolution_v1.doc (95,744) 30-06-2011 17:35
http://oldforge.etsi.org/mantis/file_download.php?file_id=2541&type=bug
CR5913_resolution_v2.doc (136,192) 01-07-2011 14:46
http://oldforge.etsi.org/mantis/file_download.php?file_id=2548&type=bug
CR5913_resolution_v3.doc (157,184) 01-07-2011 16:38
http://oldforge.etsi.org/mantis/file_download.php?file_id=2552&type=bug
CR5913_resolution_v4.doc (113,664) 17-07-2011 07:28
http://oldforge.etsi.org/mantis/file_download.php?file_id=2560&type=bug

Issue History
Date Modified | Username | Field | Change
30-06-2011 14:50 | Gyorgy Rethy | New Issue |
30-06-2011 14:50 | Gyorgy Rethy | Status | new => assigned
30-06-2011 14:50 | Gyorgy Rethy | Assigned To | => Jacob Wieland - Spirent
30-06-2011 14:50 | Gyorgy Rethy | Clause Reference(s) | => Annex C
30-06-2011 14:50 | Gyorgy Rethy | Source (company - Author) | => STF430
30-06-2011 17:35 | Jacob Wieland - Spirent | File Added: CR5913_resolution_v1.doc |
30-06-2011 17:36 | Jacob Wieland - Spirent | Note Added: 0010167 |
30-06-2011 17:36 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Gyorgy Rethy
01-07-2011 14:02 | Gyorgy Rethy | Note Added: 0010180 |
01-07-2011 14:44 | Gyorgy Rethy | Note Added: 0010181 |
01-07-2011 14:46 | Gyorgy Rethy | File Added: CR5913_resolution_v2.doc |
01-07-2011 14:46 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Jacob Wieland - Spirent
01-07-2011 16:38 | Gyorgy Rethy | File Added: CR5913_resolution_v3.doc |
01-07-2011 16:39 | Gyorgy Rethy | Note Added: 0010188 |
01-07-2011 16:47 | Jacob Wieland - Spirent | Note Added: 0010191 |
01-07-2011 16:47 | Jacob Wieland - Spirent | Assigned To | Jacob Wieland - Spirent => Gyorgy Rethy
01-07-2011 16:55 | Gyorgy Rethy | Note Added: 0010194 |
01-07-2011 16:55 | Gyorgy Rethy | Status | assigned => resolved
01-07-2011 16:55 | Gyorgy Rethy | Resolution | open => fixed
01-07-2011 16:55 | Gyorgy Rethy | Target Version | => Edition 4.3.2 (interim)
05-07-2011 14:39 | Gyorgy Rethy | Status | resolved => feedback
05-07-2011 14:39 | Gyorgy Rethy | Resolution | fixed => reopened
05-07-2011 14:40 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Ina Schieferdecker
05-07-2011 14:40 | Gyorgy Rethy | Status | feedback => resolved
05-07-2011 14:40 | Gyorgy Rethy | Resolution | reopened => fixed
05-07-2011 14:40 | Gyorgy Rethy | Fixed in Version | => Edition 4.3.2 (interim)
17-07-2011 07:28 | Ina Schieferdecker | Note Added: 0010225 |
17-07-2011 07:28 | Ina Schieferdecker | File Added: CR5913_resolution_v4.doc |
17-07-2011 07:28 | Ina Schieferdecker | File Deleted: CR5913_resolution_v4.doc |
17-07-2011 07:28 | Ina Schieferdecker | File Added: CR5913_resolution_v4.doc |
17-07-2011 07:29 | Ina Schieferdecker | Status | resolved => closed

Notes

(0010167)
Jacob Wieland - Spirent
30-06-2011 17:36

I have changed the texts for isvalue, ispresent and ischosen according to our agreement. I have also changed the general relaxation of the restriction to parameters of predefined functions. Please review.

(0010180)
Gyorgy Rethy
01-07-2011 14:02

We don't have "template expression" in the language (no template arithmetics is defined, e.g. what would be the result of (1,2,3)+complement(4,5,6)?). Expressions (that may have value operands only) are a subset of templates (that always result a specific value or an error), but
- any expression is evaluated before calling a predefined function;
- evaluating an expression may cause runtime error further on, e.g.
isvalue(5/0) shall cause a runtime error as division by zero is an error during evaluating the expression (the result of which would become the actual parameter of isvalue if didn't caused an error)
So I changed back "template expressions" to "templates" in the text.

(0010181)
Gyorgy Rethy
01-07-2011 14:44

I have also unified the text among the 3 predefined function using the text from ischosen. See reviewed/amended version in CR5913_resolution_v2.doc

(0010188)
Gyorgy Rethy
01-07-2011 16:39

Correction to the isvalue/omitted optional fields is uploaded in version CR5913_resolution_v3.doc.

(0010191)
Jacob Wieland - Spirent
01-07-2011 16:47

Okay. Can you also align this with the isbound-text?

(0010194)
Gyorgy Rethy
01-07-2011 16:55

I will align this with the isbound CR

(0010225)
Ina Schieferdecker
17-07-2011 07:28

Implemented with small editorial changes, see v4