From 89cb7a2fed6229b53f5acfdebfcc59f154d7f76c Mon Sep 17 00:00:00 2001
From: Adrien Kirjak <adrien.kirjak@ericsson.com>
Date: Thu, 28 Apr 2016 09:57:15 +0200
Subject: [PATCH] Added test cases

Signed-off-by: Adrien Kirjak <adrien.kirjak@ericsson.com>
---
 .../Sem_060101_TopLevel_007.ttcn              |  21 +-
 .../NegSem_060201_RecordTypeValues_001.ttcn   |  41 -
 .../NegSem_060201_RecordTypeValues_002.ttcn   |  32 -
 .../Sem_060201_RecordTypeValues_001.ttcn      |  21 +-
 .../Sem_060201_RecordTypeValues_002.ttcn      |   6 +-
 .../NegSem_060202_SetTypeValues_002.ttcn      |  36 -
 .../NegSem_060202_SetTypeValues_003.ttcn      |  31 -
 .../Sem_060202_SetTypeValues_005.ttcn         |  52 +-
 .../Sem_060202_SetTypeValues_006.ttcn         |  50 +-
 .../Sem_060202_SetTypeValues_007.ttcn         |  44 +-
 .../Sem_060303_component_types_001.ttcn       |   4 +-
 .../Sem_060303_component_types_002.ttcn       |   3 +-
 ...20301_GeneralFormatOfImport_032_extern .cc |  17 +
 .../IntegerOutputPortType.cc                  |  77 --
 .../Sem_0902_Communication_ports_001.cc       | 876 ------------------
 .../Sem_0902_Communication_ports_001.hh       | 144 ---
 .../Sem_0902_Communication_ports_001.ttcn     |  10 +-
 .../Sem_0902_Communication_ports_002.ttcn     |  11 +-
 .../loopbackPort.cc                           |  77 ++
 ...tegerOutputPortType.hh => loopbackPort.hh} |  14 +-
 .../loopbackPort1.cc                          |  77 ++
 .../loopbackPort1.hh                          |  44 +
 .../Sem_160102_predefined_functions_043.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_046.ttcn  |   8 +-
 .../Sem_160102_predefined_functions_063.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_064.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_065.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_066.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_067.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_068.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_069.ttcn  |   6 +-
 .../Sem_160102_predefined_functions_070.ttcn  |  12 +-
 .../Sem_160102_predefined_functions_071.ttcn  |  13 +-
 .../Sem_160102_predefined_functions_072.ttcn  |  11 +-
 .../Sem_160102_predefined_functions_073.ttcn  |  10 +-
 .../Sem_160102_predefined_functions_074.ttcn  |  12 +-
 .../Sem_160102_predefined_functions_075.ttcn  |  14 +-
 .../Sem_160102_predefined_functions_076.ttcn  |   9 +-
 .../Sem_160102_predefined_functions_077.ttcn  |   9 +-
 .../Sem_160102_predefined_functions_078.ttcn  |  11 +-
 .../Sem_160102_predefined_functions_079.ttcn  |   9 +-
 .../Sem_160102_predefined_functions_080.ttcn  |   2 +-
 .../Sem_B0105_toplevel_002.ttcn               |   6 +-
 conformance_test/positive_tests/Makefile      |   0
 .../positive_tests/pos_conf_tests.cfg         |  35 +-
 .../positive_tests/pos_conf_tests.tpd         |  76 +-
 46 files changed, 510 insertions(+), 1463 deletions(-)
 delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn
 delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn
 delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn
 delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn
 create mode 100644 conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc
 delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc
 delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc
 delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh
 create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc
 rename conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/{IntegerOutputPortType.hh => loopbackPort.hh} (76%)
 create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc
 create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh
 mode change 100755 => 100644 conformance_test/positive_tests/Makefile

diff --git a/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn b/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn
index d2efce53e..ed1bc2c42 100755
--- a/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn
@@ -26,16 +26,19 @@ module Sem_060101_TopLevel_007 {
     
     testcase TC_Sem_060101_TopLevel_007() runs on GeneralComp {
         var universal charstring v_a  :=  char(U0041);  //USI notation for character "A"
-        var universal charstring v_b  :=  char(U0171);  //USI notation for character "ű"
+        var universal charstring v_b  :=  char(U0171);  //USI notation for character "ű"
         var universal charstring v_c  :=  char(U41);    //USI notation for character "A" without leading zeroes
-        var universal charstring v_d  :=  char(U+171,U41);  //USI notation for character "ű" and "A"  without leading zeroes and + sign notation
+        var universal charstring v_d  :=  char(U+171,U41);  //USI notation for character "ű" and "A"  without leading zeroes and + sign notation
 
-        
+  	var universal charstring a_exp := "A";
+        var universal charstring b_exp := "ű";
+	var universal charstring c_exp := "A";
+	var universal charstring d_exp := "űA";      
                
-    	if (match(v_a,"A") and 
-            match(v_b,"ű") and
-            match(v_c,"A") and
-            match(v_d,"űA"))
+    	if (match(v_a,a_exp) and 
+            match(v_b,"ű") and
+            match(v_c,c_exp) and
+            match(v_d,"űA"))
         {
     		setverdict(pass,"v_a:",v_a, "v_b:",v_b, "v_c:",v_c,"v_d:",v_d);
     	}
@@ -47,4 +50,6 @@ module Sem_060101_TopLevel_007 {
     control{
         execute(TC_Sem_060101_TopLevel_007());
     }
-}
\ No newline at end of file
+}
+
+
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn
deleted file mode 100644
index 99860ce75..000000000
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn
+++ /dev/null
@@ -1,41 +0,0 @@
-/***************************************************
- ** @author   STF 451, re-numbering done by STF 470 and 487
- ** @version  0.0.1
- ** @desc     Test cases for clause 6.2                     
- ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass reject
- ***************************************************/
-module NegSem_060201_RecordTypeValues_001 {
-
-	type component GeneralComp {	    	    
-	}
-
-	 type record R {
-	  	integer f1,
-	  	integer f2 optional,
-	  	integer f3,
-	  	integer f4 optional,
-	  	integer f5 optional
-	 }  
-
-	const R v_assigned := { 1, 2 } 
-		with { optional "implicit omit" }
-	 
-	testcase TC_NegSem_060201_RecordTypeValues_001() runs on GeneralComp {
-
-	 	template R m_check := { 1, omit, 2, omit, omit };
-	 
-		if (match(v_assigned,m_check)) {  //cannot match undefined components of v_assigned
-			setverdict(pass);
-		}
-		else {
-			setverdict(fail, "cannot match: ", v_assigned, " with ", m_check);
-		}
-
-	}
-
-	control {
-		execute(TC_NegSem_060201_RecordTypeValues_001());
-	}
-
-} 
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn
deleted file mode 100644
index 87b9775cc..000000000
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn
+++ /dev/null
@@ -1,32 +0,0 @@
-/***************************************************
- ** @author   STF 451, re-numbering done by STF 470 and 487
- ** @version  0.0.1
- ** @desc     Test cases for clause 6.2                     
- ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass reject
- ***************************************************/
-module NegSem_060201_RecordTypeValues_002 {
-
-	type component GeneralComp {	    	    
-	}
-
-	 type record R {
-	  	integer f1,
-	  	integer f2 optional,
-	  	integer f3,
-	  	integer f4 optional,
-	  	integer f5 optional
-	 }  
-	 
-	testcase TC_NegSem_060201_RecordTypeValues_002() runs on GeneralComp {
-
-	 	var R v_assigned := { 1, 2 } with { optional "implicit omit" }		
-		//rejected since f3 stays undefined
-	
-	}
-
-	control {
-		execute(TC_NegSem_060201_RecordTypeValues_002());
-	}
-
-}
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn
index 28c76422f..6022ad799 100644
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn
@@ -3,32 +3,33 @@
  ** @version  0.0.1
  ** @desc     Test cases for clause 6.2                     
  ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @verdict  pass reject
  ***************************************************/
-module Sem_060201_RecordTypeValues_001  {
+module Sem_060201_RecordTypeValues_001 {
 
 	type component GeneralComp {	    	    
 	}
 
-	type record R {
+	 type record R {
 	  	integer f1,
 	  	integer f2 optional,
 	  	integer f3,
 	  	integer f4 optional,
 	  	integer f5 optional
-	}  
+	 }  
 
-	const R v_assigned := { 1, -, 2 } with { optional "implicit omit" }
+	const R v_assigned := { 1, 2 } 
+		with { optional "implicit omit" }
 	 
 	testcase TC_Sem_060201_RecordTypeValues_001() runs on GeneralComp {
 
-	 	template R m_check := { 1, omit, 2, omit, omit }
+	 	template R m_check := { 1, omit, 2, omit, omit };
 	 
-		if (match(v_assigned,m_check)) {
-			setverdict(pass);
+		if (match(v_assigned,m_check)) {  //cannot match undefined components of v_assigned
+			setverdict(fail, "somehow it matched?");
 		}
 		else {
-			setverdict(fail);
+			setverdict(pass, "cannot match: ", v_assigned, " with ", m_check);
 		}
 
 	}
@@ -37,4 +38,4 @@ module Sem_060201_RecordTypeValues_001  {
 		execute(TC_Sem_060201_RecordTypeValues_001());
 	}
 
-}
+} 
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn
index afa9f6574..a75cd13b3 100644
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn
@@ -5,7 +5,7 @@
  ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
-module Sem_060201_RecordTypeValues_002 {
+module Sem_060201_RecordTypeValues_002  {
 
 	type component GeneralComp {	    	    
 	}
@@ -18,13 +18,13 @@ module Sem_060201_RecordTypeValues_002 {
 	  	integer f5 optional
 	}  
 
-	const R c_assigned := { 1, -, 2 } with { optional "implicit omit" }
+	const R v_assigned := { 1, -, 2 } with { optional "implicit omit" }
 	 
 	testcase TC_Sem_060201_RecordTypeValues_002() runs on GeneralComp {
 
 	 	template R m_check := { 1, omit, 2, omit, omit }
 	 
-		if (match(c_assigned,m_check)) {
+		if (match(v_assigned,m_check)) {
 			setverdict(pass);
 		}
 		else {
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn
deleted file mode 100644
index dffd6a538..000000000
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn
+++ /dev/null
@@ -1,36 +0,0 @@
-/***************************************************
- ** @author   STF470
- ** @version  0.0.1
- ** @desc     Test cases for clause 6.2                     
- ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass reject
- ***************************************************/
-module NegSem_060202_SetTypeValues_002 {
-
-type component GeneralComp {	    	    
-}
-
- type set S {
-  integer f1,
-  integer f2 optional,
-  integer f3,
-  integer f4 optional,
-  integer f5 optional
- }  
- 
-testcase TC_NegSem_060202_SetTypeValues_002() runs on GeneralComp {
-
- var S v_assigned := { 1, 2 } with { optional "implicit omit" }
- template S m_check := { 1, omit, 2, omit, omit }
- 
-      if (match(v_assigned,m_check)) {  //cannot match undefined components of v_assigned
-	    setverdict(pass);
-      }
-
-}
-
-control {
-    execute(TC_NegSem_060202_SetTypeValues_002());
-}
-
-}
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn
deleted file mode 100644
index 87db5b5df..000000000
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************
- ** @author   STF470 
- ** @version  0.0.1
- ** @desc     Test cases for clause 6.2                     
- ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass reject
- ***************************************************/
-module NegSem_060202_SetTypeValues_003 {
-
-type component GeneralComp {
-}
-
- type set S {
-  integer f1,
-  integer f2 optional,
-  integer f3,
-  integer f4 optional,
-  integer f5 optional
- }  
- 
-testcase TC_NegSem_060202_SetTypeValues_003() runs on GeneralComp {
-
- var S v_assigned := { 1, 2 } with { optional "implicit omit" }		//rejected since f3 stays undefined
- 
-}
-
-control {
-    execute(TC_NegSem_060202_SetTypeValues_003());
-}
-
-}
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn
index e83e103a8..89cbce921 100644
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn
@@ -3,37 +3,39 @@
  ** @version  0.0.1
  ** @desc     Test cases for clause 6.2                     
  ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @verdict  pass reject
  ***************************************************/
-module Sem_060202_SetTypeValues_005  {
+module Sem_060202_SetTypeValues_005 {
 
-type component GeneralComp {
-}
+	type component GeneralComp {	    	    
+	}
 
- type set S {
-  integer f1,
-  integer f2 optional,
-  integer f3,
-  integer f4 optional,
-  integer f5 optional
- }  
- 
-testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp {
+ 	type set S {
+	  	integer f1,
+	  	integer f2 optional,
+	  	integer f3,
+	  	integer f4 optional,
+	  	integer f5 optional
+	 }  
+
+	const S v_assigned := { f1 := 1, f2:= 2 } with { optional "implicit omit" }
 
- var S v_assigned := { 1, -, 2 } with { optional "implicit omit" }
- template S m_check := { 1, omit, 2, omit, omit }
+	testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp {
+
+ 		
+ 		template S m_check := { f1:= 1, f2:= omit, f3:= 2, f4:= omit, f5:= omit }
  
-      if (match(v_assigned,m_check)) {
-	    setverdict(pass);
-      }
-      else {
-	    setverdict(fail);
-	  }
+		if (match(v_assigned,m_check)) {  //cannot match undefined components of v_assigned
+			setverdict(fail, "somehow it matched?");
+		}
+		else {
+			setverdict(pass, "cannot match: ", v_assigned, " with ", m_check);
+		}
 
-}
+	}
 
-control {
-    execute(TC_Sem_060202_SetTypeValues_005());
-}
+	control {
+		execute(TC_Sem_060202_SetTypeValues_005());
+	}
 
 }
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn
index e5fcbf4d1..64da0c736 100644
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn
@@ -1,40 +1,40 @@
 /***************************************************
- ** @author   STF470 
+ ** @author   STF470
  ** @version  0.0.1
  ** @desc     Test cases for clause 6.2                     
  ** @purpose  1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
-module Sem_060202_SetTypeValues_006 {
+module Sem_060202_SetTypeValues_006  {
 
-type component GeneralComp {
-}
+	type component GeneralComp {
+	}
 
- type set S {
-  integer f1,
-  integer f2 optional,
-  integer f3,
-  integer f4 optional,
-  integer f5 optional
- }  
+	type set S {
+	  integer f1,
+	  integer f2 optional,
+	  integer f3,
+	  integer f4 optional,
+	  integer f5 optional
+	}  
+	
+	const S v_assigned := { f1 := 1, f2 := -, f3 := 2 } with { optional "implicit omit" }
 
- const S c_assigned := { 1, -, 2 } with { optional "implicit omit" }
- 
-testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp {
+	testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp {
 
- template S m_check := { 1, omit, 2, omit, omit }
+		template S m_check := { f1 := 1, f2 := omit, f3 := 2, f4 := omit, f5 := omit }
  
-      if (match(c_assigned,m_check)) {
-	    setverdict(pass);
-      }
-      else {
-	    setverdict(fail);
-	  }
+      	if (match(v_assigned,m_check)) {
+	    	setverdict(pass);
+      	}
+      	else {
+	    	setverdict(fail);
+	  	}
 
-}
+	}
 
-control {
-    execute(TC_Sem_060202_SetTypeValues_006());
-}
+	control {
+    	execute(TC_Sem_060202_SetTypeValues_006());
+	}
 
 }
diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn
index ce73a30fb..fa34998c5 100644
--- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn
@@ -7,35 +7,35 @@
  ***************************************************/
 module Sem_060202_SetTypeValues_007 {
 
-type component GeneralComp {	    	    
-}
+	type component GeneralComp {	    	    
+	}
 
- type record S {
-  integer f1,
-  integer f2 optional,
-  integer f3,
-  integer f4 optional,
-  integer f5 optional
- }  
- 
-testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp {
+ 	type record S {
+	  integer f1,
+	  integer f2 optional,
+	  integer f3,
+	  integer f4 optional,
+	  integer f5 optional
+ 	}  
 
- var S v_assigned := { 1, 2, 3 } with { optional "implicit omit" }
+	const S v_assigned := { f1 := 1, f2 := 2, f3 := 3 } with { optional "implicit omit" }
  
-      if ( match(v_assigned.f1,1) 
+	testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp {
+
+      	if ( match(v_assigned.f1,1) 
            and match(v_assigned.f3,3) 
            and not ispresent(v_assigned.f4) 
            and not ispresent(v_assigned.f5) ) {
-	    setverdict(pass);
-      }
-      else {
-	    setverdict(fail);
-	  }
+	    	setverdict(pass);
+      	}
+      	else {
+	    	setverdict(fail);
+	  	}
 
-}
+	}
 
-control {
-    execute(TC_Sem_060202_SetTypeValues_007());
-}
+	control {
+		execute(TC_Sem_060202_SetTypeValues_007());
+	}
 
 }
diff --git a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn
index 543610d85..9ff4933d8 100644
--- a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn
@@ -17,9 +17,7 @@ module Sem_060303_component_types_001 {
 
     type integer ConstrainedInteger(0..10);
 
-    type component TestCaseComp {
-        const integer c_integer:=2;
-        const ConstrainedInteger c_constrained:=2;
+    type component TestCaseComp extends FunctionComp{
     }
 
     type component FunctionComp {
diff --git a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn
index 04d49f3e1..c7651e3a4 100644
--- a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn
+++ b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn
@@ -17,8 +17,7 @@ module Sem_060303_component_types_002 {
 
     type integer ConstrainedInteger(0..10);
 
-    type component TestCaseComp {
-        const integer c_integer:=2;
+    type component TestCaseComp extends FunctionComp{
         const ConstrainedInteger c_constrained:=2;
     }
 
diff --git a/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc b/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc
new file mode 100644
index 000000000..22e469e0a
--- /dev/null
+++ b/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc	
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_08020301_GeneralFormatOfImport_031_import.hh"
+
+namespace NegSem__08020301__GeneralFormatOfImport__032__import
+{
+	void f__test()
+    { 
+		MyType p = 1;
+		return p;
+	}
+}
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc
deleted file mode 100644
index 08deff2d1..000000000
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc
+++ /dev/null
@@ -1,77 +0,0 @@
-// This Test Port skeleton source file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// You may modify this file. Complete the body of empty functions and
-// add your member functions here.
-
-#include "IntegerOutputPortType.hh"
-
-namespace Sem__0902__Communication__ports__001 {
-
-IntegerOutputPortType::IntegerOutputPortType(const char *par_port_name)
-	: IntegerOutputPortType_BASE(par_port_name)
-{
-
-}
-
-IntegerOutputPortType::~IntegerOutputPortType()
-{
-
-}
-
-void IntegerOutputPortType::set_parameter(const char * /*parameter_name*/,
-	const char * /*parameter_value*/)
-{
-
-}
-
-/*void IntegerOutputPortType::Handle_Fd_Event(int fd, boolean is_readable,
-	boolean is_writable, boolean is_error) {}*/
-
-void IntegerOutputPortType::Handle_Fd_Event_Error(int /*fd*/)
-{
-
-}
-
-void IntegerOutputPortType::Handle_Fd_Event_Writable(int /*fd*/)
-{
-
-}
-
-void IntegerOutputPortType::Handle_Fd_Event_Readable(int /*fd*/)
-{
-
-}
-
-/*void IntegerOutputPortType::Handle_Timeout(double time_since_last_call) {}*/
-
-void IntegerOutputPortType::user_map(const char * /*system_port*/)
-{
-
-}
-
-void IntegerOutputPortType::user_unmap(const char * /*system_port*/)
-{
-
-}
-
-void IntegerOutputPortType::user_start()
-{
-
-}
-
-void IntegerOutputPortType::user_stop()
-{
-
-}
-
-void IntegerOutputPortType::outgoing_send(const INTEGER& /*send_par*/)
-{
-
-}
-
-} /* end of namespace */
-
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc
deleted file mode 100644
index cbfb92888..000000000
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc
+++ /dev/null
@@ -1,876 +0,0 @@
-// This C++ source file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-/* Including header files */
-
-#include "Sem_0902_Communication_ports_001.hh"
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Prototypes of static functions */
-
-static void pre_init_module();
-static boolean init_comp_type(const char *component_type, boolean init_base_comps);
-static void module_control_part();
-
-/* Literal string constants */
-
-static const unsigned char module_checksum[] = { 0x72, 0x88, 0x6a, 0xaf, 0x8c, 0x68, 0xc9, 0xbb, 0xee, 0xff, 0x38, 0x6c, 0xbf, 0xf3, 0x8e, 0x81 };
-
-/* Global variable definitions */
-
-const TTCN_Typedescriptor_t& GeneralComp_descr_ = COMPONENT_descr_;
-IntegerOutputPortType GeneralComp_component_MycomportA("MycomportA");
-const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_ = COMPONENT_descr_;
-loopbackPort MyTestSystemInterface_component_messagePort("messagePort");
-static const size_t num_namespaces = 0;
-TTCN_Module module_object("Sem_0902_Communication_ports_001", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, NULL, NULL, NULL, NULL, init_comp_type, NULL, module_control_part);
-
-static const RuntimeVersionChecker ver_checker(  current_runtime_version.requires_major_version_5,
-  current_runtime_version.requires_minor_version_4,
-  current_runtime_version.requires_patch_level_0,  current_runtime_version.requires_runtime_1);
-
-/* Member functions of C++ classes */
-
-void loopbackPort::remove_msg_queue_head()
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-switch (my_head->item_selection) {
-case MESSAGE_0:
-delete (my_head)->message_0;
-break;
-default:
-TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name);
-}
-msg_queue_item_base *next_item = msg_queue_head->next_item;
-delete (msg_queue_item*)msg_queue_head;
-msg_queue_head = next_item;
-if (next_item == NULL) msg_queue_tail = NULL;
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));}
-
-void loopbackPort::clear_queue()
-{
-while (msg_queue_head != NULL) remove_msg_queue_head();
-}
-
-loopbackPort::loopbackPort(const char *par_port_name)
- : PORT(par_port_name)
-{
-msg_queue_head = NULL;
-msg_queue_tail = NULL;
-}
-
-loopbackPort::~loopbackPort()
-{
-clear_queue();
-}
-
-void loopbackPort::send(const INTEGER& send_par, const COMPONENT& destination_component)
-{
-if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name);
-if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation.");
-const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_send(port_name, destination_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "),
-send_par.log(), TTCN_Logger::end_event_log2str()));
-}
-if (destination_component == SYSTEM_COMPREF) TTCN_error("Message cannot be sent to system on internal port %s.", port_name);
-else {
-Text_Buf text_buf;
-prepare_message(text_buf, "integer");
-send_par.encode_text(text_buf);
-send_data(text_buf, destination_component);
-}
-}
-
-void loopbackPort::send(const INTEGER& send_par)
-{
-send(send_par, COMPONENT(get_default_destination()));
-}
-
-void loopbackPort::send(const INTEGER_template& send_par, const COMPONENT& destination_component)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, destination_component);
-}
-
-void loopbackPort::send(const INTEGER_template& send_par)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, COMPONENT(get_default_destination()));
-}
-
-alt_status loopbackPort::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-return ALT_YES;
-}
-}
-
-alt_status loopbackPort::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name);
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-void loopbackPort::incoming_message(const INTEGER& incoming_par, component sender_component)
-{
-if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name);
-msg_tail_count++;
-if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) {
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count,
-CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str()));
-}
-msg_queue_item *new_item = new msg_queue_item;
-new_item->item_selection = MESSAGE_0;
-new_item->message_0 = new INTEGER(incoming_par);
-new_item->sender_component = sender_component;
-append_to_msg_queue(new_item);
-}
-
-boolean loopbackPort::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&)
-{
-if (!strcmp(message_type, "integer")) {
-INTEGER incoming_par;
-incoming_par.decode_text(incoming_buf);
-incoming_message(incoming_par, sender_component);
-return TRUE;
-} else return FALSE;
-}
-
-void IntegerOutputPortType_BASE::remove_msg_queue_head()
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-switch (my_head->item_selection) {
-case MESSAGE_0:
-delete (my_head)->message_0;
-break;
-default:
-TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name);
-}
-msg_queue_item_base *next_item = msg_queue_head->next_item;
-delete (msg_queue_item*)msg_queue_head;
-msg_queue_head = next_item;
-if (next_item == NULL) msg_queue_tail = NULL;
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));}
-
-void IntegerOutputPortType_BASE::clear_queue()
-{
-while (msg_queue_head != NULL) remove_msg_queue_head();
-}
-
-IntegerOutputPortType_BASE::IntegerOutputPortType_BASE(const char *par_port_name)
- : PORT(par_port_name)
-{
-msg_queue_head = NULL;
-msg_queue_tail = NULL;
-}
-
-IntegerOutputPortType_BASE::~IntegerOutputPortType_BASE()
-{
-clear_queue();
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER& send_par, const COMPONENT& destination_component)
-{
-if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name);
-if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation.");
-const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_send(port_name, destination_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "),
-send_par.log(), TTCN_Logger::end_event_log2str()));
-}
-if (destination_component == SYSTEM_COMPREF) outgoing_send(send_par);
-else {
-Text_Buf text_buf;
-prepare_message(text_buf, "integer");
-send_par.encode_text(text_buf);
-send_data(text_buf, destination_component);
-}
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER& send_par)
-{
-send(send_par, COMPONENT(get_default_destination()));
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par, const COMPONENT& destination_component)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, destination_component);
-}
-
-void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par)
-{
-const INTEGER& send_par_value = INTEGER(send_par.valueof());
-send(send_par_value, COMPONENT(get_default_destination()));
-}
-
-alt_status IntegerOutputPortType_BASE::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name);
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-switch (my_head->item_selection) {
-case MESSAGE_0:
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1);
-break;
-default:
-TTCN_error("Internal error: unknown message");
-}
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-return ALT_NO;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name);
-return ALT_NO;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-return ALT_NO;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-return ALT_YES;
-}
-}
-
-alt_status IntegerOutputPortType_BASE::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr)
-{
-msg_queue_item *my_head = (msg_queue_item*)msg_queue_head;
-if (msg_queue_head == NULL) {
-if (is_started) return ALT_MAYBE;
-else {
-TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name);
-return ALT_NO;
-}
-} else if (!sender_template.match(my_head->sender_component)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::begin_event(log_sev);
-TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name);
-sender_template.log_match(my_head->sender_component);
-TTCN_Logger::end_event();
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (my_head->item_selection != MESSAGE_0) {
-TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name);
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else if (!value_template.match(*my_head->message_0)) {
-const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-remove_msg_queue_head();
-return ALT_REPEAT;
-} else {
-if (value_ptr != NULL) *value_ptr = *my_head->message_0;
-if (sender_ptr != NULL) *sender_ptr = my_head->sender_component;
-TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__,
-port_name, my_head->sender_component,
-(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0),
- TTCN_Logger::end_event_log2str()));
-}
-log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV;
-if (TTCN_Logger::log_this_event(log_sev)) {
-TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op,
-my_head->sender_component, CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "),
-my_head->message_0->log(), TTCN_Logger::end_event_log2str()),
-msg_head_count+1);
-}
-remove_msg_queue_head();
-return ALT_YES;
-}
-}
-
-void IntegerOutputPortType_BASE::incoming_message(const INTEGER& incoming_par, component sender_component)
-{
-if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name);
-msg_tail_count++;
-if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) {
-TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count,
-CHARSTRING(0, NULL),
-(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str()));
-}
-msg_queue_item *new_item = new msg_queue_item;
-new_item->item_selection = MESSAGE_0;
-new_item->message_0 = new INTEGER(incoming_par);
-new_item->sender_component = sender_component;
-append_to_msg_queue(new_item);
-}
-
-boolean IntegerOutputPortType_BASE::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&)
-{
-if (!strcmp(message_type, "integer")) {
-INTEGER incoming_par;
-incoming_par.decode_text(incoming_buf);
-incoming_message(incoming_par, sender_component);
-return TRUE;
-} else return FALSE;
-}
-
-
-/* Bodies of functions, altsteps and testcases */
-
-verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value)
-{
-TTCN_Runtime::check_begin_testcase(has_timer, timer_value);
-try {
-TTCN_Runtime::begin_testcase("Sem_0902_Communication_ports_001", "TC_Sem_0902_Communication_ports_001", "Sem_0902_Communication_ports_001", "GeneralComp", "Sem_0902_Communication_ports_001", "MyTestSystemInterface", has_timer, timer_value);
-/* Sem_0902_Communication_ports_001.ttcn, line 31 */
-TTCN_Runtime::map_port(MTC_COMPREF, GeneralComp_component_MycomportA.get_name(), SYSTEM_COMPREF, MyTestSystemInterface_component_messagePort.get_name());
-/* Sem_0902_Communication_ports_001.ttcn, line 34 */
-GeneralComp_component_MycomportA.send(INTEGER(2));
-/* Sem_0902_Communication_ports_001.ttcn, line 36 */
-{
-tmp_0:
-alt_status tmp_0_alt_flag_0 = ALT_MAYBE;
-alt_status tmp_0_alt_flag_1 = ALT_MAYBE;
-alt_status tmp_0_default_flag = ALT_MAYBE;
-TTCN_Snapshot::take_new(FALSE);
-for ( ; ; ) {
-if (tmp_0_alt_flag_0 == ALT_MAYBE) {
-/* Sem_0902_Communication_ports_001.ttcn, line 37 */
-tmp_0_alt_flag_0 = GeneralComp_component_MycomportA.receive(INTEGER_template(2), NULL, any_compref, NULL);
-if (tmp_0_alt_flag_0 == ALT_YES) {
-/* Sem_0902_Communication_ports_001.ttcn, line 38 */
-TTCN_Runtime::setverdict(PASS);
-break;
-}
-}
-if (tmp_0_alt_flag_1 == ALT_MAYBE) {
-/* Sem_0902_Communication_ports_001.ttcn, line 40 */
-tmp_0_alt_flag_1 = GeneralComp_component_MycomportA.receive(any_compref, NULL);
-if (tmp_0_alt_flag_1 == ALT_YES) {
-/* Sem_0902_Communication_ports_001.ttcn, line 41 */
-TTCN_Runtime::setverdict(FAIL);
-break;
-}
-}
-if (tmp_0_default_flag == ALT_MAYBE) {
-tmp_0_default_flag = TTCN_Default::try_altsteps();
-if (tmp_0_default_flag == ALT_YES || tmp_0_default_flag == ALT_BREAK) break;
-else if (tmp_0_default_flag == ALT_REPEAT) goto tmp_0;
-}
-/* Sem_0902_Communication_ports_001.ttcn, line 36 */
-if (tmp_0_alt_flag_0 == ALT_NO && tmp_0_alt_flag_1 == ALT_NO && tmp_0_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file Sem_0902_Communication_ports_001.ttcn between lines 36 and 43.");
-TTCN_Snapshot::take_new(TRUE);
-}
-}
-} catch (const TC_Error& tc_error) {
-} catch (const TC_End& tc_end) {
-TTCN_Logger::log_str(TTCN_FUNCTION, "Test case TC_Sem_0902_Communication_ports_001 was stopped.");
-}
-return TTCN_Runtime::end_testcase();
-}
-
-
-/* Bodies of static functions */
-
-static void pre_init_module()
-{
-module_object.add_testcase_nonpard("TC_Sem_0902_Communication_ports_001", testcase_TC__Sem__0902__Communication__ports__001);
-}
-
-static boolean init_comp_type(const char *component_type, boolean init_base_comps)
-{
-(void)init_base_comps;
-if (!strcmp(component_type, "GeneralComp")) {
-GeneralComp_component_MycomportA.activate_port();
-return TRUE;
-} else if (!strcmp(component_type, "MyTestSystemInterface")) {
-MyTestSystemInterface_component_messagePort.activate_port();
-return TRUE;
-} else return FALSE;
-}
-
-static void module_control_part()
-{
-TTCN_Runtime::begin_controlpart("Sem_0902_Communication_ports_001");
-/* Sem_0902_Communication_ports_001.ttcn, line 47 */
-testcase_TC__Sem__0902__Communication__ports__001(FALSE, 0.0);
-TTCN_Runtime::end_controlpart();
-}
-
-
-} /* end of namespace */
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh
deleted file mode 100644
index c6260bef6..000000000
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh
+++ /dev/null
@@ -1,144 +0,0 @@
-// This C++ header file was generated by the TTCN-3 compiler
-// of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
-
-// Copyright (c) 2000-2015 Ericsson Telecom AB
-
-// Do not edit this file unless you know what you are doing.
-
-#ifndef Sem__0902__Communication__ports__001_HH
-#define Sem__0902__Communication__ports__001_HH
-
-#ifdef TITAN_RUNTIME_2
-#error Generated code does not match with used runtime.\
- Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
-#endif
-
-/* Header file includes */
-
-#include <TTCN3.hh>
-
-#if TTCN3_VERSION != 50400
-#error Version mismatch detected.\
- Please check the version of the TTCN-3 compiler and the base library.
-#endif
-
-#ifndef LINUX
-#error This file should be compiled on LINUX
-#endif
-
-#undef Sem__0902__Communication__ports__001_HH
-#endif
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Forward declarations of classes */
-
-class loopbackPort;
-class IntegerOutputPortType_BASE;
-class IntegerOutputPortType;
-
-} /* end of namespace */
-
-#ifndef Sem__0902__Communication__ports__001_HH
-#define Sem__0902__Communication__ports__001_HH
-
-namespace Sem__0902__Communication__ports__001 {
-
-/* Type definitions */
-
-typedef COMPONENT GeneralComp;
-typedef COMPONENT_template GeneralComp_template;
-typedef COMPONENT MyTestSystemInterface;
-typedef COMPONENT_template MyTestSystemInterface_template;
-
-/* Class definitions */
-
-class loopbackPort : public PORT {
-enum msg_selection { MESSAGE_0 };
-struct msg_queue_item : public msg_queue_item_base {
-msg_selection item_selection;
-union {
-INTEGER *message_0;
-};
-component sender_component;
-};
-
-void remove_msg_queue_head();
-protected:
-void clear_queue();
-public:
-loopbackPort(const char *par_port_name = NULL);
-~loopbackPort();
-void send(const INTEGER& send_par, const COMPONENT& destination_component);
-void send(const INTEGER& send_par);
-void send(const INTEGER_template& send_par, const COMPONENT& destination_component);
-void send(const INTEGER_template& send_par);
-alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-private:
-void incoming_message(const INTEGER& incoming_par, component sender_component);
-protected:
-boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
-};
-
-class IntegerOutputPortType_BASE : public PORT {
-enum msg_selection { MESSAGE_0 };
-struct msg_queue_item : public msg_queue_item_base {
-msg_selection item_selection;
-union {
-INTEGER *message_0;
-};
-component sender_component;
-};
-
-void remove_msg_queue_head();
-protected:
-void clear_queue();
-public:
-IntegerOutputPortType_BASE(const char *par_port_name);
-~IntegerOutputPortType_BASE();
-void send(const INTEGER& send_par, const COMPONENT& destination_component);
-void send(const INTEGER& send_par);
-void send(const INTEGER_template& send_par, const COMPONENT& destination_component);
-void send(const INTEGER_template& send_par);
-protected:
-virtual void outgoing_send(const INTEGER& send_par) = 0;
-public:
-alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr);
-private:
-void incoming_message(const INTEGER& incoming_par, component sender_component);
-protected:
-inline void incoming_message(const INTEGER& incoming_par) { incoming_message(incoming_par, SYSTEM_COMPREF); }
-boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
-};
-
-
-/* Function prototypes */
-
-extern verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value);
-
-/* Global variable declarations */
-
-extern const TTCN_Typedescriptor_t& GeneralComp_descr_;
-extern IntegerOutputPortType GeneralComp_component_MycomportA;
-extern const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_;
-extern loopbackPort MyTestSystemInterface_component_messagePort;
-extern TTCN_Module module_object;
-
-} /* end of namespace */
-
-/* Test port header files */
-
-#include "IntegerOutputPortType.hh"
-
-#endif
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn
index 88f4b7d8f..e3598d68d 100644
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn
@@ -18,14 +18,11 @@ module Sem_0902_Communication_ports_001{
 
     type port loopbackPort message {
 	  	inout integer
-	} with {extension "internal"}
-	type port IntegerOutputPortType message {
-	  	inout integer
-	} // with {extension "internal"}
-	
+	} 
+
 	type component GeneralComp
 	{
-		port IntegerOutputPortType MycomportA
+		port loopbackPort MycomportA
 	}
 
 	type component MyTestSystemInterface
@@ -38,7 +35,6 @@ module Sem_0902_Communication_ports_001{
 	// establishing the port connections
 		map(mtc:MycomportA, system:messagePort);
 
-
 		MycomportA.send(2);  //can send also in-line template
 
 		alt {
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn
index 654234998..5d030bc74 100644
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn
@@ -16,24 +16,20 @@
 //Two ports are mapped to two system interface
 module Sem_0902_Communication_ports_002{ 
 
- 	type port loopbackPort message {
+ 	type port loopbackPort1 message {
 	  	inout integer
 	}
 
- 	type port MyMessagePortType message {
-	  	inout integer
-	}	
-
 	type component GeneralComp
 	{
 		var integer v_received1:=0;
 		var integer v_received2:=0;
-		port MyMessagePortType myPortA,myPortB
+		port loopbackPort1 myPortA,myPortB
 	}
 
 	type component MyTestSystemInterface
 	{
- 		port loopbackPort messagePortA,messagePortB
+ 		port loopbackPort1 messagePortA,messagePortB
 	}
 	
 	// MyTestSystemInterface is the test system interface
@@ -42,7 +38,6 @@ module Sem_0902_Communication_ports_002{
 		map(mtc:myPortA, system:messagePortA);
 		map(mtc:myPortB, system:messagePortB);
 
-
 		myPortA.send(2);  //can send also in-line template
 		myPortB.send(3); 
 
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc
new file mode 100644
index 000000000..62e97b1c9
--- /dev/null
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc
@@ -0,0 +1,77 @@
+// This Test Port skeleton source file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Complete the body of empty functions and
+// add your member functions here.
+
+#include "loopbackPort.hh"
+
+namespace Sem__0902__Communication__ports__001 {
+
+loopbackPort::loopbackPort(const char *par_port_name)
+	: loopbackPort_BASE(par_port_name)
+{
+
+}
+
+loopbackPort::~loopbackPort()
+{
+
+}
+
+void loopbackPort::set_parameter(const char * /*parameter_name*/,
+	const char * /*parameter_value*/)
+{
+
+}
+
+/*void loopbackPort::Handle_Fd_Event(int fd, boolean is_readable,
+	boolean is_writable, boolean is_error) {}*/
+
+void loopbackPort::Handle_Fd_Event_Error(int /*fd*/)
+{
+
+}
+
+void loopbackPort::Handle_Fd_Event_Writable(int /*fd*/)
+{
+
+}
+
+void loopbackPort::Handle_Fd_Event_Readable(int /*fd*/)
+{
+
+}
+
+/*void loopbackPort::Handle_Timeout(double time_since_last_call) {}*/
+
+void loopbackPort::user_map(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort::user_unmap(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort::user_start()
+{
+
+}
+
+void loopbackPort::user_stop()
+{
+
+}
+
+void loopbackPort::outgoing_send(const INTEGER& send_par)
+{
+	incoming_message(send_par);
+}
+
+} /* end of namespace */
+
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh
similarity index 76%
rename from conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh
rename to conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh
index fbbd5f858..5b3f61c29 100644
--- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh
@@ -1,23 +1,23 @@
 // This Test Port skeleton header file was generated by the
-// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A
-// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
 
 // Copyright (c) 2000-2015 Ericsson Telecom AB
 
 // You may modify this file. Add your attributes and prototypes of your
 // member functions here.
 
-#ifndef IntegerOutputPortType_HH
-#define IntegerOutputPortType_HH
+#ifndef loopbackPort_HH
+#define loopbackPort_HH
 
 #include "Sem_0902_Communication_ports_001.hh"
 
 namespace Sem__0902__Communication__ports__001 {
 
-class IntegerOutputPortType : public IntegerOutputPortType_BASE {
+class loopbackPort : public loopbackPort_BASE {
 public:
-	IntegerOutputPortType(const char *par_port_name = NULL);
-	~IntegerOutputPortType();
+	loopbackPort(const char *par_port_name = NULL);
+	~loopbackPort();
 
 	void set_parameter(const char *parameter_name,
 		const char *parameter_value);
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc
new file mode 100644
index 000000000..3dfa2c35e
--- /dev/null
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc
@@ -0,0 +1,77 @@
+// This Test Port skeleton source file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Complete the body of empty functions and
+// add your member functions here.
+
+#include "loopbackPort1.hh"
+
+namespace Sem__0902__Communication__ports__002 {
+
+loopbackPort1::loopbackPort1(const char *par_port_name)
+	: loopbackPort1_BASE(par_port_name)
+{
+
+}
+
+loopbackPort1::~loopbackPort1()
+{
+
+}
+
+void loopbackPort1::set_parameter(const char * /*parameter_name*/,
+	const char * /*parameter_value*/)
+{
+
+}
+
+/*void loopbackPort1::Handle_Fd_Event(int fd, boolean is_readable,
+	boolean is_writable, boolean is_error) {}*/
+
+void loopbackPort1::Handle_Fd_Event_Error(int /*fd*/)
+{
+
+}
+
+void loopbackPort1::Handle_Fd_Event_Writable(int /*fd*/)
+{
+
+}
+
+void loopbackPort1::Handle_Fd_Event_Readable(int /*fd*/)
+{
+
+}
+
+/*void loopbackPort1::Handle_Timeout(double time_since_last_call) {}*/
+
+void loopbackPort1::user_map(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort1::user_unmap(const char * /*system_port*/)
+{
+
+}
+
+void loopbackPort1::user_start()
+{
+
+}
+
+void loopbackPort1::user_stop()
+{
+
+}
+
+void loopbackPort1::outgoing_send(const INTEGER& send_par)
+{
+	incoming_message(send_par);
+}
+
+} /* end of namespace */
+
diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh
new file mode 100644
index 000000000..9295cbdd6
--- /dev/null
+++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh
@@ -0,0 +1,44 @@
+// This Test Port skeleton header file was generated by the
+// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D
+// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016
+
+// Copyright (c) 2000-2015 Ericsson Telecom AB
+
+// You may modify this file. Add your attributes and prototypes of your
+// member functions here.
+
+#ifndef loopbackPort1_HH
+#define loopbackPort1_HH
+
+#include "Sem_0902_Communication_ports_002.hh"
+
+namespace Sem__0902__Communication__ports__002 {
+
+class loopbackPort1 : public loopbackPort1_BASE {
+public:
+	loopbackPort1(const char *par_port_name = NULL);
+	~loopbackPort1();
+
+	void set_parameter(const char *parameter_name,
+		const char *parameter_value);
+
+private:
+	/* void Handle_Fd_Event(int fd, boolean is_readable,
+		boolean is_writable, boolean is_error); */
+	void Handle_Fd_Event_Error(int fd);
+	void Handle_Fd_Event_Writable(int fd);
+	void Handle_Fd_Event_Readable(int fd);
+	/* void Handle_Timeout(double time_since_last_call); */
+protected:
+	void user_map(const char *system_port);
+	void user_unmap(const char *system_port);
+
+	void user_start();
+	void user_stop();
+
+	void outgoing_send(const INTEGER& send_par);
+};
+
+} /* end of namespace */
+
+#endif
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn
index 1a3f965ee..c1f8f1c90 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn
@@ -29,12 +29,12 @@ module Sem_160102_predefined_functions_043 {
          var integer v_1;    //uninitialized value
            
         //uninitialized value
-        if( match(any2unistr(v_1),"UNINITIALIZED")) { setverdict(pass,"Result: ",any2unistr(v_1));}
-         else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: UNINITIALIZED");}
+        if( match(any2unistr(v_1),"<unbound>")) { setverdict(pass,"Result: ",any2unistr(v_1));}
+         else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: unbound");}
        
     }
 
     control{
         execute(TC_Sem_160102_predefined_functions_043());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn
index 45c394971..78e08040c 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn
@@ -20,7 +20,7 @@
 
 module Sem_160102_predefined_functions_046 {
 	    
-        type record MyRec {
+    type record MyRec {
         integer field1,
         boolean field2,
         integer field3 optional
@@ -34,12 +34,12 @@ module Sem_160102_predefined_functions_046 {
        template MyRec v_4 := {1,false,-}; // record containing integer, boolean and optional elements
            
         // record containing integer, boolean and optional elements
-        if(match(any2unistr(v_4),pattern "{ field1 := 1, field2 := false, field3 := UNINITIALIZED }" )) { 
+        if(match(any2unistr(v_4),"{ field1 := 1, field2 := false, field3 := <uninitialized template> }" )) { 
           setverdict(pass,"Result: ",any2unistr(v_4));}
-         else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := UNINITIALIZED }");}        
+         else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := <uninitialized template> }");}        
     }
 
     control{
         execute(TC_Sem_160102_predefined_functions_046());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn
index a0247c5c2..788fc77b4 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn
@@ -25,9 +25,11 @@ module Sem_160102_predefined_functions_063 {
 
     }
 
+	type charstring CS with { variant "ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_063 () runs on GeneralComp {
 
-    	var charstring v_test := "abc";
+    	var CS v_test := "abc";
 
      	//Encoding:  
 
@@ -43,4 +45,4 @@ module Sem_160102_predefined_functions_063 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn
index 33d1d9523..70a7b65f4 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn
@@ -27,9 +27,11 @@ module Sem_160102_predefined_functions_064 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_064 () runs on GeneralComp {
 
-		var charstring v_test := "abc";
+		var CS v_test := "ab";
 
 		 //Encoding:  
 
@@ -47,4 +49,4 @@ module Sem_160102_predefined_functions_064 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn
index 48e946eba..15288e1f5 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn
@@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_065 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_065 () runs on GeneralComp {
 
-    var charstring v_test := "abc";
+    var CS v_test := "ab";
 
      //Encoding:  
 
@@ -45,4 +47,4 @@ module Sem_160102_predefined_functions_065 {
 
     }
 
-}
\ No newline at end of file
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn
index ced14b2f1..63a15e164 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn
@@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_066 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(2), ALIGN(right)" };
+
     testcase TC_Sem_160102_predefined_functions_066 () runs on GeneralComp {
 
-    	var charstring v_test := "abc";
+    	var CS v_test := "ab";
 
      	//Encoding:  
 
@@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_066 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn
index d89fc51e4..b7876ff66 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn
@@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_067 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_067 () runs on GeneralComp {
 
-    	var charstring v_test := "abc";
+    	var CS v_test := "ab";
 
      	//Encoding:  
 
@@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_067 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn
index d0e1224a0..63d8c2d9a 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn
@@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_068 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(4), ALIGN(right)" };
+
     testcase TC_Sem_160102_predefined_functions_068 () runs on GeneralComp {
 
-    	var charstring v_test := "abc";
+    	var CS v_test := "ab";
 
      	//Encoding:  
 
@@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_068 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn
index 259f7dbaa..0112620e7 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn
@@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_069 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_069 () runs on GeneralComp {
 
-    	var charstring v_test := "abc";
+    	var CS v_test := "ab";
 
      	//Encoding:  
 
@@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_069 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn
index 8449ac9c4..1a17c7ba0 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn
@@ -26,19 +26,21 @@ module Sem_160102_predefined_functions_070 {
 
     }
 
+	type integer I with { variant "32 bit" };
+
     testcase TC_Sem_160102_predefined_functions_070 () runs on GeneralComp {
 
+		var I input := 123;
     
     	//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-8");
-
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-8");
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
 		}
@@ -51,4 +53,4 @@ module Sem_160102_predefined_functions_070 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn
index b0e9bfe3a..41bb499c2 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn
@@ -28,19 +28,22 @@ module Sem_160102_predefined_functions_071 {
 
     }
 
+	type charstring CS with { variant "" };
+
     testcase TC_Sem_160102_predefined_functions_071 () runs on GeneralComp {
 
-    
+		var CS input := "aBcDeF";
+
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar("aBcDeF","UTF-8");
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-8");
 
 
 		//decode:
-		var charstring v_test_dec;
+		var CS v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
 		}
@@ -53,4 +56,4 @@ module Sem_160102_predefined_functions_071 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn
index 1858d12d9..48d01103e 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn
@@ -26,19 +26,22 @@ module Sem_160102_predefined_functions_072 {
 
     }
 
+	type integer I with { variant "FIELDLENGTH(16)" };
+
     testcase TC_Sem_160102_predefined_functions_072 () runs on GeneralComp {
 
+		var I input := 123;
     
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-16");
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-16");
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
 		}
@@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_072 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn
index 116f49bbb..f8e1c08e6 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn
@@ -26,20 +26,22 @@ module Sem_160102_predefined_functions_073 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(8), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_073 () runs on GeneralComp {
 
     
 		//encoded text:
-		var universal charstring v_test := "aBcDe";
+		var CS v_test := "aBcdEF34";
 		var universal charstring v_enc := encvalue_unichar(v_test,"UTF-16");
 
 
 		//decode:
-		var charstring v_test_dec;
+		var CS v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_test_dec , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_test_dec , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_test_dec, " with result ", v_res);
 		}
@@ -52,4 +54,4 @@ module Sem_160102_predefined_functions_073 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn
index 4fcf5bbb6..a00f425e6 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn
@@ -26,19 +26,21 @@ module Sem_160102_predefined_functions_074 {
 
     }
 
+	type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)"};
+
     testcase TC_Sem_160102_predefined_functions_074 () runs on GeneralComp {
 
-    
+    	var I input := 123;
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-32"); //encode UTF-32
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-32"); //encode UTF-32
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
 		}
@@ -51,4 +53,4 @@ module Sem_160102_predefined_functions_074 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn
index a574e7d5a..9a6f60090 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn
@@ -27,19 +27,21 @@ module Sem_160102_predefined_functions_075 {
 
     }
 
+	type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" };
+
     testcase TC_Sem_160102_predefined_functions_075 () runs on GeneralComp {
 
-		
-		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar("aBc","UTF-32"); //encode UTF-32
+		var CS v_test := "aB";		
 
+		//encoded text:
+	   	var universal charstring v_enc := encvalue_unichar(v_test,"UTF-32"); //encode UTF-32
 
 		//decode:
-		var charstring v_test_dec;
+		var CS v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32)
 		
 		if (v_res == 0) {
-		      setverdict(pass, "Decoded ", v_enc , " with result ", v_res);
+		      setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res);
 		} else {
 		      setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res);
     	}
@@ -52,4 +54,4 @@ module Sem_160102_predefined_functions_075 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn
index b7d1a72a2..7d686c00e 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn
@@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_076 {
 
     }
 
+	type integer I with { variant "FIELDLENGTH(16)" };
+
     testcase TC_Sem_160102_predefined_functions_076 () runs on GeneralComp {
 
+		var I input := 123;
 		
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-16");
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-16");
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16LE"); //decode (UTF-16 little endian)
 		
 		if (v_res == 0) {
@@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_076 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn
index 95ff9d70f..5a84ab34e 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn
@@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_077 {
 
     }
 
+	type integer I with { variant "FIELDLENGTH(16)" };
+
     testcase TC_Sem_160102_predefined_functions_077 () runs on GeneralComp {
 
+		var I input := 123; 
 		
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-16BE");
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-16BE");
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16BE"); //decode (UTF-16 big endian)
 		
 		if (v_res == 0) {
@@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_077 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn
index e4ac5922a..95268cf1a 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn
@@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_078 {
 
     }
 
+	type integer I with { variant "FIELDLENGTH(32), BYTEORDER(first)" };
+
     testcase TC_Sem_160102_predefined_functions_078 () runs on GeneralComp {
 
-		
+		var I input := 123;
+
 		//encoded text:
-	   	var universal charstring v_enc := encvalue_unichar(123,"UTF-32LE");
+	   	var universal charstring v_enc := encvalue_unichar(input,"UTF-32LE");
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32LE"); //decode (UTF-32 little endian)
 		
 		if (v_res == 0) {
@@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_078 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn
index 0660468b1..075bc1716 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn
@@ -25,16 +25,19 @@ module Sem_160102_predefined_functions_079 {
     type component GeneralComp {
 
     }
+	
+	type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)" };
 
     testcase TC_Sem_160102_predefined_functions_079 () runs on GeneralComp {
 
+		var I input := 123;
 		
 		//encoded text:
-	    var universal charstring v_enc := encvalue_unichar(123,"UTF-32BE");
+	    var universal charstring v_enc := encvalue_unichar(input,"UTF-32BE");
 
 
 		//decode:
-		var integer v_test_dec;
+		var I v_test_dec;
 		var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32BE"); //decode (UTF-32 big endian)
 		
 		if (v_res == 0) {
@@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_079 {
 
     }
 
-}
+} with { encode "RAW"}
diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn
index 38c92234e..106e5280f 100755
--- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn
+++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn
@@ -50,4 +50,4 @@ module Sem_160102_predefined_functions_080 {
     control{
         execute(TC_Sem_160102_predefined_functions_080());
     }
-}
+} with {encode "RAW" }
diff --git a/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn b/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn
index 9ac64d00a..c9e344fc2 100755
--- a/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn
+++ b/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn
@@ -42,9 +42,9 @@ module Sem_B0105_toplevel_002 {
  		}
        
  		v_testMessage:=  {  
-		  	field1 := "ű",
-		  	field2 := "ű1234Ŵ",
-		  	field3 := "ű"
+		  	field1 := "ű",
+		  	field2 := "ű1234Ŵ",
+		  	field3 := "ű"
  		} 
  
 		connect(self:messagePort, self:messagePort);
diff --git a/conformance_test/positive_tests/Makefile b/conformance_test/positive_tests/Makefile
old mode 100755
new mode 100644
diff --git a/conformance_test/positive_tests/pos_conf_tests.cfg b/conformance_test/positive_tests/pos_conf_tests.cfg
index 1bd5da1c7..1e5fa924b 100644
--- a/conformance_test/positive_tests/pos_conf_tests.cfg
+++ b/conformance_test/positive_tests/pos_conf_tests.cfg
@@ -274,7 +274,6 @@ Sem_050402_actual_parameters_192.control
 Sem_050402_actual_parameters_194.control
 Sem_050402_actual_parameters_195.control
 Sem_050402_actual_parameters_196.control
-Sem_050402_actual_parameters_197.control
 Sem_050402_actual_parameters_198.control
 Sem_050402_actual_parameters_199.control
 Sem_050402_actual_parameters_200.control
@@ -302,6 +301,7 @@ Sem_060101_TopLevel_003.control
 Sem_060101_TopLevel_004.control
 Sem_060101_TopLevel_005.control
 Sem_060101_TopLevel_006.control
+Sem_060101_TopLevel_007.control
 Sem_06010201_ListOfValues_001.control
 Sem_06010202_ListOfTypes_001.control
 Sem_06010202_ListOfTypes_002.control
@@ -349,11 +349,16 @@ Sem_06020101_ReferencingRecordFields_013.control
 Sem_06020101_ReferencingRecordFields_014.control
 Sem_06020101_ReferencingRecordFields_016.control
 Sem_06020101_ReferencingRecordFields_017.control
+Sem_060201_RecordTypeValues_001.control
 Sem_060201_RecordTypeValues_002.control
+Sem_060201_RecordTypeValues_003.control
 Sem_060202_SetTypeValues_001.control
 Sem_060202_SetTypeValues_002.control
 Sem_060202_SetTypeValues_003.control
 Sem_060202_SetTypeValues_004.control
+Sem_060202_SetTypeValues_005.control
+Sem_060202_SetTypeValues_006.control
+Sem_060202_SetTypeValues_007.control
 Sem_060203_records_and_sets_of_single_types_001.control
 Sem_060203_records_and_sets_of_single_types_004.control
 Sem_060203_records_and_sets_of_single_types_005.control
@@ -446,6 +451,8 @@ Sem_060301_non_structured_types_004.control
 Sem_060302_structured_types_002.control
 Sem_060302_structured_types_003.control
 Sem_060302_structured_types_005.control
+Sem_060303_component_types_001.control
+Sem_060303_component_types_002.control
 Sem_070101_ArithmeticOperators_001.control
 Sem_070101_ArithmeticOperators_002.control
 Sem_070101_ArithmeticOperators_003.control
@@ -575,6 +582,8 @@ Sem_0901_Communication_ports_002.control
 Sem_0901_Communication_ports_003.control
 Sem_0901_Communication_ports_004.control
 Sem_0901_Communication_ports_005.control
+Sem_0902_Communication_ports_001.control
+Sem_0902_Communication_ports_002.control
 Sem_10_Constants_001.control
 Sem_10_Constants_002.control
 Sem_10_Constants_003.control
@@ -640,6 +649,7 @@ Sem_1505_ModifiedTemplates_003.control
 Sem_1505_ModifiedTemplates_004.control
 Sem_1505_ModifiedTemplates_005.control
 Sem_1505_ModifiedTemplates_006.control
+Sem_1505_ModifiedTemplates_007.control
 Sem_1505_ModifiedTemplates_009.control
 Sem_1505_ModifiedTemplates_010.control
 Sem_150602_ReferencingRecordAndSetFields_001.control
@@ -719,6 +729,28 @@ Sem_160102_predefined_functions_038.control
 Sem_160102_predefined_functions_039.control
 Sem_160102_predefined_functions_040.control
 Sem_160102_predefined_functions_041.control
+Sem_160102_predefined_functions_042.control
+Sem_160102_predefined_functions_043.control
+Sem_160102_predefined_functions_044.control
+Sem_160102_predefined_functions_045.control
+Sem_160102_predefined_functions_046.control
+Sem_160102_predefined_functions_063.control
+Sem_160102_predefined_functions_064.control
+Sem_160102_predefined_functions_065.control
+Sem_160102_predefined_functions_066.control
+Sem_160102_predefined_functions_067.control
+Sem_160102_predefined_functions_068.control
+Sem_160102_predefined_functions_069.control
+Sem_160102_predefined_functions_070.control
+Sem_160102_predefined_functions_071.control
+Sem_160102_predefined_functions_072.control
+Sem_160102_predefined_functions_073.control
+Sem_160102_predefined_functions_074.control
+Sem_160102_predefined_functions_075.control
+Sem_160102_predefined_functions_076.control
+Sem_160102_predefined_functions_077.control
+Sem_160102_predefined_functions_078.control
+Sem_160102_predefined_functions_079.control
 Sem_160102_predefined_functions_081.control
 Sem_160102_predefined_functions_082.control
 Sem_160102_predefined_functions_083.control
@@ -1105,6 +1137,7 @@ Sem_B010503_match_n_times_004.control
 Sem_B010503_match_n_times_005.control
 Sem_B010505_pattern_compatibility_001.control
 Sem_B0105_toplevel_001.control
+Sem_B0105_toplevel_002.control
 Sem_C0602_The_testcasename_function_001.control
 Sem_D01_macro_module_001.control
 Sem_D02_macro_file_001.control
diff --git a/conformance_test/positive_tests/pos_conf_tests.tpd b/conformance_test/positive_tests/pos_conf_tests.tpd
index 58fae8871..53136924b 100644
--- a/conformance_test/positive_tests/pos_conf_tests.tpd
+++ b/conformance_test/positive_tests/pos_conf_tests.tpd
@@ -838,7 +838,7 @@
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn"/>
    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn"/>
-<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn"/>-->
+    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn"/>
@@ -950,27 +950,23 @@
 <!---    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_015.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_015.ttcn"/> -->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_016.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_016.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_017.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/06020101_referencing_fields_of_record_type/Sem_06020101_ReferencingRecordFields_017.ttcn"/>
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSyn_060201_RecordTypeValues_002.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn"/>-->
+    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn"/>
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn"/>-->
+    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_003.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Syn_060201_RecordTypeValues_002.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn"/>
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn"/>-->
+    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn"/>
+    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn"/>
+    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn"/>-->
@@ -1293,8 +1289,8 @@
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn"/>-->
-<!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn"/>-->
+    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn"/>
+    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_001.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_002.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_003.ttcn" relativeURI="06_types_and_values/0603_type_compatibility/060304_compatibility_of_communication_operations/NegSem_060304_compatibility_of_communication_operations_003.ttcn"/>-->
@@ -1715,8 +1711,12 @@
 <!--    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn"/>-->
-<!--    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn"/> -->
-<!--    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn"/> -->
+    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn"/>
+	<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort.cc" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort.cc"/>
+	<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort.hh" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort.hh"/> 
+    <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn"/> 
+<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort1.cc" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort1.cc"/>
+	<FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/loopbackPort1.hh" relativeURI="09_test_configurations/0902_test_system_interface/loopbackPort1.hh"/>
     <FileResource projectRelativePath="09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn" relativeURI="09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn"/> 
 <!--    <FileResource projectRelativePath="10_constants/NegSem_10_Constants_001.ttcn" relativeURI="10_constants/NegSem_10_Constants_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="10_constants/NegSem_10_Constants_002.ttcn" relativeURI="10_constants/NegSem_10_Constants_002.ttcn"/>-->
@@ -1863,7 +1863,7 @@
     <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn"/>
     <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_005.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_005.ttcn"/>
     <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_006.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_006.ttcn"/>
-<!--    <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn"/> -->
+    <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_007.ttcn"/>
 <!--    <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_008.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_008.ttcn"/>-->
     <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_009.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_009.ttcn"/>
     <FileResource projectRelativePath="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_010.ttcn" relativeURI="15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_010.ttcn"/>
@@ -2125,11 +2125,11 @@
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_039.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_039.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_040.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_040.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_041.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_041.ttcn"/>
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn"/>-->
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_042.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_044.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_045.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn"/>
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_047.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_047.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_048.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_048.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_049.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_049.ttcn"/>-->
@@ -2145,23 +2145,23 @@
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn"/>-->
-<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn"/>-->
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn"/>
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn"/>-->
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_081.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_081.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_082.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_082.ttcn"/>
@@ -3332,7 +3332,7 @@
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010506_case_sensitive_pattern_matching/Sem_B010506_case_sensitive_pattern_matching_002.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn"/>
-<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn"/>-->
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn"/>
 <!--    <FileResource projectRelativePath="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_hostid_function_001.ttcn" relativeURI="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_hostid_function_001.ttcn"/>-->
     <FileResource projectRelativePath="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn" relativeURI="C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn"/>
     <FileResource projectRelativePath="D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn" relativeURI="D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn"/>
-- 
GitLab