<!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:17:44 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>0005224: Introducing dual faced ports - 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 - Ext Pack: Config &amp; Deployment Support (ES 202 781)</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">0005224</td><td class="print">Ext Pack: Config &amp; Deployment Support (ES 202 781)</td><td class="print">New Feature</td><td class="print">public</td><td class="print">03-06-2009 10:22</td><td class="print">14-05-2013 15:24</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">Gyorgy Rethy</td><td class="print" colspan="4">&#160;</td></tr><tr class="print"><td class="print-category">Assigned To</td><td class="print">Jens Grabowski</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">have not tried</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"></td><td class="print" colspan="4">&#160;</td></tr><tr><td class="print-category">Target Version</td><td class="print">v1.2.1 (published 2013-06)</td><td class="print-category">Fixed in Version</td><td class="print">v1.2.1 (published 2013-06)</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">new</td></tr><tr class="print"><td class="print-category">Source  (company  - Author)</td><td class="print" colspan="4">L.M.Ericsson</td></tr><tr class="print"><td class="print-category">TS version</td><td class="print" colspan="4"></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">0005224: Introducing dual faced ports</td></tr><tr class="print"><td class="print-category">Description</td><td class="print" colspan="5">Real testing projects very oftem meats the problem that the same ATS shall be used in different test environments, i.e. the SUT is embedded in a simulated HW/OS environment during functional testing and using the real HW/OS in integration testing. These test environments normally require different adapters and most often even the adapter interface (TTCN-3 ports) does differ. A similar situation arise, when the same message sequence has to be moved from one type of interface to another (e.g. from MTP to SCTP). Today, to prevent re-writing the test cases themselves, so called mapping components are used. Mapping components are receiving messages from the &quot;behaviour&quot; components on their &quot;upper&quot; ports, map the information to the &quot;down&quot; port type and sends them; and vice versa in the opposite direction. This approach has several problems: in complex systems, where the number of &quot;behaviour&quot; TCs is n*10, it boosts the number of test components; this increases development and maintenance cost; complicates debugging and log analysis by producing a lots of extra logs.<br />
<br />
The proposal is to introduce &quot;dual faced&quot; TTCN-3 test ports, where the &quot;upper&quot; port definition is the one seen by TTCN-3 connect, map and communication operations, and the &quot;down&quot; port is the one seen by the adaptor. If the two differ, a set of conversion functions shall be defined that makes the mapping between the types in the upper and down ports. These functions are called implicitly by the TE at receving/sending operations. </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"><table border="0" width="100%" cellpadding="0" cellspacing="1"><tr><td class="print"><span class="nowrap">related to</span>&#160;</td><td class="print">0005417</td><td class="print">closed&#160;</td><td class="print"><span class="nowrap"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina Schieferdecker</a></span>&#160;</td><td class="print">Part 01: TTCN-3 Core Language&#160;</td><td class="print">Support of parametrized map/unmap operation for full dynamic mapping&#160;</td></tr></table></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/text.gif" alt="txt" />&#160;CR 5224 proposal.txt (6,461) <span class="italic">01-09-2010 09:55</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2420&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/text.gif" alt="txt" />&#160;CR 5224.txt (7,722) <span class="italic">01-12-2010 16:30</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2459&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR_5224-proposal.doc (1,868,288) <span class="italic">28-09-2011 16:06</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2569&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/zip.gif" alt="zip" />&#160;CR_5224-proposal_v2.zip (675,597) <span class="italic">29-11-2011 15:28</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2609&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/zip.gif" alt="zip" />&#160;CR_5224-proposal_v3.zip (662,682) <span class="italic">30-11-2011 17:07</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2625&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v4.docx (950,480) <span class="italic">01-12-2011 09:32</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2633&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v5.docx (878,561) <span class="italic">01-12-2011 09:53</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2634&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v6.docx (976,987) <span class="italic">10-08-2012 14:48</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2721&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v6_BNFmodified.docx (36,809) <span class="italic">10-12-2012 11:03</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2756&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v7.docx (997,629) <span class="italic">10-12-2012 16:05</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2760&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v8_delta.docx (72,080) <span class="italic">12-12-2012 15:24</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2773&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v9_delta.docx (129,295) <span class="italic">13-12-2012 08:35</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2776&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v10.docx (138,537) <span class="italic">13-12-2012 17:54</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2777&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="docx" />&#160;CR_5224-proposal_v11.docx (78,102) <span class="italic">18-12-2012 16:20</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=2788&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">03-06-2009 10:22</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">New Issue</td><td class="print"></td></tr><tr class="print"><td class="print">03-06-2009 10:22</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">03-06-2009 10:22</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">03-06-2009 10:22</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Clause Reference(s)</td><td class="print"> =&gt; new</td></tr><tr class="print"><td class="print">03-06-2009 10:22</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Source  (company  - Author)</td><td class="print"> =&gt; L.M.Ericsson</td></tr><tr class="print"><td class="print">09-12-2009 13: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">Note Added: 0009117</td><td class="print"></td></tr><tr class="print"><td class="print">09-12-2009 13:53</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 5.1.1 (not yet published)</td></tr><tr class="print"><td class="print">04-01-2010 13: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">Relationship added</td><td class="print">related to 0005417</td></tr><tr class="print"><td class="print">22-03-2010 17:21</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">Ina Schieferdecker =&gt; </td></tr><tr class="print"><td class="print">22-03-2010 17:21</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">assigned =&gt; new</td></tr><tr class="print"><td class="print">23-03-2010 12:55</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; Jacob Wieland - Spirent</td></tr><tr class="print"><td class="print">23-03-2010 12:55</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">23-03-2010 12:55</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">23-03-2010 16:06</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: 0009266</td><td class="print"></td></tr><tr class="print"><td class="print">24-03-2010 18:34</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: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">24-03-2010 18:37</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: 0009290</td><td class="print"></td></tr><tr class="print"><td class="print">24-03-2010 18:37</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; feedback</td></tr><tr class="print"><td class="print">24-03-2010 20:16</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 Deleted: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">24-03-2010 20:16</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">feedback =&gt; assigned</td></tr><tr class="print"><td class="print">25-03-2010 00:24</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: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">25-03-2010 00:25</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; feedback</td></tr><tr class="print"><td class="print">25-03-2010 08:16</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 Deleted: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">25-03-2010 08:27</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: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">26-03-2010 09:39</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">feedback =&gt; assigned</td></tr><tr class="print"><td class="print">26-03-2010 09:40</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: 0009320</td><td class="print"></td></tr><tr class="print"><td class="print">01-07-2010 09:55</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: 0009442</td><td class="print"></td></tr><tr class="print"><td class="print">01-07-2010 11:31</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: 0009447</td><td class="print"></td></tr><tr class="print"><td class="print">01-09-2010 09:54</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 Deleted: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">01-09-2010 09:55</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: CR 5224 proposal.txt</td><td class="print"></td></tr><tr class="print"><td class="print">01-09-2010 11:05</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: 0009670</td><td class="print"></td></tr><tr class="print"><td class="print">02-09-2010 14:13</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: 0009699</td><td class="print"></td></tr><tr class="print"><td class="print">02-09-2010 18:13</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: 0009703</td><td class="print"></td></tr><tr class="print"><td class="print">03-09-2010 10:59</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: 0009707</td><td class="print"></td></tr><tr class="print"><td class="print">03-09-2010 11:03</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 Edited: 0009707</td><td class="print"></td></tr><tr class="print"><td class="print">03-09-2010 11:10</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 Edited: 0009699</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2010 16:22</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: 0009833</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2010 16:28</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: 0009834</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2010 13:23</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: 0009841</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2010 16: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">File Added: CR 5224.txt</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2010 16:31</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: 0009902</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2010 16:31</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; Gyorgy Rethy</td></tr><tr class="print"><td class="print">03-12-2010 10:15</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Project</td><td class="print">Part 01: TTCN-3 Core Language =&gt; Ext Pack: Config &amp; Deployment Support (ES 202 781)</td></tr><tr class="print"><td class="print">03-12-2010 10:17</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">Edition 4.3.1 (not yet published) =&gt; v1.2.2</td></tr><tr class="print"><td class="print">27-09-2011 14: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">v1.2.2 (interim) =&gt; v1.3.1</td></tr><tr class="print"><td class="print">28-09-2011 16:06</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: CR_5224-proposal.doc</td><td class="print"></td></tr><tr class="print"><td class="print">28-09-2011 16:09</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: 0010283</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 14:50</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v2.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 14:55</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Deleted: CR_5224-proposal_v2.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15:08</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: 0010404</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15:22</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 Edited: 0010404</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15:23</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v2.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15:28</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Deleted: CR_5224-proposal_v2.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15:28</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v2.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 15: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">Assigned To</td><td class="print">Gyorgy Rethy =&gt; Jacob Wieland - Spirent</td></tr><tr class="print"><td class="print">29-11-2011 18:16</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: CR_5224-proposal_v3.doc</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 18:17</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 Deleted: CR_5224-proposal_v3.doc</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 18:17</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: CR5347_resolution_v3.zip</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 18:20</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: 0010406</td><td class="print"></td></tr><tr class="print"><td class="print">29-11-2011 18:20</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; Gyorgy Rethy</td></tr><tr class="print"><td class="print">30-11-2011 13:47</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 Deleted: CR5347_resolution_v3.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 13:47</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: CR_5224-proposal_v3.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 14:01</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">Gyorgy Rethy =&gt; Jacob Wieland - Spirent</td></tr><tr class="print"><td class="print">30-11-2011 17:05</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 Deleted: CR_5224-proposal_v3.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 17:07</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: CR_5224-proposal_v3.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 19:06</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: CR_5224-proposal_v4.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 19:15</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 Deleted: CR_5224-proposal_v4.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 19:17</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: CR_5224-proposal_v5.zip</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 19:17</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: 0010453</td><td class="print"></td></tr><tr class="print"><td class="print">30-11-2011 19:18</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; Gyorgy Rethy</td></tr><tr class="print"><td class="print">01-12-2011 09:32</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v4.docx</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2011 09:32</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Deleted: CR_5224-proposal_v5.zip</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2011 09:33</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: 0010457</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2011 09:53</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: 0010459</td><td class="print"></td></tr><tr class="print"><td class="print">01-12-2011 09:53</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v5.docx</td><td class="print"></td></tr><tr class="print"><td class="print">11-07-2012 09:26</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">13-07-2012 09:35</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">Jens Grabowski =&gt; Tomas Urban</td></tr><tr class="print"><td class="print">13-07-2012 10:33</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: 0010911</td><td class="print"></td></tr><tr class="print"><td class="print">10-08-2012 14: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">File Added: CR_5224-proposal_v6.docx</td><td class="print"></td></tr><tr class="print"><td class="print">10-08-2012 14:50</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: 0011034</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 11:03</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v6_BNFmodified.docx</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 11:06</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: 0011203</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 16:05</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: CR_5224-proposal_v7.docx</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 16:18</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: 0011208</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 17: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">Note Added: 0011211</td><td class="print"></td></tr><tr class="print"><td class="print">10-12-2012 17: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">Assigned To</td><td class="print">Tomas Urban =&gt; Gyorgy Rethy</td></tr><tr class="print"><td class="print">11-12-2012 09:17</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: 0011212</td><td class="print"></td></tr><tr class="print"><td class="print">11-12-2012 11:02</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: 0011217</td><td class="print"></td></tr><tr class="print"><td class="print">11-12-2012 12:35</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: 0011219</td><td class="print"></td></tr><tr class="print"><td class="print">11-12-2012 12:35</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: 0011219</td><td class="print"></td></tr><tr class="print"><td class="print">12-12-2012 15:24</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v8_delta.docx</td><td class="print"></td></tr><tr class="print"><td class="print">12-12-2012 15:26</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: 0011246</td><td class="print"></td></tr><tr class="print"><td class="print">12-12-2012 15:26</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; Tomas Urban</td></tr><tr class="print"><td class="print">13-12-2012 08:35</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: CR_5224-proposal_v9_delta.docx</td><td class="print"></td></tr><tr class="print"><td class="print">13-12-2012 08:50</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: 0011251</td><td class="print"></td></tr><tr class="print"><td class="print">13-12-2012 08: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">Assigned To</td><td class="print">Tomas Urban =&gt; Gyorgy Rethy</td></tr><tr class="print"><td class="print">13-12-2012 12:22</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: 0011252</td><td class="print"></td></tr><tr class="print"><td class="print">13-12-2012 17:53</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: 0011258</td><td class="print"></td></tr><tr class="print"><td class="print">13-12-2012 17:54</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: CR_5224-proposal_v10.docx</td><td class="print"></td></tr><tr class="print"><td class="print">18-12-2012 16:19</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: 0011284</td><td class="print"></td></tr><tr class="print"><td class="print">18-12-2012 16:20</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR_5224-proposal_v11.docx</td><td class="print"></td></tr><tr class="print"><td class="print">18-12-2012 16:21</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">18-12-2012 16:21</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">low =&gt; normal</td></tr><tr class="print"><td class="print">18-12-2012 16:21</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">assigned =&gt; resolved</td></tr><tr class="print"><td class="print">18-12-2012 16:21</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Fixed in Version</td><td class="print"> =&gt; v1.2.1 (ongoing)</td></tr><tr class="print"><td class="print">14-05-2013 15:24</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">resolved =&gt; closed</td></tr><tr class="print"><td class="print">14-05-2013 15:24</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: 0011438</td><td class="print"></td></tr><tr class="print"><td class="print">14-05-2013 15:24</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Resolution</td><td class="print">open =&gt; fixed</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">
				(0009117)
			</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 13:52&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Wait for concrete proposal and hence moved to 2010.			</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">
				(0009266)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				23-03-2010 16:06&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I think to solve this issue at the TTCN-3 language level is the wrong way. The right place to solve this problem is by use of different test adaptations for the different scenarios.<br />
<br />
In one scenario, the same mapped port is adapted by an implementation that converts the sent value to a different protocol before sending it to one real-system port, while in another scenario, it is not converted and sent to a different real-system port. In the TTCN-3 code, this is totally transparent and no conversion functions are needed and no intermediate components in TTCN-3, either.			</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">
				(0009290)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				24-03-2010 18:37&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				added a proposal text to be discussed			</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">
				(0009320)
			</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">
				26-03-2010 09:40&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				status feedback shall only be used when we are waiting for an external feedback.			</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">
				(0009442)
			</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">
				01-07-2010 09:55&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Real-life use cases, coming from everyday practice:<br />
<br />
1) User tests something above TCP transport and obviously using a TCP adapter. His/her test cases and test data are using the ASPs of the TCP adapter. Then the SUT changes and he/she has to execute the same test cases using e.g. SCTP transport. The SCTP adapter has different ASPs defined than the TCP adapter. In this case the mapping between the two sets of ASPs could be done in a dual-faced port, instead of re-writing the already verified and running test cases.<br />
2) Protocol A carries encoded messages of protocol B, for example a web application carried by SOAP carried by HTTP over TCP. The user is testing the application but from the point of view of the test system, HTTP (or SOAP in case of an HTTP adapter) is the &quot;upper layer protocol&quot;, CD will encode/decode only HTTP (or SOAP) messages but not the Application messages. This means that from the point of view of the user no matching is possible by a receive statement (as he/she wants to match the Application messages, which are embedded in an encoded form in the received SOAP or HTTP messages). Dual-faced ports it can handle the whole encoding/decoding chain, i.e. mapping Application ASPs to SOAP/HTTP ASPs and calling external functions for message encoding/decoding, thus the user would be able to send/receive the Application messages directly in his/her test case code.<br />
<br />
This means the dual-faced ports shall not only define the two sets of interfaces between the inner and the outer port but also the type mapping (which inner port ASP/message maps to which outer port ASP/message) and also the functions that makes the mapping. The function is needed to allow the user to write them in TTCN-3 (would be a natural choice for a tester using TTCN-3 anyway) and be able to make static and dynamic checking.			</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">
				(0009447)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				01-07-2010 11:31&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				The type-mapping is implicitly given by the mapping-functions. Via the restrictions on the set of functions, the mapping is unambiguous.			</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">
				(0009670)
			</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">
				01-09-2010 11:05&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Yes, can be done in the proposed way. I still have the problem that I do not think that this mapping should be done in TTCN-3 itself. Wouldn't it be enough to be able to select different kinds of adapters/coders/decoders?			</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">
				(0009699)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				02-09-2010 14:13&#160;&#160;&#160;
				<br />(edited on:&#32;03-09-2010 11:10)			</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				To solve the dual-faced port problem with the n-to-m message problem could also be done in the following way by some filtering attribute on port types.<br />
<br />
Just the semantics, not an actual syntax proposal:<br />
<br />
// Taken a type definition like this:<br />
<br />
type record TCPPacket { <br />
&#160;&#160;...<br />
&#160;&#160;octetstring content<br />
&#160;&#160;...<br />
}<br />
<br />
// we could declare the following:<br />
<br />
type port FilteredHTTPPort message filtered { <br />
&#160;&#160;in HTTP |&gt; tcpInFilter; // filtered by tcpInFilter<br />
&#160;&#160;out HTTP |&gt; tcpOutFilter; // filtered by tcpOutFilter<br />
}<br />
<br />
function tcpInFilter(in bitstring input, out bitstring output) <br />
return integer // number of bits decoded<br />
{<br />
&#160;&#160;if (transport == tcp) { // switch tcp transport on or off<br />
&#160;&#160;&#160;&#160;var integer inputLen := lengthof(input);<br />
&#160;&#160;&#160;&#160;var TCPPacket tcpPacket;<br />
&#160;&#160;&#160;&#160;if (decvalue(input, tcpPacket) == 0) {<br />
&#160;&#160;&#160;&#160;&#160;&#160;output := oct2bit(tcpPacket.content);<br />
&#160;&#160;&#160;&#160;&#160;&#160;return inputLen - lengthof(input);<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;else {<br />
&#160;&#160;&#160;&#160;&#160;&#160;return 0; // 0 bits have been decoded because of error or not enough input<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;}<br />
&#160;&#160;else { // not filtered, just relay<br />
&#160;&#160;&#160;&#160;output := input;<br />
&#160;&#160;&#160;&#160;return lengthof(input);<br />
&#160;&#160;}<br />
} <br />
<br />
function tcpOutFilter(in bitstring input, out bitstring output) <br />
return integer // number of bits read from the input<br />
{<br />
&#160;&#160;if (transport == tcp) {<br />
&#160;&#160;&#160;&#160;var TCPPacket tcpPacket;<br />
&#160;&#160;&#160;&#160;var integer len := packIntoTCPPacket(input, tcpPacket);<br />
&#160;&#160;&#160;&#160;if (len &gt; 0) {<br />
&#160;&#160;&#160;&#160;&#160;&#160;output := encvalue(tcpPacket);<br />
&#160;&#160;&#160;&#160;&#160;&#160;return len;<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;else {<br />
&#160;&#160;&#160;&#160;&#160;&#160;return 0;<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;} <br />
&#160;&#160;else { // not filtered, just relay<br />
&#160;&#160;&#160;&#160;output := input;<br />
&#160;&#160;&#160;&#160;return lengthof(input);<br />
&#160;&#160;}<br />
}<br />
<br />
function packIntoTCPPacket(in bitstring input, out TCPPacket tcpPacket) <br />
return integer // number of bits put into the packet <br />
{<br />
&#160;&#160;if (isLongEnoughInput(input) {<br />
&#160;&#160;&#160;&#160;tcpPacket := { ... }; // wrap some of the input into a TCP packet<br />
&#160;&#160;&#160;&#160;return lengthof(oct2bit(tcpPacket.content));<br />
&#160;&#160;} <br />
&#160;&#160;else {<br />
&#160;&#160;&#160;&#160;return 0;<br />
&#160;&#160;}<br />
} <br />
<br />
<br />
The semantics would be that whenever data arrive from the test system, the in-filter function is invoked on the accumulated bitstring and if it returns a filtered bit number &gt; 0, the output of the function is actually enqueued in the port queue.<br />
<br />
The reverse is true for sending, the encoded HTTP message is appended to the accumulated output bitstring and the output-filter function is invoked on that bitstring as many times as the result is &gt; 0. The intermediary results are the messages actually sent to the SUT.<br />
<br />
			</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">
				(0009703)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				02-09-2010 18:13&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				The extended proposal from Gyorgy in the TCP/HTTP example would look like this:<br />
<br />
given the following types:<br />
<br />
type record HTTP { ... }<br />
type record TCP { ... }<br />
type port HTTPPort message { inout HTTP; in ASP1; out ASP2 }<br />
<br />
type port HTTPToTCPPort map to HTTPPort { <br />
&#160;&#160;var octetstring inbuffer := ''O;<br />
&#160;&#160;in HTTP from TCP httpFromTcp; // in-translation function for type HTTP<br />
&#160;&#160;out HTTP to TCP tcpFromHTTP; // out-translation function for type HTTP<br />
}<br />
// the in types of this port from the component point of view are<br />
// still HTTP and ASP1<br />
// the out types of this port from the component point of view are<br />
// still HTTP and ASP2 <br />
// the in types from the outside point of view (used for map/connect<br />
// statements) are TCP and ASP1<br />
// the out types from the outside point of view are TCP and ASP2<br />
<br />
// this function will be called whenever an HTTP message should be received<br />
// on port HTTPToTCPPort, it will be called by the test system until at least<br />
// one relay operation has been performed<br />
function httpFromTcp(in TCP tcpMsg) <br />
on port HTTPToTCPPort // this is needed for type-checking of input/output<br />
{<br />
&#160;&#160;var HTTP httpMsg;<br />
&#160;&#160;var integer len;<br />
&#160;&#160;inbuffer := inbuffer &amp; tcpMsg.data; // append data to the buffer<br />
&#160;&#160;while (true) {<br />
&#160;&#160;&#160;&#160;len := lengthof(inbuffer);<br />
&#160;&#160;&#160;&#160;if (len &gt; 0 and decvalue(inbuffer, httpMsg) == 0) {<br />
&#160;&#160;&#160;&#160;&#160;&#160;port.relay(httpMsg); // this puts the httpMsg into the port queue <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// the type of the relayed message <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// the correctness of this type can be inferred<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// from the out HTTP to TCP declaration in <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// HTTPtoTCPPort<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;else {<br />
&#160;&#160;&#160;&#160;&#160;&#160;break;<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;}<br />
}<br />
<br />
// this function is a one-on-one HTTP to TCP mapping without any buffering<br />
// it does not really need a relation to the port type for type checking<br />
function tcpFromHTTP(in HTTP httpMsg) return TCP {<br />
&#160;&#160;var bitstring encodedHttp := encvalue(httpMsg);<br />
&#160;&#160;var TCP tcpMsg;<br />
&#160;&#160;// compute the tcpMsg using the information from httpMsg<br />
&#160;&#160;// and embed the encodedHttp<br />
&#160;&#160;...<br />
&#160;&#160;return tcpMsg; // here, the adapter still needs to encode<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// the TTCN-3 value before sending it to the system <br />
}<br />
<br />
// the alternative definition would be<br />
function tcpFromHTTP(in HTTP httpMsg) on port HTTPtoTCPPort {<br />
&#160;&#160;var bitstring encodedHttp := encvalue(httpMsg);<br />
&#160;&#160;var TCP tcpMsg;<br />
&#160;&#160;// compute the tcpMsg using the information from httpMsg<br />
&#160;&#160;// and embed the encodedHttp<br />
&#160;&#160;...<br />
&#160;&#160;port.relay (tcpMsg); // the correctness of this type can be <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// inferred from the 'out HTTP to TCP' declaration<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// in HTTPtoTCPPort<br />
}			</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">
				(0009707)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				03-09-2010 10:59&#160;&#160;&#160;
				<br />(edited on:&#32;03-09-2010 11:03)			</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I'm really not that happy with the whole explicit buffering and decoding/encoding and I think this should be hidden as much as possible from the user. So, I would propose to make the approach a bit more declarative and hide these details in the semantics (because this meta-code would look always the same for all such similar problems, as well):<br />
<br />
type port HTTPPort message { inout HTTP; in ASP1; out ASP2 }<br />
<br />
type port HTTPToTCPPort map to HTTPPort {<br />
&#160;&#160;in HTTP fromTcp; // the from type can be inferred from fromTcp<br />
&#160;&#160;out HTTP tcpFromHTTP; // the to type can be inferred from tcpFromHTTP<br />
}<br />
// the in types of this port from the component point of view are HTTP and ASP1<br />
// the out types of this port from the component point of view are HTTP and ASP2<br />
// the in types from the outside point of view are TCP and ASP1<br />
// the out types from the outside point of view are TCP and ASP2<br />
<br />
// Each such port has an inner port buffer and an outer port queue.<br />
// Messages arriving from the outside/SUT are enqueued into the outer port queue.<br />
// The results of the translations functions are appended to the inner port buffer.<br />
// For all types that do not have an in-translation function, i.e. ASPs that are not<br />
// transported, the messages are taken directly from the port queue <br />
// if the input buffer is empty.<br />
// Likewise, all types that do not have an out-translation function are <br />
// simply encoded and sent over the port like normal. <br />
<br />
// The in-translation function fromTcp will be called whenever an HTTP <br />
// message should be received on port HTTPToTCPPort and the inner buffer of<br />
// that port does not contain a full HTTP message and the outer port queue <br />
// contains at its head the TCP message tcpMsg.<br />
// The result will be appended to the inner buffer so that the port can <br />
// try to decode the HTTP message (if any) from the now longer buffer<br />
// otherwise, the process is repeated until either a HTTP message could<br />
// be decoded or no more TCP messages are in the outer queue.<br />
// If the buffer is non-empty and (even after translation) does not contain <br />
// even the beginning of an HTTP message, the decodiing of HTTP fails and<br />
// the next alternative must be tried. (This allows several different protocols<br />
// to be carried in the TCP). <br />
// As one can see, this function can be reused as in-translation functions<br />
// for all types carried over the TCP.<br />
function fromTcp(in TCP tcpMsg) return bitstring {<br />
{<br />
&#160;&#160;return oct2bit(tcpMsg.data);<br />
}<br />
<br />
// The function tcpFromHTTP is invoked whenever an HTTP messages is to be<br />
// sent over HTTPtoTCPPort. It is called with both the abstract and the<br />
// encoded value of the HTTP message. Its result is the abstract TCP message<br />
// to be sent. This then is encoded by the port and actually sent. <br />
function tcpFromHTTP(in HTTP httpMsg, in bitstring encodedHttp) return TCP {<br />
&#160;&#160;// assert encodedHttp == encvalue(httpMsg)<br />
&#160;&#160;var TCP tcpMsg;<br />
&#160;&#160;// compute the tcpMsg using the information from httpMsg<br />
&#160;&#160;// and embed the encodedHttp<br />
&#160;&#160;...<br />
&#160;&#160;return tcpMsg; <br />
}<br />
<br />
As one can see, the code is much shorter and the user can focus on the actual translation from or to tcp and does not need to worry about the whole encoding/decoding stuff.<br />
<br />
			</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">
				(0009833)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				29-11-2010 16:22&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				After discussing the last proposal the feedback was that a little bit more redundancy in the filter-port declaration would be more readable.<br />
<br />
So, I would propose this kind of syntax:<br />
<br />
type port HTTPToTCPPort map to HTTPPort {<br />
&#160;&#160;in HTTP from TCP with fromTcp;<br />
&#160;&#160;out HTTP to TCP with tcpFromHttp;<br />
}<br />
<br />
For the in-types, a list notation for all protocols carried over the TCP<br />
would also be possible:<br />
<br />
Example:<br />
<br />
type port HTTPOrSIPPort { inout HTTP, SIP }<br />
<br />
type port HTTPOrSIPToTCPPort {<br />
&#160;&#160;in HTTP, SIP from TCP with fromTcp;<br />
&#160;&#160;out HTTP to TCP with tcpFromHttp;<br />
&#160;&#160;out SIP to TCP with tcpFromSip;<br />
}<br />
<br />
One possible usage scenario would be as follows (this could be added to the example in the standard):<br />
<br />
type component SystemType {<br />
&#160;&#160;HTTPPort http;<br />
&#160;&#160;HTTPToTCPPort tcpHttp;<br />
}<br />
<br />
type component MtcType {<br />
&#160;&#160;HTTPPort http;<br />
}<br />
<br />
modulepar boolean useTCP := false;<br />
<br />
testcase TC() runs on MtcType system SystemType {<br />
&#160;&#160;if (useTCP) {<br />
&#160;&#160;&#160;&#160;map(mtc:http, system:tcpHttp);<br />
&#160;&#160;} else {<br />
&#160;&#160;&#160;&#160;map(mtc:http, system:http);<br />
&#160;&#160;}<br />
&#160;&#160;...<br />
&#160;&#160;http.send(HTTP:...);<br />
&#160;&#160;...<br />
&#160;&#160;http.receive(HTTP:...);<br />
}			</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">
				(0009834)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				29-11-2010 16:28&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Maybe a sensible restriction for this feature would be that ports of such mapped port types can only appear in system components, i.e. all component types referenced by runs on (or used in create statements) shall not have port of such mapped port types.			</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">
				(0009841)
			</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">
				30-11-2010 13:23&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				STF discussion on 30/11/2010: principles agreed, text to be written; shall be added to the configuration package			</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">
				(0009902)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				01-12-2010 16:31&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				added new proposal in plain text form			</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">
				(0010283)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				28-09-2011 16:09&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				uploaded proposal integrated into config&amp;deployment package			</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">
				(0010404)
			</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">
				29-11-2011 15:08&#160;&#160;&#160;
				<br />(edited on:&#32;29-11-2011 15:22)			</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Draft is amended quite significantly, see CR_5224-proposal_v2.zip. Some questions are need be discussed:<br />
<br />
(1) Syntactical structure allows:<br />
in InnerInType {&quot;,&quot; InnerInType} from OuterInType with InFunction<br />
however, it is unclear how to declare InFunction that would be able to return more than one InnerInType-s<br />
<br />
(2) In some cases decoding functions are generated from the TTCN-3 code. In this cases there may be several InFunction-s, with different names and different InnerInType-s but all with an octetstring as OuterInType. In this case, when decoding the TTCN-3 octetstring (the outcome of decoding the bitstring received from TRI by the TE-CD decoding algorithm), these InFunction-s shall be tried sequentially until the decoding successful or no more attempt left. This procedure has been added to the draft.<br />
<br />
(3) Currently for a translation port at least 3 port definitions are required: InnerPortType, OuterPortType and the transation port; it should also be allowed to define two ports only: OuterPortType and the transation port, where the in/out/inout lists of the inner port are just the related lists of the translation port<br />
<br />
(4) Currently, when 3 port types are used to define the translation port, transparent relaying of messages are not defined in the translation port. It should be considered, for sefaty reasons, to request declaring transparent relaying explicitly â€“ this would be denoted by InnerInType==OuterInType the null in the above draft.<br />
<br />
			</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">
				(0010406)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				29-11-2011 18:20&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				All issues have been addressed and the proposal changed accordingly. Two notes in the section Port composition have been left because I did not know what to make of them.<br />
<br />
Please review			</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">
				(0010453)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				30-11-2011 19:17&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				added support for address, map param and unmap param translation, please review			</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">
				(0010457)
			</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">
				01-12-2011 09:33&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				File CR_5224-proposal_v5.zip contained CR_5224-proposal_v4.docx, so I have deleted the .zip and uploaded the contained .docx instead.			</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">
				(0010459)
			</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">
				01-12-2011 09:53&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				The whole stuff become so overcomplicated that it is almost impossible to me to follow what should happen in a translational port in the different cases. How can we expect the users to understand it? The whole stuff shall be streamlined and simplified to the really required use cases (see CR_5224-proposal_v5.docx, but the simplifications are not done consistently in the whole document):<br />
- the translational port is part of the test component behaviour, thus there shall be no implicit behaviour there;<br />
- delete InnerInType list in port in message translation lists (only one InnerInType per inFunction) and the whole implicit decoding stuff in the InFunction prototypes; all encoding/decoding shall be explicit (and decvalue shall be called explicitly within inFunction, if needed)<br />
- delete InnerOutType list in out message translation clause (i.e. only one InnerOutType per OutFunction) and the related second prototype with two in parameters (I don't even understand the exact semantics of this second prototype).<br />
<br />
All these can be added later if really required, but not at this stage.<br />
<br />
The Cr can be added to the standard only if the whole concept is clear and simple enough that users really want to use and tool vendors really implements. I don't have this feeling at the moment. As our last session is ending now, I propose to shift this CR to 2012.			</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">
				(0010911)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				13-07-2012 10:33&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Using simple solutions to complicated problems is a sure way to get problems in the future. If you introduce a non-composable dual-port construction (which  seems to me what you are implying), this might be acceptable for simple use cases, but makes things overcomplicated for more complex situations (where you would have to explicitly gap the bridge between several protocol layers in the same way it should be done implicitly instead of simply composing several dual-ports).<br />
<br />
Letting the user deal with the whole encoding/decoding explicitly is also a way of making this feature unacceptable as it overcomplicates things for the user instead of the tool-vendor and makes the whole thing more error prone (the more the user has to do explicitly, the more they can do wrong).			</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">
				(0011034)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				10-08-2012 14:50&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Temporary draft uploaded. The text contains resolutions to most of the issues that were discussed during the August STF session in GÃ¶ttingen, but some details are still missing. E.g. address translation shall have two branches for in and out directions.			</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">
				(0011203)
			</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">
				10-12-2012 11:06&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				as agreed this morning, I was working on the BNF, pls. find and check my output in the file CR_5224-proposal_v6_BNFmodified.docx			</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">
				(0011208)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				10-12-2012 16:18&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Updates in this version:<br />
1. Address translation: two kinds of functions (one for sending, other for receiving)<br />
2. BNF update including (simplified) GyÃ¶rgy's changes<br />
3. TCI-TL update (function for port.setstate)<br />
4. Runs on clause forbidden in translation functions<br />
5. Corrections in examples (5.10.3 - wrong parameter types, syntax highlight missing)<br />
6. Translation functions for addresses don't use translation states (no need for fragmentation support or multiple types)<br />
7. New restriction: in case of fragmented messages, addresses of all fragments shall be equal			</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">
				(0011211)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				10-12-2012 17:14&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				GyÃ¶rgy, please check the latest draft.			</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">
				(0011212)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				11-12-2012 09:17&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I still think it is wrong or at least confusing/error-prone to have multiple out or in functions for the same type in one port definition (especially since up till now the order of the declarations in a port type definition has no meaning). This can lead to composition problems when mapping a port to an existing translation port. (A -&gt; f1 -&gt; B -&gt; g1 C vs. A -&gt; f2 -&gt; D -&gt; g2 E).<br />
Also, what order takes precedence when trying? The order of the inner port or the order of the outer port?<br />
<br />
What happens, if the inner port translates A to B with function f and then the outer port translates B to C with function g but fails?<br />
<br />
Also, I think that the multiple-case needs some more attention. What happens with the rest of the partially decoded message? Is the message split into decoded/undecoded part?			</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">
				(0011217)
			</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">
				11-12-2012 11:02&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Hi Jacob,<br />
<br />
The typical real-life situaton is that the transport layer carries the upper layer's messages as octetstrings (or univ. charstrings); either a transort layer's field and/or the message itself contains a protocol and/or message identifier. The tool is not able to sort this out, because the location, the concrete form and the concrete ID values of this identifier is protocol-specific, but the user can. The typical algoritm of a translation function is: check if my message &quot;manually&quot; -&gt; if not, return with unsuccess -&gt; if yes, decode and return with success. So, the translation process is not ad-hoc at all, just controlled by the user, not by the tool. In rare cases the type of the message cannot be determined manually before decoding, in these cases the-try-and-see algorithm can be used just like the type hypothesis algorithm; but in practice these are the exceptional cases, not the normal ones! <br />
<br />
The order is specified in the proposal as the textual order of the from/to_with_function statements in the set of translation functions with the given type as in parameter. The rational behind this is that the user knows which messages are sent most frequently in the given protocol and - if performance matters - translation functons for these can be placed ahead of the list.<br />
<br />
&quot;What happens, if the inner port translates A to B with function f and then the outer port translates B to C with function g but fails?&quot; How is it possible? B is a valid value of its type, let me say BType. The same will happen if the coder received an instance of BType it is unable to encode (but I still don't understand how it would be possible, the instance should cause an error earlier than getting to the codec).<br />
<br />
You remember, due to the fragmented and multiple cases (streaming protocols) we have introduced the port variable, as we need something to store the undecode-able part of the outer message (e.g. the bits returned in the encoded_value parameter by the decvalue function called from a translation function). In the next translation round the new octets/bits are concatenated to the bits stored in the port variable and message decoding is tryed again.			</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">
				(0011219)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				11-12-2012 12:35&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Hi Jacob,<br />
<br />
The current draft doesn't support protocol stacking, thus the situation you mentioned (multiple translation paths) cannot occur. We have a proposal for protocol stacking via several translation ports in our drawer (including translation path selection which solves the problem you described), but because of overall complexity of the issue, the current draft specifies support for direct translation only. The rationale behind it is very simple: the CR has existed for more than two years without finding its way to the standard, and becuase of that, the STF has decided to resolve the basic problem first and deal with complex issues later (in case it is requested by the community).<br />
<br />
Regarding partially decoded messages: There are actually two issues and I am not entirely sure if you meant not finished decoding of a message received in several fragments or an outer (envelope) message that contains several inner messages. Both cases are actually described in the draft. In case of a fragmented message, decoded fragments are removed from the outer queue and the user has to take care of buffering the data (using port variables) if not enough fragments have been received to put together an inner message. In case of multiple payloads in one envelope message, the envelope message stays in the outer queue until all data it contains has been passed to the inner queue. It is again up to the user to store all information about what part of the envelope message has been processed (such as reading positions).<br />
<br />
			</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">
				(0011246)
			</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">
				12-12-2012 15:26&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I have reviewed the draft, see the result in CR_5224-proposal_v8_delta.docx (delta means that only the new and changed parts are left in the file, not the whole ES 202 781). Pls. check my changes and comments.			</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">
				(0011251)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				13-12-2012 08:50&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I marked most of the changes as accepted and attached some comments. However, I changed several rules in the draft:<br />
<br />
1. I added the &quot;Unset&quot; state with description to the list describing all possible states<br />
<br />
2. &quot;Multiple&quot; state in case of sending: the in parameter should contain the original sent message of the InnerOutType in all translation calls. In most cases, it won't be of any use for the user, because he/she will encode the message in the first call and then store the unused part, but for consistency reasons it seems better to provide some value in the parameter rather than introducing a rule for uninitialized parameter values.<br />
<br />
3. &quot;Multiple&quot; state in case of receiving: as the result of the yesterday's discussion, the outer message is kept in the queue, becuase automatic decoding of all inner messages contained in the outer message is not possible during a single receive call (the type hypothesis is available for the first inner message only). I also added some explanatory text and a rule that the outer message is kept in the decoded form in the outer queue.<br />
<br />
4. I extended the BNF rules for OuterPortTypeSpec (adding type list and the connect to part)			</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">
				(0011252)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob Wieland - Spirent</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				13-12-2012 12:22&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				With this clarification, this is fine.<br />
<br />
The multi-layer thing is already present, though, because it is not disallowed to define a mapped port that maps to a mapped port (it is only restricted that the port to be mapped to shall not directly or indirectly be the mapped port, as far as I understood it). Thus, all problems presented by the multiple layers need already be addressed or such a restriction be introduced.			</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">
				(0011258)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				13-12-2012 17:53&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				I modified the draft according to results of today's discussion.<br />
I also added TCI changes and that were accidentally left out from the shortened version of the document.<br />
Please review.			</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">
				(0011284)
			</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">
				18-12-2012 16:19&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Final version is in CR_5224-proposal_v11.docx: contains editorial corrections: some missing spaces added, &quot;working&quot; (Word) comments are deleted, names of states are changed to small first character (once they used in small later).<br />
<br />
In the notes in 5.10.5 and 5.10.6 (about the non-translated part shall be assigned to port variables), I removed the partially fragmented state: in this case it is enough to store the position, until which the outer message is decoded; In the last iteration, when the superflouos remaining (non-complete message)is processed, the final state will be fragmented.			</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">
				(0011438)
			</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">
				14-05-2013 15:24&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Added to V1.2.1 of the standard			</td>
		</tr>
		</table>
	</td>
</tr>
</table>
</body>
</html>
