<!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:20:28 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>0000415: Definition IDs - 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">0000415</td><td class="print">Part 01: TTCN-3 Core Language</td><td class="print">New Feature</td><td class="print">public</td><td class="print">24-11-2006 14:33</td><td class="print">24-04-2008 20:03</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">Stephan Schulz</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">high</td><td class="print-category">Severity</td><td class="print">feature</td><td class="print-category">Reproducibility</td><td class="print">N/A</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">v3.1.1 (published 2005-06)</td><td class="print" colspan="4">&#160;</td></tr><tr><td class="print-category">Target Version</td><td class="print">v3.4.1 (published 2008-09)</td><td class="print-category">Fixed in Version</td><td class="print">v3.4.1 (published 2008-09)</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">-</td></tr><tr class="print"><td class="print-category">Source  (company  - Author)</td><td class="print" colspan="4">dr. György Réthy, Ericsson</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">0000415: Definition IDs</td></tr><tr class="print"><td class="print-category">Description</td><td class="print" colspan="5">In real test activities - especially in basic and function tests - logging and information being logged is one of the most important features. It is of utmost importance to effectively debug the TTCN-3 code, to be absolutely aware of what is happening during test execution and to effectively debug the SUT behaviour. For this reason users are often writing functions that are using TTCN-3 user logs to output the specific information they need. However, some information they want to log is changing dynamically during TTCN-3 code development (e.g. line number of the code generating the actual user log event), while others could be written manually but this is inefficient, inconvenient and is a potential source of errors.<br />
<br />
The purpose of the feature is to introduce special TTCN-3 tokens beginning with a special ASCII character that is not used elsewhere in TTCN-3. The leading character shall be followed by an identifier from a predefined set.<br />
The special tokens shall be substituted with a literal charstring values based on the rules below. <br />
The tokens can appear anywhere in the TTCN-3 code where charstring literals are allowed (in expressions, log() statements, etc.). However, if the given token is not applicable in the corresponding context the compiler shall report an error. Substitution is not performed if the special token is given within a charstring value.<br />
<br />
List of predefined identifiers:<br />
<br />
Identifier Returns	Applicable	(type)<br />
%moduleId  name of the actual TTCN-3 module      everywhere	(compile time)<br />
%fileName  name of the actual TTCN-3 source file everywhere	(compile time)<br />
%lineNumber act. line no. in source code	 everywhere	(compile time)<br />
%definitionId name of function/altstep	 in functions&amp; altsteps	(compile time)<br />
%testcaseId name of the testcase	         everywhere	(runtime)<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"><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR415-DefinitionIDs-Resolution.doc (125,440) <span class="italic">21-04-2008 15:45</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=1422&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR415-DefinitionIDs-Resolution-V2.doc (126,464) <span class="italic">22-04-2008 11:35</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=1426&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR415-DefinitionIDs-Resolution-V3.doc (125,952) <span class="italic">22-04-2008 18:41</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=1435&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR415-DefinitionIDs-Resolution-V4.doc (133,120) <span class="italic">24-04-2008 19:52</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=1456&amp;type=bug</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-11-2006 14:33</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">New Issue</td><td class="print"></td></tr><tr class="print"><td class="print">24-11-2006 14:33</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">Clause Reference(s)</td><td class="print"> =&gt; -</td></tr><tr class="print"><td class="print">24-11-2006 14:33</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">Source  (company  - Author)</td><td class="print"> =&gt; dr. György Réthy, Ericsson</td></tr><tr class="print"><td class="print">24-11-2006 15:03</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">Note Added: 0000331</td><td class="print"></td></tr><tr class="print"><td class="print">15-06-2007 19:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">Status</td><td class="print">new =&gt; assigned</td></tr><tr class="print"><td class="print">15-06-2007 19:13</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a></td><td class="print">Assigned To</td><td class="print"> =&gt; Ina Schieferdecker</td></tr><tr class="print"><td class="print">13-10-2007 19:28</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; Jens Grabowski</td></tr><tr class="print"><td class="print">17-10-2007 16:05</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: 0003669</td><td class="print"></td></tr><tr class="print"><td class="print">18-10-2007 12:06</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.1.1 (not yet published)</td></tr><tr class="print"><td class="print">21-04-2008 15:45</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: 0005477</td><td class="print"></td></tr><tr class="print"><td class="print">21-04-2008 15:45</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens Grabowski</a></td><td class="print">File Added: CR415-DefinitionIDs-Resolution.doc</td><td class="print"></td></tr><tr class="print"><td class="print">21-04-2008 15:46</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; Gyorgy Rethy</td></tr><tr class="print"><td class="print">21-04-2008 19:57</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: 0005483</td><td class="print"></td></tr><tr class="print"><td class="print">21-04-2008 19:59</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; Jens Grabowski</td></tr><tr class="print"><td class="print">22-04-2008 11:35</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: 0005489</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 11:35</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens Grabowski</a></td><td class="print">File Added: CR415-DefinitionIDs-Resolution-V2.doc</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 11:36</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; Gyorgy Rethy</td></tr><tr class="print"><td class="print">22-04-2008 11:37</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: 0005490</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 16:29</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: 0005499</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 16: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">Gyorgy Rethy =&gt; Thomas DeiÃŸ</td></tr><tr class="print"><td class="print">22-04-2008 18:41</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas DeiÃŸ</a></td><td class="print">File Added: CR415-DefinitionIDs-Resolution-V3.doc</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 18:43</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas DeiÃŸ</a></td><td class="print">Note Added: 0005507</td><td class="print"></td></tr><tr class="print"><td class="print">22-04-2008 18:43</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas DeiÃŸ</a></td><td class="print">Assigned To</td><td class="print">Thomas DeiÃŸ =&gt; Ina Schieferdecker</td></tr><tr class="print"><td class="print">23-04-2008 11:50</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">Edition 4.1.1 (not yet published) =&gt; Edition 3.4.1 (not yet published)</td></tr><tr class="print"><td class="print">24-04-2008 19:52</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></td><td class="print">File Added: CR415-DefinitionIDs-Resolution-V4.doc</td><td class="print"></td></tr><tr class="print"><td class="print">24-04-2008 20: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">assigned =&gt; closed</td></tr><tr class="print"><td class="print">24-04-2008 20: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">Resolution</td><td class="print">open =&gt; fixed</td></tr><tr class="print"><td class="print">24-04-2008 20: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">Fixed in Version</td><td class="print"> =&gt; Edition 3.4.1 (not yet published)</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">
				(0000331)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=56">Stephan Schulz</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				24-11-2006 15:03&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				The metainformation name should be generalize to allow user-defined metainfo names.			</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">
				(0003669)
			</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">
				17-10-2007 16:05&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				candidate for a library - deferred to 2008			</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">
				(0005477)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens Grabowski</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				21-04-2008 15:45&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				The attached proposal for resolution considers Definition IDs as preprocessor macros. This means a preprocessor can add the missing information before compilation. Runtime information can not be retrieved with this view. This means, that for example, the testcase ID or a call hierarchie of functions cannot be retrieved by this mechanism.			</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">
				(0005483)
			</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">
				21-04-2008 19:57&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				a) Let __SCOPE__ returns &quot;control&quot; or &quot;&lt;modulename&gt;.control&quot; in control part; think about a logging function that may be called from a function or from a control part by passing __SCOPE__ as an actual parameer. It would be more logical is logs &quot;control&quot;, than just the name of the module the control part is within.<br />
b) Do we need double underscore? Wouldn't it be enough just one, like _SCOPE_?<br />
c) Would be better to call them something else as &quot;preprocessor macros&quot;, though I do not have a good proposal just now.			</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">
				(0005489)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens Grabowski</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				22-04-2008 11:35&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Answer to &lt;module name&gt;.control:<br />
changed in new proposal<br />
<br />
Answer to double underscore question:<br />
No, we do not need a double underscore, but a double underscore is used for the same preprocessing macros in C. Therefore, I have chosen the same notation.<br />
<br />
Answer to name:<br />
I changed to preprocessing macro and explained the meaning of this term. in the beginning of the proposed new annex.			</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">
				(0005490)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=82">Jens Grabowski</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				22-04-2008 11:37&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I forgot: We have to decide if the new annex should become normative or informative.			</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">
				(0005499)
			</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">
				22-04-2008 16:29&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I propose to make it a new mandatory annex (otherwise user cannot count on using it in test suites) - causes that references to shifted informative annexes shall be checked and corrected.			</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">
				(0005507)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas DeiÃŸ</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				22-04-2008 18:43&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				__SCOPE__: &lt;modulename&gt;.control -&gt; control<br />
The reason to have this more consistent with the other scope units (except the module itself), crosschecked with Gyorgy and Jens.<br />
<br />
Otherwise, fine for me.			</td>
		</tr>
		</table>
	</td>
</tr>
</table>
</body>
</html>
