  

<table class="width100" style="width:100%;" data-cellspacing="1">
<colgroup>
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
</colgroup>
<tbody>
<tr class="odd">
<td colspan="6" class="form-title"><div class="center">
ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
</div></td>
</tr>
<tr class="even">
<td colspan="6" class="form-title">View Issue Details</td>
</tr>
<tr class="odd">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="even print-category">
<td class="print" width="16%">ID</td>
<td class="print" width="16%">Project</td>
<td class="print" width="16%">Category</td>
<td class="print" width="16%">View Status</td>
<td class="print" width="16%">Date Submitted</td>
<td class="print" width="16%">Last Update</td>
</tr>
<tr class="odd print">
<td class="print">0002139</td>
<td class="print">Part 01: TTCN-3 Core Language</td>
<td class="print">Technical</td>
<td class="print">public</td>
<td class="print">12-10-2007 16:14</td>
<td class="print">12-03-2008 10:27</td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd print">
<td class="print-category">Reporter</td>
<td class="print">Roland Gecse</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Assigned To</td>
<td class="print">Thomas DeiÃŸ</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="odd print">
<td class="print-category">Priority</td>
<td class="print">normal</td>
<td class="print-category">Severity</td>
<td class="print">minor</td>
<td class="print-category">Reproducibility</td>
<td class="print">N/A</td>
</tr>
<tr class="even print">
<td class="print-category">Status</td>
<td class="print">closed</td>
<td class="print-category">Resolution</td>
<td class="print">won't fix</td>
<td colspan="2" class="print"> </td>
</tr>
<tr class="odd print">
<td class="print-category">Platform</td>
<td class="print"></td>
<td class="print-category">OS</td>
<td class="print"></td>
<td class="print-category">OS Version</td>
<td class="print"></td>
</tr>
<tr class="even print">
<td class="print-category">Product Version</td>
<td class="print">v3.2.1 (published 2007-02)</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="odd">
<td class="print-category">Target Version</td>
<td class="print">v3.3.2 (published 2008-04)</td>
<td class="print-category">Fixed in Version</td>
<td class="print">v3.3.2 (published 2008-04)</td>
<td colspan="2" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Clause Reference(s)</td>
<td colspan="4" class="print">6.2, C.29</td>
<td></td>
</tr>
<tr class="odd print">
<td class="print-category">Source (company - Author)</td>
<td colspan="4" class="print">L.M.Ericsson</td>
<td></td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd print">
<td class="print-category">Summary</td>
<td colspan="5" class="print">0002139: Forbid partial values in
initializers</td>
</tr>
<tr class="even print">
<td class="print-category">Description</td>
<td colspan="5" class="print">TTCN-3 allows for leaving certain elements
of structured type values undefined at initialization. There are three
cases when this can happen:<br />
<br />
1) Excluding certain elements when using the value assignment notation,
e.g.:<br />
<br />
type record r { integer i optional, boolean b };<br />
var r v_r1 := { b := true };<br />
<br />
2) Explicitly marking the omission of some elements using the not used
symbol in value assignment notation, e.g.:<br />
<br />
var r v_r2 := { a := -, b := true };<br />
<br />
3) Specifying undefined elements with the not used symbol in value list
notation, e.g.:<br />
<br />
var r v_r3 := { -, true };<br />
<br />
Cases 1-3 result partial values, which are incomplete because these
contain an unbound element.<br />
<br />
The recommendation is to forbid users to create partial values
deliberately. Partial values should only be accepted as a consequence of
some operations (e.g. indexing, assignment).<br />
<br />
Reasoning:<br />
<br />
A) De-referring a partial value is illegal and should cause error. For
successful execution the missing unbound element must be set to contain
some valid value anyway. The entire value content could be set at that
time w/o the need of a partially pre-initialized value.<br />
<br />
B) If using partial value cannot be avoided -- with serious doubts if
this could happen at all -- the user could still use assignments to set
those fields, which need to have some value. E.g.:<br />
<br />
var r v_r4;<br />
v_r4.b := true; // partial value as consequence of assignment -&gt;
ok<br />
<br />
C) Incomplete values raise some issues related to other language
constructions, such as sizeof, too. According to section C.29 the
unbound value at the end of a record of/set of value does not count into
the length, e.g.:<br />
<br />
type record of integer roi;<br />
var roi v1 := {1}, v2 := {1,-}, v3 := {1,-,-};<br />
<br />
What is the relationship between v1, v2 and v3? Are these all
equal?<br />
Yes? Why do we have the not used symbols at the end?<br />
No? Don't these all have the same length and elements?<br />
<br />
I believe it would be very beneficial to cut this feature from TTCN-3 as
it contributes to bad programming practices.</td>
</tr>
<tr class="odd print">
<td class="print-category">Steps To Reproduce</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="even print">
<td class="print-category">Additional Information</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="odd print">
<td class="print-category">Tags</td>
<td colspan="5" class="print">No tags attached.</td>
</tr>
<tr class="even print">
<td class="print-category">Relationships</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="odd print">
<td class="print-category">Attached Files</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="form-title">Issue History</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="even print-category">
<td class="row-category-history">Date Modified</td>
<td class="row-category-history">Username</td>
<td class="row-category-history">Field</td>
<td class="row-category-history">Change</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-10-2007 16:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=262">Roland
Gecse</a></td>
<td class="print">New Issue</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-10-2007 16:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=262">Roland
Gecse</a></td>
<td class="print">Clause Reference(s)</td>
<td class="print">=&gt; 6.2, C.29</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-10-2007 16:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=262">Roland
Gecse</a></td>
<td class="print">Source (company - Author)</td>
<td class="print">=&gt; L.M.Ericsson</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">13-10-2007 19:03</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Status</td>
<td class="print">new =&gt; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">13-10-2007 19:03</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Assigned To</td>
<td class="print">=&gt; developer_u</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">17-10-2007 12:41</td>
<td class="print">user10</td>
<td class="print">Assigned To</td>
<td class="print">developer_u =&gt; Thomas DeiÃŸ</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">18-10-2007 12:09</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Target Version</td>
<td class="print">=&gt; Edition 3.3.1 (not yet published)</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">03-12-2007 12:38</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Note Added: 0004228</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">04-12-2007 16:59</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; closed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">04-12-2007 16:59</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Resolution</td>
<td class="print">open =&gt; won't fix</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-03-2008 10:27</td>
<td class="print">user10</td>
<td class="print">Fixed in Version</td>
<td class="print">=&gt; Edition 3.3.2 (not yet published)</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-03-2008 10:27</td>
<td class="print">user10</td>
<td class="print">Target Version</td>
<td class="print">Edition 3.3.1 --will not be published, see 3.3.2 =&gt;
Edition 3.3.2 (not yet published)</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>

  

<table class="width100" data-cellspacing="1">
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="odd">
<td colspan="2" class="form-title">Notes</td>
</tr>
<tr class="even">
<td colspan="2" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="nopad" data-valign="top" width="20%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">(0004228)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a>   </td>
</tr>
<tr class="odd">
<td class="print">03-12-2007 12:38   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">Nothing shall change. The CR will be rejected.</td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
