<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<link rel="stylesheet" type="text/css" href="http://oldforge.etsi.org/mantis/css/default.css" />
	<script type="text/javascript"><!--
		if(document.layers) {document.write("<style>td{padding:0px;}<\/style>")}
	// --></script>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Pragma" content="no-cache" />
	<meta http-equiv="Cache-Control" content="no-cache" />
	<meta http-equiv="Pragma-directive" content="no-cache" />
	<meta http-equiv="Cache-Directive" content="no-cache" />
	<meta http-equiv="Expires" content="Tue, 17 Dec 2024 09:18:36 GMT" />
	<link rel="shortcut icon" href="/mantis/images/favicon.ico" type="image/x-icon" />
	<link rel="search" type="application/opensearchdescription+xml" title="MantisBT: Text Search" href="http://oldforge.etsi.org/mantis/browser_search_plugin.php?type=text" />	<link rel="search" type="application/opensearchdescription+xml" title="MantisBT: Issue Id" href="http://oldforge.etsi.org/mantis/browser_search_plugin.php?type=id" />	<title>0005874: language keyword in module definition allows multiple TTCN-3 version FreeText identifiers. - ETSI's Bug Tracker</title>
<script type="text/javascript" src="/mantis/javascript/min/common.js"></script>
<script type="text/javascript">var loading_lang = "Loading...";</script><script type="text/javascript" src="/mantis/javascript/min/ajax.js"></script>
</head>
<body>
<br /><table class="width100" cellspacing="1"><tr><td class="form-title" colspan="6"><div class="center">ETSI's Bug Tracker - Part 01: TTCN-3 Core Language</div></td></tr><tr><td class="form-title" colspan="6">View Issue Details</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="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="print"><td class="print">0005874</td><td class="print">Part 01: TTCN-3 Core Language</td><td class="print">Clarification</td><td class="print">public</td><td class="print">30-03-2011 14:15</td><td class="print">01-07-2011 17:10</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="print"><td class="print-category">Reporter</td><td class="print">Claude Desroches</td><td class="print" colspan="4">&#160;</td></tr><tr class="print"><td class="print-category">Assigned To</td><td class="print">Ina Schieferdecker</td><td class="print" colspan="4">&#160;</td></tr><tr class="print"><td class="print-category">Priority</td><td class="print">low</td><td class="print-category">Severity</td><td class="print">minor</td><td class="print-category">Reproducibility</td><td class="print">always</td></tr><tr class="print"><td class="print-category">Status</td><td class="print">closed</td><td class="print-category">Resolution</td><td class="print">fixed</td><td class="print" colspan="2">&#160;</td></tr><tr class="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="print"><td class="print-category">Product Version</td><td class="print">v4.1.1 (published 2009-06)</td><td class="print" colspan="4">&#160;</td></tr><tr><td class="print-category">Target Version</td><td class="print">v4.3.2 (interim 2011)</td><td class="print-category">Fixed in Version</td><td class="print">v4.3.2 (interim 2011)</td><td class="print" colspan="2">&#160;</td></tr><tr class="print"><td class="print-category">Clause Reference(s)</td><td class="print" colspan="4">8.1 Definition of a module   and A.1.6.0 TTCN-3 module</td></tr><tr class="print"><td class="print-category">Source  (company  - Author)</td><td class="print" colspan="4">BluKaktus Communications </td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="print"><td class="print-category">Summary</td><td class="print" colspan="5">0005874: language keyword in module definition allows multiple TTCN-3 version FreeText identifiers.</td></tr><tr class="print"><td class="print-category">Description</td><td class="print" colspan="5">TTCN-3 Version 4.2.1<br />
<br />
In 8.1 Definition of a module<br />
<br />
module ModuleIdentifier [ language FreeText { &quot;,&quot; FreeText } ] &quot;{&quot;<br />
[ ModuleDefinitionsPart ]<br />
[ ModuleControlPart ]<br />
&quot;}&quot;<br />
<br />
nothing prevents a user frpm writing something like:<br />
<br />
module myModule language &quot;TTCN-3:2001&quot;, &quot;TTCN-3:2010&quot;, &quot;TTCN-3:2009&quot;<br />
{<br />
<br />
}<br />
<br />
Most tools would probably generate an error, however, it might be better to prevent such things.<br />
<br />
Further if you have two modules, one using &quot;TTCN-3:2001&quot; and the other using<br />
&quot;TTCN-3:2010&quot;, what should happen if you import types from one module into the other? Will language syntax and semantics for the importing module be used or will the syntax and semantics from the imported module be adopted.<br />
<br />
To my knowledge, I don't believe there is any tool on the market which supports multiple versions of TTCN-3 within the same project.<br />
<br />
<br />
Is the following permitted? <br />
module myModule language &quot;TTCN-3:2010&quot;, &quot;TTCN-3:2010&quot;, &quot;TTCN-3:2010&quot;<br />
{<br />
<br />
}<br />
<br />
(from the grammar point of view it is permitted).<br />
<br />
What should happen if one enters: <br />
<br />
module myModule language &quot;TTCN-3:2222&quot;       // or some other illegal value?<br />
{<br />
<br />
}<br />
<br />
There is no information related to processing of the strings and verification of their validity. <br />
<br />
<br />
<br />
What would that actually mean?  <br />
<br />
For a compiler this would likely be impossible to resolve because of possibly conflicts which lie in differing grammar defintions. <br />
<br />
What should a compiler do?  take the first FreeText string or the last one or ignore all of them and choose the current version?<br />
<br />
&#160;<br />
<br />
&quot;TTCN-3:2001&quot; - to be used with modules complying with version 1.1.2 of the present document (see annex H).<br />
&quot;TTCN-3:2003&quot; - to be used with modules complying with version 2.2.1 of the present document (see annex H).<br />
&quot;TTCN-3:2005&quot; - to be used with modules complying with version 3.1.1 of the present document (see annex H).<br />
&quot;TTCN-3:2007&quot; - to be used with modules complying with version 3.2.1 of the present document (see annex H).<br />
&quot;TTCN-3:2008&quot; - to be used with modules complying with version 3.3.2 of the present document (see annex H).<br />
&quot;TTCN-3:2008 Amendment 1&quot; - to be used with modules complying with version 3.4.1 of the present document<br />
(see annex H).<br />
&quot;TTCN-3:2009&quot; - to be used with modules complying with version 4.1.1 of the present document (see annex H).<br />
&quot;TTCN-3:2010&quot; - to be used with modules complying with the present document.</td></tr><tr class="print"><td class="print-category">Steps To Reproduce</td><td class="print" colspan="5"></td></tr><tr class="print"><td class="print-category">Additional Information</td><td class="print" colspan="5">1)  Clarify the text in section 8.1<br />
<br />
2)  Augment the grammar rules 1 - 8 with static semantic rule(s)<br />
&#160;&#160;&#160;&#160;to only allow for one TTCN-3 version in a given module.<br />
<br />
3)  Modify the grammar to limit one to <br />
&#160;&#160;&#160;&#160;a single TTCN-3 version for a given TTCN-3 module (excluding packages)<br />
&#160;&#160;&#160;&#160;Actually, one could consider adding the keyword 'package' followed<br />
&#160;&#160;&#160;&#160;by any valid package or proprietary packages.<br />
<br />
Change:<br />
<br />
module ModuleIdentifier [ language FreeText { &quot;,&quot; FreeText } ] &quot;{&quot;<br />
[ ModuleDefinitionsPart ]<br />
[ ModuleControlPart ]<br />
&quot;}&quot;<br />
<br />
<br />
module ModuleIdentifier <br />
&#160;&#160;[ language FreeText &quot;;&quot; ] <br />
&#160;&#160;[ package  FreeText &quot;,&quot; { FreeText } ] <br />
&quot;{&quot;<br />
[ ModuleDefinitionsPart ]<br />
[ ModuleControlPart ]<br />
&quot;}&quot;<br />
</td></tr><tr class="print"><td class="print-category">Tags</td><td class="print" colspan="5">No tags attached.</td></tr><tr class="print"><td class="print-category">Relationships</td><td class="print" colspan="5"></td></tr><tr class="print"><td class="print-category">Attached Files</td><td class="print" colspan="5"></td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr><td class="form-title">Issue History</td></tr><tr class="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></tr><tr class="print"><td class="print">30-03-2011 14:15</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=676">Claude Desroches</a></td><td class="print">New Issue</td><td class="print"></td></tr><tr class="print"><td class="print">30-03-2011 14:15</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=676">Claude Desroches</a></td><td class="print">Clause Reference(s)</td><td class="print"> =&gt; 8.1 Definition of a module   and A.1.6.0 TTCN-3 module</td></tr><tr class="print"><td class="print">30-03-2011 14:15</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=676">Claude Desroches</a></td><td class="print">Source  (company  - Author)</td><td class="print"> =&gt; BluKaktus Communications </td></tr><tr class="print"><td class="print">24-05-2011 14:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Note Added: 0010014</td><td class="print"></td></tr><tr class="print"><td class="print">24-05-2011 14:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Status</td><td class="print">new =&gt; assigned</td></tr><tr class="print"><td class="print">24-05-2011 14:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Assigned To</td><td class="print"> =&gt; Ina Schieferdecker</td></tr><tr class="print"><td class="print">24-05-2011 19:07</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Target Version</td><td class="print"> =&gt; Edition 4.3.2 (interim)</td></tr><tr class="print"><td class="print">24-05-2011 19:16</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Priority</td><td class="print">normal =&gt; low</td></tr><tr class="print"><td class="print">25-05-2011 15:40</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Note Added: 0010059</td><td class="print"></td></tr><tr class="print"><td class="print">25-05-2011 15:40</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Note Added: 0010060</td><td class="print"></td></tr><tr class="print"><td class="print">25-05-2011 15:41</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">Ina Schieferdecker =&gt; Gyorgy Rethy</td></tr><tr class="print"><td class="print">25-05-2011 15:46</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Note Added: 0010061</td><td class="print"></td></tr><tr class="print"><td class="print">25-05-2011 15:47</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Assigned To</td><td class="print">Gyorgy Rethy =&gt; Ina Schieferdecker</td></tr><tr class="print"><td class="print">25-05-2011 16:02</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Note Added: 0010064</td><td class="print"></td></tr><tr class="print"><td class="print">25-05-2011 16:02</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">assigned =&gt; resolved</td></tr><tr class="print"><td class="print">25-05-2011 16:02</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Resolution</td><td class="print">open =&gt; fixed</td></tr><tr class="print"><td class="print">01-07-2011 17: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">Note Added: 0010195</td><td class="print"></td></tr><tr class="print"><td class="print">01-07-2011 17:10</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">resolved =&gt; closed</td></tr><tr class="print"><td class="print">01-07-2011 17:10</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Fixed in Version</td><td class="print"> =&gt; Edition 4.3.2 (interim)</td></tr></table>
<br />
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		Notes	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010014)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				24-05-2011 14:30&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Add an explicit restriction to clause 8.1, limiting language strings one per core standard version and package. The additional package keyword proposal is not supported.			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010059)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				25-05-2011 15:40&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Proposal to define in 8.1:<br />
<br />
&quot;Restrictions<br />
<br />
In addition to the general static rules of TTCN 3 given in clause 5, the following restrictions apply:<br />
<br />
a)	At most one language string per module should be given to define the language version in which the module is defined.<br />
<br />
b) 	Per extension package, at most one extension package string of that extension package should be used to define its version used by the module.&quot;			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010060)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				25-05-2011 15:40&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Please check.			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010061)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				25-05-2011 15:46&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Rule A should say &quot;core&quot; language; should -&gt; shall:<br />
a) At most one language string per module shall be given to define the core language version in which the module is defined.<br />
b) Per extension package, at most one extension package string of that extension package shall be used by the module.<br />
<br />
(package string do two things: require a given package be supported, defines/requires the version of that package; for this reason &quot;to define its version used &quot; is deleted as was limiting)			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010064)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				25-05-2011 16:02&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				One more minor agreed change:<br />
<br />
&quot;b) Per extension package, at most one extension package string of that extension package shall be used by a module.&quot;			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0010195)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				01-07-2011 17:09&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Implemented as proposed.<br />
<br />
In addition, language tag for v4.3.1 and annex H extended as needed.			</td>
		</tr>
		</table>
	</td>
</tr>
</table>
</body>
</html>
