<!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:19:20 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>0005368: [BNF] FromClause is ambiguous and nonsensical - 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">0005368</td><td class="print">Part 01: TTCN-3 Core Language</td><td class="print">Technical</td><td class="print">public</td><td class="print">24-09-2009 14:13</td><td class="print">04-01-2010 13:18</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">Anthony Baire</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">normal</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">won't fix</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.2.1 (published 2010-07)</td><td class="print-category">Fixed in Version</td><td class="print">v4.2.1 (published 2010-07)</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">A.1.6.2.4</td></tr><tr class="print"><td class="print-category">Source  (company  - Author)</td><td class="print" colspan="4">&#160;&#160;&#160;&#160;&#160;</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">0005368: [BNF] FromClause is ambiguous and nonsensical</td></tr><tr class="print"><td class="print-category">Description</td><td class="print" colspan="5">In TTCN-3 v3.3.x the definition of FromClause was updated so as to match the definition of ToClause. I guess the purpose of this is to support multicast operations.<br />
<br />
v3.2  FromClause ::= FromKeyword AddressRef<br />
<br />
v3.3  FromClause ::= FromKeyword ( AddressRef | AddressRefList | AnyKeyword ComponentKeyword )<br />
<br />
<br />
There are three issues with this new definition:<br />
<br />
1. It is ambiguous: in the following example:<br />
&#160;&#160;&#160;<br />
&#160;&#160;&#160;someport.receive (somemessage) -&gt; from (0, 1)<br />
<br />
'(0, 1)' can be interpreted as a value list template in 'AddressRef' (meaning 0 or 1) or as a list of addresses in 'AddressRefList' (meaning 0 and 1)<br />
<br />
<br />
2. 'AddressRefList' is nonsensical: a message cannot have multiple sources<br />
<br />
<br />
3. 'AnyKeyword ComponentKeyword' is superfluous. If the from clause is not present, then the message can be received from any component. The two following instructions are equivalent:<br />
<br />
&#160;&#160;&#160;someport.receive (somemessage)<br />
&#160;&#160;&#160;someport.receive (somemessage) -&gt; from any component<br />
<br />
<br />
For all these reasons we suggest to revert 'FromClause' to its original definition: <br />
<br />
FromClause ::= FromKeyword AddressRef<br />
<br />
</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"></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">24-09-2009 14:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">New Issue</td><td class="print"></td></tr><tr class="print"><td class="print">24-09-2009 14:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Status</td><td class="print">new =&gt; assigned</td></tr><tr class="print"><td class="print">24-09-2009 14:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Assigned To</td><td class="print"> =&gt; Ina Schieferdecker</td></tr><tr class="print"><td class="print">24-09-2009 14:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Clause Reference(s)</td><td class="print"> =&gt; A.1.6.2.4</td></tr><tr class="print"><td class="print">24-09-2009 14:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Source  (company  - Author)</td><td class="print"> =&gt;      </td></tr><tr class="print"><td class="print">07-12-2009 14:21</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 4.2.1 (not yet published)</td></tr><tr class="print"><td class="print">07-12-2009 14:21</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">Description Updated</td><td class="print"></td></tr><tr class="print"><td class="print">08-12-2009 18:00</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: 0009106</td><td class="print"></td></tr><tr class="print"><td class="print">08-12-2009 18:00</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; closed</td></tr><tr class="print"><td class="print">08-12-2009 18:00</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; no change required</td></tr><tr class="print"><td class="print">08-12-2009 18:00</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.2.1 (not yet published)</td></tr><tr class="print"><td class="print">09-12-2009 10:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Status</td><td class="print">closed =&gt; feedback</td></tr><tr class="print"><td class="print">09-12-2009 10:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Resolution</td><td class="print">no change required =&gt; reopened</td></tr><tr class="print"><td class="print">09-12-2009 10:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a></td><td class="print">Note Added: 0009111</td><td class="print"></td></tr><tr class="print"><td class="print">09-12-2009 11:19</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: 0009114</td><td class="print"></td></tr><tr class="print"><td class="print">04-01-2010 13:18</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">feedback =&gt; closed</td></tr><tr class="print"><td class="print">04-01-2010 13:18</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">reopened =&gt; won't fix</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">
				(0009106)
			</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">
				08-12-2009 18:00&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				There is a misunderstanding of the meaning of &quot;AddressRefList&quot; and of &quot;AnyKeyword ComponentKeyword&quot;: it means that a message can be received from an address or from a component that matches the from clause.<br />
<br />
The CR is to be rejected.			</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">
				(0009111)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=261">Anthony Baire</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				09-12-2009 10:30&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				What I mean is that AddressRefList is superfluous here.<br />
<br />
AddressRef is defined as a template (360. AddressRef ::= TemplateInstance) and thus allows matching one source among serveral ones using a list of values (ValueOrAttribList)<br />
<br />
If we can match multiple different sources using AddressRef, then what is the exact purpose of AddressRefList?			</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">
				(0009114)
			</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">
				09-12-2009 11:19&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Your CR touches upon the nature of the BNF ... the BNF includes quite some encodings of static semantics (think e.g. about the identifiers), which makes the BNF as such unparsable. It was a decision right at the beginning to develop the BNF like this, but apparently it is not only hard to implement, but also hard to read now. Anyway, we have to discuss at MTS if or not to do a major revision of the BNF. Till then we evolve the BNF along the original principles.<br />
<br />
Wrt. your comment that &quot;from any component&quot; is the same as having no from clause, you are right. Still there was the decision to enable the explicit specification of that case (vs. to have an implicit specification without the from clause).			</td>
		</tr>
		</table>
	</td>
</tr>
</table>
</body>
</html>
