  

<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">0008017</td>
<td class="print">Part 01: TTCN-3 Core Language</td>
<td class="print">Technical</td>
<td class="print">public</td>
<td class="print">27-04-2021 13:37</td>
<td class="print">01-12-2021 08:25</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">Wolfgang Seka</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Assigned To</td>
<td class="print">Jens Grabowski</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">major</td>
<td class="print-category">Reproducibility</td>
<td class="print">have not tried</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">fixed</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"></td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="odd">
<td class="print-category">Target Version</td>
<td class="print"></td>
<td class="print-category">Fixed in Version</td>
<td class="print"></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">B.1.2.4</td>
<td></td>
</tr>
<tr class="odd print">
<td class="print-category">Source (company - Author)</td>
<td colspan="4" class="print">     Wolfgang - MCC160</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">0008017: Useless restriction for "*"</td>
</tr>
<tr class="even print">
<td class="print-category">Description</td>
<td colspan="5" class="print">B.1.2.4 restricts the use of "*" to
optional fields:<br />
"At the time of matching during a receiving operation, it shall be
applied to optional fields of record and set templates only."<br />
<br />
It seems that there is a compiler even generating a run time error in
case of a mandatory field of a template has assigned a "*", even though
in this case, in contrast to other cases, there is no explicit statement
to raise an error in ES 201 873-1.<br />
In addition it is not clear what the use of such runtime error is and
there seems to be no need to do this.<br />
<br />
=&gt; The above restriction is useless from a user's point of view and
shall be removed.</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"><table data-border="0" width="100%"
data-cellpadding="0" data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print"><span class="nowrap">related to</span> </td>
<td class="print">0008032</td>
<td class="print">closed </td>
<td class="print"><span class="nowrap"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></span> </td>
<td class="print">BNF links and formatting </td>
</tr>
</tbody>
</table></td>
</tr>
<tr class="odd print">
<td class="print-category">Attached Files</td>
<td colspan="5" class="print"><img
src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif"
alt="docx" /> CR8017-1.docx (317,682) <span class="italic">12-11-2021
13:47</span><br />
http://oldforge.etsi.org/mantis/file_download.php?file_id=4060&amp;type=bug<br />
<img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif"
alt="docx" /> CR8017-2.docx (271,889) <span class="italic">12-11-2021
15:29</span><br />
http://oldforge.etsi.org/mantis/file_download.php?file_id=4063&amp;type=bug</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">27-04-2021 13:37</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=455">Wolfgang
Seka</a></td>
<td class="print">New Issue</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">06-09-2021 09:22</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Assigned To</td>
<td class="print">=&gt; Tomas Urban</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">06-09-2021 09:22</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Status</td>
<td class="print">new =&gt; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">09-09-2021 09:31</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Project</td>
<td class="print">TTCN-3 Change Requests =&gt; Part 01: TTCN-3 Core
Language</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">10-09-2021 09:58</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Added: 0015975</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">10-09-2021 10:00</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Edited: 0015975</td>
<td class="print">bug_revision_view_page.php?bugnote_id=15975#r561</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">10-09-2021 12:52</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=1194">sekaw</a></td>
<td class="print">Note Added: 0015977</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">10-09-2021 15:42</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: 0015985</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">08-11-2021 13:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Relationship added</td>
<td class="print">related to 0008067</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">08-11-2021 13:15</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Relationship deleted</td>
<td class="print">related to 0008067</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">10-11-2021 12:18</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: 0016051</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">10-11-2021 13:39</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=1194">sekaw</a></td>
<td class="print">Note Added: 0016054</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">11-11-2021 13:49</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Added: 0016065</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">11-11-2021 13:49</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Edited: 0016065</td>
<td class="print">bug_revision_view_page.php?bugnote_id=16065#r570</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">11-11-2021 13:51</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Edited: 0016065</td>
<td class="print">bug_revision_view_page.php?bugnote_id=16065#r571</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">11-11-2021 14:10</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Edited: 0016065</td>
<td class="print">bug_revision_view_page.php?bugnote_id=16065#r572</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 09:51</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: 0016072</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-11-2021 12:33</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Edited: 0016065</td>
<td class="print">bug_revision_view_page.php?bugnote_id=16065#r575</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 13:47</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">File Added: CR8017-1.docx</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-11-2021 13:48</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Added: 0016079</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 13:48</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Assigned To</td>
<td class="print">Tomas Urban =&gt; Jacob Wieland - Spirent</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-11-2021 13:48</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; confirmed</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 15:29</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">File Added: CR8017-2.docx</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-11-2021 15:29</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">Status</td>
<td class="print">confirmed =&gt; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 15:30</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">Note Added: 0016081</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-11-2021 15:30</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">Assigned To</td>
<td class="print">Jacob Wieland - Spirent =&gt; Tomas Urban</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-11-2021 15:30</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; confirmed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">15-11-2021 07:23</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Note Added: 0016082</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">15-11-2021 07:23</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Status</td>
<td class="print">confirmed =&gt; resolved</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">15-11-2021 07:23</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Resolution</td>
<td class="print">open =&gt; fixed</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">15-11-2021 07:23</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a></td>
<td class="print">Assigned To</td>
<td class="print">Tomas Urban =&gt; Jens Grabowski</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">29-11-2021 11:51</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: 0016128</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">29-11-2021 11:51</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Status</td>
<td class="print">resolved =&gt; confirmed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">30-11-2021 12:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Assigned To</td>
<td class="print">Jens Grabowski =&gt; Axel Rennoch</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">30-11-2021 12:14</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Status</td>
<td class="print">confirmed =&gt; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-12-2021 07:18</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=514">Axel
Rennoch</a></td>
<td class="print">Relationship added</td>
<td class="print">related to 0008032</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-12-2021 07:25</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=514">Axel
Rennoch</a></td>
<td class="print">Note Added: 0016134</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-12-2021 07:25</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=514">Axel
Rennoch</a></td>
<td class="print">Assigned To</td>
<td class="print">Axel Rennoch =&gt; Jens Grabowski</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-12-2021 07:25</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=514">Axel
Rennoch</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; confirmed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-12-2021 08:25</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: 0016139</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-12-2021 08:25</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens
Grabowski</a></td>
<td class="print">Status</td>
<td class="print">confirmed =&gt; closed</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">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">(0015975)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a>   </td>
</tr>
<tr class="odd">
<td class="print">10-09-2021 09:58   <br />
(edited on: 10-09-2021 10:00)</td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">The statements in this CR are not correct. ES 201
873-1 contains a rule that unambiguously restricts the use of the
AnyValueOrNone matching mechanism in B.1.2.4:<br />
<br />
The matching symbol "*" (AnyValueOrNone) is used to indicate that any
valid value and the omission of the given optional field are acceptable.
It can be assigned to templates of any type as a whole or to optional
fields of set or record templates.<br />
<br />
There are also several notes about this behaviour in the section
15.7.2<br />
<br />
In my opinion the CR should be rejected. First, as stated above, there's
a clear and unambiguous rule in the core language specification that
lists all possible assignment targets for this symbol. Mandatory fields
are not listed and therefore cannot be considered to be a valid
assignment target. Second, TTCN-3 language design uses this kind of
restrictions for detecting possible errors early in the compilation
stage or during initialization stage of a testing environment. It also
leads to faster execution of the generated code as mandatory field -&gt;
template(present) assignments can be always considered safe and the TE
doesn't have to verify the content of the source field on the RHS.
Third, there are significant differences in semantic rules for field
referencing between AnyValue and AnyValueOrNone. The latter one produces
errors in most cases which might not be caught by the compiler (in case
of runtime-resolved templates). Such errors are completely unexpected
for mandatory fields.<br />
<br />
However, we could consider to extend the functionality of the present
operator so that it doesn't just check if the template fulfils the
present restriction, but it could also convert AnyValueOrNone to
AnyValue and remove ifpresent extension:<br />
<br />
type record MyTypeMandatory {<br />
  integer field1,<br />
  integer field2<br />
}<br />
<br />
type record MyTypeOpt {<br />
  integer field1 optional,<br />
  integer field2 optional<br />
}<br />
<br />
template MyTypeOpt mw_optional := {<br />
   field1 := *,<br />
   field2 := 10 ifpresent<br />
}<br />
<br />
template MyTypeMandatory mw_mandatory := {<br />
  field1 := present(mw_optional.field1),<br />
  field2 := present(mw_optional.field2)<br />
}<br />
// equal to:<br />
// template MyTypeMandatory mw_mandatory := {<br />
// field1 := ?,<br />
// field2 := 10<br />
//}<br />
<br />
</td>
</tr>
</tbody>
</table></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">(0015977)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=1194">sekaw</a>   </td>
</tr>
<tr class="odd">
<td class="print">10-09-2021 12:52   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">First of all I don't understand why (and have no
sympathy for) you are claiming that "The statements in this CR are not
correct".<br />
The intention of the CR is to remove a - from a user's point of view -
useless rule causing a - from a user's point of view - useless and
annoying runtime error.<br />
I think, even when you don't like it, it is still a valid request
(whether it gets finally agreed is a different story).<br />
<br />
So - the main problem in this case is the runtime error, which does not
bring any benefit to the user (please let me know, if you can give an
example where for this case a runtime error brings a benefit for the
user).<br />
=&gt; As there is no common don't-raise-stupid-runtime-errors rule in
the TTCN-3 core language, the easiest way seems to be to remove the rule
causing the runtime error.<br />
<br />
Please note, that the problem may occur mainly as TTCN writers just
don't care whether a field is optional or mandatory. They just want to
express, that for a particular receive or match operation they don't
care about this field at all.<br />
=&gt; new rules or functionalities will not help anything as the user in
general is not aware that there is any problem at all.<br />
<br />
Of course it may help when a compiler would give a hint at compilation
time to make the user aware of the issue.<br />
But with this we would somehow end up in a
don't-raise-stupid-runtime-errors rule as the compiler may raise a
warning at compilation time to give the TTCN writer the chance for
potential improvements of the code, but the compiler shall not raise a
runtime error.<br />
<br />
Summary: I don't agree to your argumentation and would like to kindly
ask the TTCN maintenance STF to think about a solution to avoid such
costly and annoying runtime errors.</td>
</tr>
</tbody>
</table></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">(0015985)</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">10-09-2021 15:42   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">Sorry, the Mantis notes prepare and document
discussions of the maintenance team. Decisions regarding further study,
acceptance or rejection of CRs are made by the whole team. We are very
thankful for every comment and clarification during our discussions from
outside the team, e.g., reporter or observer, and will consider them
during our discussions. The impression that one person can decide is
wrong.<br />
<br />
For this CR, the TTF discussed the topic in detail and decided to
examine the reasons for the introduction of the restriction in more
detail. The TTF will then discus ways of relaxing or even removing the
restriction.</td>
</tr>
</tbody>
</table></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">(0016051)</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">10-11-2021 12:18   </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">STF disussion: Introduce proposal for ".present"
operation which yields a template with a present restriction from any
template. I.e., "*.present" will be interpreted as "?".</td>
</tr>
</tbody>
</table></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">(0016054)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=1194">sekaw</a>   </td>
</tr>
<tr class="odd">
<td class="print">10-11-2021 13:39   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">First of all please note, that we are currently in the
middle of a RAN5 meeting so that I'm not able to check all details, but
so far I don't see how another operation helps anything in this
case:<br />
The major problem is, that "*" may unintendedly be used as parameter for
a mandatory field, what is not detected by any tool at compilation time
but nevertheless causes a - in my opinion useless - runtime error with
some compiler.<br />
<br />
=&gt; I don't see how another operation could solve this problem.<br />
NOTE: If we are aware that we are using "*" where "?" would be more
appropriate we could easily change it (without any further
operation)<br />
Only in cases where in first place it is not known whether a parameter
results in "*" or "?" the operation may help, but only if people are
aware that they need to use to operation (what most likely is not the
case =&gt; we still end up with a useless run-time error).</td>
</tr>
</tbody>
</table></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">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">(0016065)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a>   </td>
</tr>
<tr class="odd">
<td class="print">11-11-2021 13:49   <br />
(edited on: 12-11-2021 12:33)</td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">Unfortunately this is a case of a bad language design.
At the moment, TTCN-3 disallows certain content in mandatory fields, but
assignments described by Wolfgang are not restricted (i.e. assignment of
an unrestricted template to a mandatory field, assignment of an optional
field to a mandatory field). This leads to runtime errors which are hard
to notice in the design stage and very annoying. TTCN-3 has quite
elaborate rules for the present restriction, but these unfortunately do
not apply in these cases.<br />
<br />
In my opinion, there are just three options how to resolve this:<br />
<br />
1. All mandatory fields shall have an implicit present restriction and
then the rules specified in 15.8 would apply (according to the table
13). This feature would allow to detect (potential) issues already
during compilation time and the test case designer would be forced to
use either an explicit present() operation (15.13) to verify the content
or the new .present operation for removing optionality from the
template, depending on what their intentions are. On the minus side,
this will require modification of existing test suites and the existing
functionality would be just deprecated, causing only warnings in most
compilers working in the default mode for a certain period of
time.<br />
<br />
2. Allow assignment of matching mechanisms that match omit to mandatory
fields without any restrictions as Wolfgang proposed. However, it is not
as easy as it might seem. This option would lead to situations when the
"omit" symbol could be accidentaly assigned to mandatory fields in the
same way as * gets there in the described case. This would make the
template unusable (as it can never match) and cause trouble with the
valueof operation (which would require a new rule for handling this
case). This issue could be prevented by specifically disallowing
assignment of the "omit" symbol, but that would mean that the issue with
hard-to-detect error would prevail (though in a reduced form). Besides,
a new rule should be added to the section for referencing template
fields so that AnyValueOrNone is treated as AnyValue if assigned to a
mandatory field.<br />
<br />
3. The TE could also perform an implicit .present conversion in this
case (maybe issuing a compiler warning). Compared to the 2nd solution,
nothing would have to be added to the section on template field
references, but the issue with omit causing a runtime error would be the
same. In addition to that, such an operation would be connected with
information loss and people usually prefer explicit approach in these
cases.<br />
<br />
Unfortunately all approaches have some issues and are more or less
backwards incompatible. That makes things quite complicated as tool
providers and test developers have different preferences. I propose to
discuss it again in the next TTF meeting. I personally think we should
not leave it as it is, because the problem is real and affects quite
many people. Wolfgang, please feel free to comment, we appreciate your
input.<br />
<br />
</td>
</tr>
</tbody>
</table></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">(0016072)</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">12-11-2021 09:51   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">TTF discussion: After a longer discussion, the TTF
will focus on option 1. Option 1 allows to detect the issue at compile
or validation time and the .present operation allows explicit
conversion. Note, deprecation means that the current features is still
available for a certain period of time.<br />
<br />
Reason for not supporting Option 2: It would be unclear what will be the
contents of a mandatory field in a template, i.e., if it would be
present or not. The problem will be shifted to a later assignment.<br />
<br />
Reason for not supporting Option 3: Implicit conversion should not be
introduced here as all other conversions are explicit.</td>
</tr>
</tbody>
</table></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">(0016079)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a>   </td>
</tr>
<tr class="odd">
<td class="print">12-11-2021 13:48   </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">Resolution uploaded. Please check.</td>
</tr>
</tbody>
</table></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">(0016081)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a>   </td>
</tr>
<tr class="odd">
<td class="print">12-11-2021 15:30   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">just a small change as a sentence was grammatically
incorrect. please check if my change reflects your intended meaning (in
the section about implicit restrictions)<br />
<br />
please review</td>
</tr>
</tbody>
</table></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">(0016082)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas
Urban</a>   </td>
</tr>
<tr class="odd">
<td class="print">15-11-2021 07:23   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">Thanx for the correction.<br />
<br />
The last version of the proposal (CR8017-2.docx) can be added to the
next version of the core language specification.</td>
</tr>
</tbody>
</table></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">(0016128)</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">29-11-2021 11:51   </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">BNF needs to be checked.</td>
</tr>
</tbody>
</table></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">(0016134)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=514">Axel
Rennoch</a>   </td>
</tr>
<tr class="odd">
<td class="print">01-12-2021 07:25   </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">BNF changes in CR 8017 have been implemented in
CR0008031+32_Core-Language-without-CR7910-r1.docx</td>
</tr>
</tbody>
</table></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">(0016139)</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">01-12-2021 08:25   </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">Implemented</td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
