diff --git a/conformance_test/core_language_tests/negative_tests/15_templates.script b/conformance_test/core_language_tests/negative_tests/15_templates.script
index db6ae710648e97fa3843f40aec94221c5c113565..85ec28f6459a03c6dd83b4aa40f7b309586148d1 100644
--- a/conformance_test/core_language_tests/negative_tests/15_templates.script
+++ b/conformance_test/core_language_tests/negative_tests/15_templates.script
@@ -3188,6 +3188,797 @@ error: Restriction on template does not allow usage of omit value
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_036 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) can't be parameter to a template(omit) if contains anyvalueornone(*) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_036 NegSem_1508_TemplateRestrictions_036.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to a template(omit) if contains anyvalueornone(*)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_036 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {}
+
+	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={
+		a := MyintTemplate,	
+	// template (present) MyintTemplate contains anyvalueornone(*), which is not allowed in omit restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_036() runs on GeneralComp {
+      
+		if (valueof(m_baseTemplate.b) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       }
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_036());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Restriction on template formal parameter does not allow usage of any or omit
+<END_RESULT>
+<RESULT COUNT 1>
+error: Formal parameter with template restriction `present' not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_037 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) can't be parameter to template(omit) if contains anyvalue(?) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_037 NegSem_1508_TemplateRestrictions_037.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to template(omit) if contains anyvalue(?)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_037 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := ?) :={
+		a := MyintTemplate,	
+		// template (present) MyintTemplate contains anyvalue(?), which is not allowed in omit restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_037() runs on GeneralComp {
+
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       }
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_037());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter with template restriction `present' not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_038 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) can't be parameter to template(value) if it contains anyvalueornone(*) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_038 NegSem_1508_TemplateRestrictions_038.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to template(value) if it contains anyvalueornone(*)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_038 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {}
+
+	template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={
+		a := MyintTemplate,	
+// template (present) MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_038() runs on GeneralComp {
+
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       }
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_038());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Restriction on template formal parameter does not allow usage of any or omit
+<END_RESULT>
+<RESULT COUNT 1>
+error: Formal parameter with template restriction `present' not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_039 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that unrestricted template can't be parameter to template(value) if it contains anyvalueornone(*) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_039 NegSem_1508_TemplateRestrictions_039.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that unrestricted template can't be parameter to template(value) if it contains anyvalueornone(*)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_039 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {}
+
+	template (value) ExampleType m_baseTemplate(template integer MyintTemplate := *) :={
+		a := MyintTemplate,	
+	// template MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_039() runs on GeneralComp {
+      
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       	}
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_039());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter without template restriction not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_040 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) can't be parameter to a template(omit) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_040 NegSem_1508_TemplateRestrictions_040.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to a template(omit)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_040 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {}
+
+	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 1) :={
+		a := MyintTemplate,	// template (present)is not allowed parameter in omit restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_040() runs on GeneralComp {
+
+		if (valueof(m_baseTemplate.b) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       	}
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_040());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter with template restriction `present' not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_041 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that unrestricted template cannot be parameter to template(value) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_041 NegSem_1508_TemplateRestrictions_041.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that unrestricted template cannot be parameter to template(value)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_041 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (value) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={
+		a := MyintTemplate,	 // template is not allowed parameter in value restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_041() runs on GeneralComp {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       	}
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_041());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter without template restriction not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_042 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) cannot be parameter to template(value) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_042 NegSem_1508_TemplateRestrictions_042.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) cannot be parameter to template(value)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_042 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+	boolean b 
+       }	
+	
+	type component GeneralComp {
+	}
+
+	template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 2) :={
+		a := MyintTemplate,	 // template (present)is not allowed parameter in value restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_042() runs on GeneralComp {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       }
+ }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_042());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter with template restriction `present' not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_043 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that template(present) can be parameter to template(omit) >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_043 NegSem_1508_TemplateRestrictions_043.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can be parameter to template(omit)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_043 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (omit) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={
+		a := MyintTemplate,	// template is not allowed parameter in omit restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_043() runs on GeneralComp {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       	}
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_043());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Formal parameter without template restriction not allowed here
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_045 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_045 NegSem_1508_TemplateRestrictions_045.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_044 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+	
+    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { // value -> present restriction change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_044() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_044());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_044.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_045 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -  Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_045 NegSem_1508_TemplateRestrictions_045.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_045 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template(omit) integer p_myInt) modifies m_baseTemplate := { // value -> omit restriction change is not allowed
+        a := 21
+    }
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_045() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_045());
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_045.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_046 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - Ensure that the restrictiveness of parameters template(value)->template is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_046 NegSem_1508_TemplateRestrictions_046.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_046 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// value -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_046() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_046());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_046.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_047 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_047 NegSem_1508_TemplateRestrictions_047.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_047 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { // omit -> present restriction change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_047() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_047());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_047.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_048 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_048 NegSem_1508_TemplateRestrictions_048.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_048 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// omit -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_048() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_048());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_048.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_1508_TemplateRestrictions_049 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1508_TemplateRestrictions_049 NegSem_1508_TemplateRestrictions_049.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: This is not allowed in Titan
+
+module NegSem_1508_TemplateRestrictions_049 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(present) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// present -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_049() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_049());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The restriction of parameter is not the same or more restrictive as in base template `@NegSem_1508_TemplateRestrictions_049.m_baseTemplate'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_1508_TemplateRestrictions_050 negative test
 .*---------------------------------------------------------------------*
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn
index 62ce9a893fbf085e20e54c309153a1858d577b82..dfca103043d0b7fdfcff4c9c01fb47b80c8c1059 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn
@@ -18,9 +18,9 @@ module NegSem_1508_TemplateRestrictions_037 {
 	type component GeneralComp {
 	}
 
-	template (omit) ExampleType m_baseTemplate(template integer MyintTemplate := ?) :={
+	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := ?) :={
 		a := MyintTemplate,	
-		// template MyintTemplate contains anyvalue(?), which is not allowed in omit restriction 
+		// template (present) MyintTemplate contains anyvalue(?), which is not allowed in omit restriction 
 		b := true
 	}
 	
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn
index f2af3060de8d0de994af903294751149d6285cc0..2278ebe516e97482bd83104aec558aa331bca457 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn
@@ -4,7 +4,7 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that template(omit) can't be parameter to template(value) if it is omit
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to template(value) if it contains anyvalueornone(*)
  ** @verdict  pass reject
  *****************************************************************/
 
@@ -15,12 +15,11 @@ module NegSem_1508_TemplateRestrictions_038 {
 		boolean b 
     }	
 	
-	type component GeneralComp {
-	}
+	type component GeneralComp {}
 
-	template (value) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={
+	template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={
 		a := MyintTemplate,	
-		// template (omit) MyintTemplate is omit, which is not allowed with value restriction 
+// template (present) MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
 		b := true
 	}
 	
@@ -30,7 +29,7 @@ module NegSem_1508_TemplateRestrictions_038 {
       		setverdict(pass);
 		} else {
             setverdict(fail);
-        }
+       }
  	}
 
     control{
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn
index 6fd604fe1c6fee788438a97d0519ed5b018c86c1..c31f0fdb6e4fe03288e9c71bf8d9ad2c81669315 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn
@@ -4,7 +4,7 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that template(present) can't be parameter to template(value) if it contains anyvalueornone(*)
+ ** @purpose  1:15.8, Ensure that unrestricted template can't be parameter to template(value) if it contains anyvalueornone(*)
  ** @verdict  pass reject
  *****************************************************************/
 
@@ -15,24 +15,21 @@ module NegSem_1508_TemplateRestrictions_039 {
 		boolean b 
     }	
 	
-	type component GeneralComp {
-	}
-
+	type component GeneralComp {}
 
-
-	template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={
+	template (value) ExampleType m_baseTemplate(template integer MyintTemplate := *) :={
 		a := MyintTemplate,	
-// template (present) MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
+	// template MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
 		b := true
 	}
 	
 	testcase TC_NegSem_1508_TemplateRestrictions_039() runs on GeneralComp {
-
+      
 		if (ispresent(m_baseTemplate.a) == true) {
       		setverdict(pass);
 		} else {
             setverdict(fail);
-       }
+       	}
  	}
 
     control{
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn
index 9cc01af3636076845ea4c900532f13d13789bed5..bd918ef2849ebd2889675a51b557d361be219f55 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn
@@ -4,7 +4,7 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that unrestricted template can't be parameter to template(value) if it contains anyvalueornone(*)
+ ** @purpose  1:15.8, Ensure that template(present) can't be parameter to a template(omit)
  ** @verdict  pass reject
  *****************************************************************/
 
@@ -17,15 +17,14 @@ module NegSem_1508_TemplateRestrictions_040 {
 	
 	type component GeneralComp {}
 
-	template (value) ExampleType m_baseTemplate(template integer MyintTemplate := *) :={
-		a := MyintTemplate,	
-	// template MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction 
+	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 1) :={
+		a := MyintTemplate,	// template (present)is not allowed parameter in omit restriction 
 		b := true
 	}
 	
 	testcase TC_NegSem_1508_TemplateRestrictions_040() runs on GeneralComp {
-      
-		if (ispresent(m_baseTemplate.a) == true) {
+
+		if (valueof(m_baseTemplate.b) == true) {
       		setverdict(pass);
 		} else {
             setverdict(fail);
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn
index b68ca5962bb755a887a4ad67b794e7d98ee19d0a..16c9fb4ea469ef24c72fa11097cfa6af03c72977 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn
@@ -4,8 +4,8 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that template (omit) can't be parameter to template(present) if it contains omit
- ** @verdict  pass reject
+ ** @purpose  1:15.8, Ensure that unrestricted template cannot be parameter to template(value)
+ ** @verdict  pass accept, ttcn3verdict:pass
  *****************************************************************/
 
 module NegSem_1508_TemplateRestrictions_041 {
@@ -18,19 +18,19 @@ module NegSem_1508_TemplateRestrictions_041 {
 	type component GeneralComp {
 	}
 
-	template (present) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={
-		a := MyintTemplate,	
-	// template (omit) MyintTemplate contains omit, which is not allowed with present restriction 
+	template (value) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={
+		a := MyintTemplate,	 // template is not allowed parameter in value restriction 
 		b := true
 	}
 	
 	testcase TC_NegSem_1508_TemplateRestrictions_041() runs on GeneralComp {
-
+      
+		
 		if (ispresent(m_baseTemplate.a) == true) {
       		setverdict(pass);
 		} else {
             setverdict(fail);
-        }
+       	}
  	}
 
     control{
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn
index aefd1965965ae57e0ccb31fb64b418da4cf91ee6..d031f2a50f45e0dcc11a7230200a2de4868a8212 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn
@@ -4,7 +4,7 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the an unrestriced template can't be parameter to template(present) if it contains omit
+ ** @purpose  1:15.8, Ensure that template(present) cannot be parameter to template(value)
  ** @verdict  pass reject
  *****************************************************************/
 
@@ -12,26 +12,26 @@ module NegSem_1508_TemplateRestrictions_042 {
 
     type record ExampleType {	// Exampletype record integer and a boolean
        	integer a,
-		boolean b 
-    }	
+	boolean b 
+       }	
 	
 	type component GeneralComp {
 	}
 
-	template (present) ExampleType m_baseTemplate(template integer MyintTemplate := omit) :={
-		a := MyintTemplate,	
-	// template MyintTemplate contains omit, which is not allowed with present restriction 
+	template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 2) :={
+		a := MyintTemplate,	 // template (present)is not allowed parameter in value restriction 
 		b := true
 	}
 	
 	testcase TC_NegSem_1508_TemplateRestrictions_042() runs on GeneralComp {
-
+      
+		
 		if (ispresent(m_baseTemplate.a) == true) {
       		setverdict(pass);
 		} else {
             setverdict(fail);
        }
- 	}
+ }
 
     control{
         execute(TC_NegSem_1508_TemplateRestrictions_042());
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_043.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_043.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..07180d7c1795862873edb6abbca6ff6ddaf7817a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_043.ttcn
@@ -0,0 +1,39 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that template(present) can be parameter to template(omit)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1508_TemplateRestrictions_043 {
+
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (omit) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={
+		a := MyintTemplate,	// template is not allowed parameter in omit restriction 
+		b := true
+	}
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_043() runs on GeneralComp {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail);
+       	}
+ 	}
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_043());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_044.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_044.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..0bb386861ac2e65f02f1a243a4f767c8662dbfdf
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_044.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core language standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
+module NegSem_1508_TemplateRestrictions_044 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+	
+    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { // value -> present restriction change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_044() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_044());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_045.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_045.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..bcb08f3043ea84e89998ef919ed88c0b0211f71d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_045.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core languate standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
+module NegSem_1508_TemplateRestrictions_045 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template(omit) integer p_myInt) modifies m_baseTemplate := { // value -> omit restriction change is not allowed
+        a := 21
+    }
+	
+	testcase TC_NegSem_1508_TemplateRestrictions_045() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_045());
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_046.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_046.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..324d7558c13c52080cb5c094c8b93283c20e30da
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_046.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core languate standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
+module NegSem_1508_TemplateRestrictions_046 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// value -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_046() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_046());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_047.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_047.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..b659798c6a4e03dd1569f0b3c376c62650167a4f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_047.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core languate standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
+module NegSem_1508_TemplateRestrictions_047 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { // omit -> present restriction change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_047() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_047());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_048.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_048.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..33fbcebf80f46c3fb9aba7a1c2652541f777e59b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_048.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core languate standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
+module NegSem_1508_TemplateRestrictions_048 {
+
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
+
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// omit -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_048() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    control{
+        execute(TC_NegSem_1508_TemplateRestrictions_048());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn
index 150e1c6646750cda543c0dada65bf22066a8eba4..70f6ae0ac37a252a42a026f273fcf2c9cbf729b7 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn
@@ -4,32 +4,54 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that template(present) can't be parameter to a template(omit)
- ** @verdict  pass reject
+ ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @verdict  pass accept, ttcn3verdict:pass
  *****************************************************************/
 
+// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
+// Older versions of the core languate standard didn't allow this type of 
+// modification because of restriction 15.8.c.
+
+// ATTENTION: This is not allowed in Titan
+
+/*
+Pro opinion:
+Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
+Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
+
+Contra opinion
+The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
+
+*/
+
 module NegSem_1508_TemplateRestrictions_049 {
 
-    type record ExampleType {	// Exampletype record integer and a boolean
-       	integer a,
-		boolean b 
-    }	
-	
-	type component GeneralComp {}
-
-	template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 1) :={
-		a := MyintTemplate,	// template (present)is not allowed parameter in omit restriction 
-		b := true
-	}
-	
-	testcase TC_NegSem_1508_TemplateRestrictions_049() runs on GeneralComp {
+	type component GeneralComp { }
+
+    type record ExampleType {
+        integer a,
+        boolean b optional
+    }
+
+    template(present) ExampleType m_baseTemplate(template(present) integer p_myInt) := {
+        a := p_myInt,
+        b := true
+    }
 
-		if (valueof(m_baseTemplate.b) == true) {
-      		setverdict(pass);
-		} else {
+    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
+		// present -> unrestricted change is not allowed
+        a := 21
+    }
+
+	testcase TC_NegSem_1508_TemplateRestrictions_049() runs on GeneralComp {
+        if (match(valueof(m_modifiedTemplate(1).a), 21) and
+            match(valueof(m_modifiedTemplate(1).b), true)
+        ) {
+            setverdict(pass);
+        } else {
             setverdict(fail);
-       	}
- 	}
+        }
+    }
 
     control{
         execute(TC_NegSem_1508_TemplateRestrictions_049());
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn
index 8d22db022ed4076f460a470283321ef72596dbea..ac6c345e212e30fa58fd65fddb884476f38ff375 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn
@@ -4,51 +4,33 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly.
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @purpose  1:15.8, Ensure that template (omit) can be parameter to template(present) if it contains omit
+ ** @verdict  pass reject
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core language standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_031 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a optional,
+		boolean b 
+    }	
 	
-    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
+	type component GeneralComp {
+	}
 
+	template (present) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={
+		a := MyintTemplate,	 
+		b := true
+	}
+	
 	testcase TC_Sem_1508_TemplateRestrictions_031() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
-            setverdict(fail);
+
+		if (match(valueof(m_baseTemplate),ExampleType:{omit,true}) == true) {
+      		setverdict(pass);
+		} else {
+            setverdict(fail,m_baseTemplate);
         }
-    }
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_031());
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn
index afec73063d964401c7a751dac36602d8cee64415..05ea695f240f90d84b4a9f5fbedcb36de6321991 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn
@@ -4,54 +4,35 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly.
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @purpose  1:15.8, Ensure that the an unrestriced template can be parameter to template(present) if it contains omit
+ ** @verdict  pass reject
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core languate standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_032 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a optional,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
 
-    template(present) ExampleType m_modifiedTemplate(template(omit) integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
+	template (present) ExampleType m_baseTemplate(template integer MyintTemplate := omit) :={
+		a := MyintTemplate,	 
+		b := true
+	}
 	
 	testcase TC_Sem_1508_TemplateRestrictions_032() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
+
+		if (match(valueof(m_baseTemplate),ExampleType:{omit,true}) == true) {
+      		setverdict(pass);
+		} else {
             setverdict(fail);
-        }
-    }
+       }
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_032());
     }
-
-}
\ No newline at end of file
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn
index ab1cb5feb7b34af9f0b1025a0cd4b58d17d703dd..05e329ecc7cb3aa7106fa07f6846e7752f2437d4 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn
@@ -4,53 +4,36 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(value)->template is handled correctly.
+ ** @purpose  1:15.8, Ensure that the an unrestriced template can be parameter to template(present)
  ** @verdict  pass accept, ttcn3verdict:pass
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core languate standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_033 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
-
-    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
-
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (present) ExampleType m_baseTemplate(template integer MyintTemplate := 21) :={
+		a := MyintTemplate,	 
+		b := true
+	}
+	
 	testcase TC_Sem_1508_TemplateRestrictions_033() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
             setverdict(fail);
-        }
-    }
+       	}
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_033());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn
index 6edfaf172d3d040c6d21b4d36ad6a82bf6be250f..70e459670e73b59912b2a37bbad3e7c3380b7a45 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn
@@ -4,53 +4,36 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
+ ** @purpose  1:15.8, Ensure that template (omit) can be parameter to template(present)
  ** @verdict  pass accept, ttcn3verdict:pass
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core languate standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_034 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
-
-    template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
-
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (present) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := 21) :={
+		a := MyintTemplate,	 
+		b := true
+	}
+	
 	testcase TC_Sem_1508_TemplateRestrictions_034() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
+      
+		
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
             setverdict(fail);
-        }
-    }
+       	}
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_034());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn
index 99d996965ae879d0b357725a4365b48fa64744fd..b6423f03e1abea5feeb906b4eade1e29a157bdaa 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn
@@ -4,53 +4,35 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @purpose  1:15.8, Ensure that template(omit) can be parameter to template(value) if it is omit
+ ** @verdict  pass reject
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core languate standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_035 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
-
-    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
-
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a optional,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (value) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={
+		a := MyintTemplate,	
+		b := true
+	}
+	
 	testcase TC_Sem_1508_TemplateRestrictions_035() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
+
+		if (match(valueof(m_baseTemplate),ExampleType:{omit,true}) == true) {
+      		setverdict(pass);
+		} else {
             setverdict(fail);
         }
-    }
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_035());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn
index fb9e2e0d4225bf7960e37382146c341593d5c15f..94d4dd02aa49288b5e150f6af087613e56884fe8 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn
@@ -4,53 +4,35 @@
  * Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly.
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @purpose  1:15.8, Ensure that template(omit) can be parameter to template(value)
+ ** @verdict  pass reject
  *****************************************************************/
 
-// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer
-// Older versions of the core languate standard didn't allow this type of 
-// modification because of restriction 15.8.c.
-
-/*
-Pro opinion:
-Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify.
-Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue.
-
-Contra opinion
-The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is.
-
-*/
-
 module Sem_1508_TemplateRestrictions_036 {
 
-	type component GeneralComp { }
-
-    type record ExampleType {
-        integer a,
-        boolean b optional
-    }
-
-    template(present) ExampleType m_baseTemplate(template(present) integer p_myInt) := {
-        a := p_myInt,
-        b := true
-    }
-
-    template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := {
-        a := 21
-    }
-
+    type record ExampleType {	// Exampletype record integer and a boolean
+       	integer a,
+		boolean b 
+    }	
+	
+	type component GeneralComp {
+	}
+
+	template (value) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := 1) :={
+		a := MyintTemplate,	 
+		b := true
+	}
+	
 	testcase TC_Sem_1508_TemplateRestrictions_036() runs on GeneralComp {
-        if (match(valueof(m_modifiedTemplate(1).a), 21) and
-            match(valueof(m_modifiedTemplate(1).b), true)
-        ) {
-            setverdict(pass);
-        } else {
+      
+		if (ispresent(m_baseTemplate.a) == true) {
+      		setverdict(pass);
+		} else {
             setverdict(fail);
-        }
-    }
+       	}
+ 	}
 
     control{
         execute(TC_Sem_1508_TemplateRestrictions_036());
     }
-}
\ No newline at end of file
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_037.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_037.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..e6fa181813f1088fa38291d68685f2ab53e07b7a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_037.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (C) 2016 ETSI  All Rights Reserved.
+ *
+ * Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.8, Ensure that decoded content match is allowed for present template restriction
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+//RAW encoding adds extra bits, up to 8 bit, to a bitstring because it encodes anything into an octetstring
+
+module Sem_1508_TemplateRestrictions_037 { 
+
+	type record MessageType {
+	  	hexstring payload
+	}
+	
+	type record Mymessage {
+	  	integer field1,
+	  	bitstring field2 optional
+    } with { variant " "};
+	
+
+   	type port loopbackPort message
+	{inout MessageType} with {extension "internal"};
+	
+
+	type component GeneralComp {	    	    
+		  port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_1508_TemplateRestrictions_037() runs on GeneralComp {
+		var bitstring v_enc;
+		var Mymessage v_testMessage;
+		var MessageType Message;
+
+		var MessageType got;
+		var Mymessage dec_got;
+		
+		v_testMessage:=  {  
+		    field1 := 10,
+		    field2 := '1001'B
+		} 
+
+		Message.payload := bit2hex(encvalue(v_testMessage)); //encode message to payload
+		      
+ 		template (present) MessageType mw_matchingTemplate:=
+  		{  			
+  			payload :=  decmatch Mymessage: {field1:= 10, field2 := '00001001'B}
+  		} 
+
+		connect(self:messagePort, self:messagePort);
+	  	messagePort.send(Message);	//send message
+
+		var bitstring bitpayload := hex2bit(Message.payload);
+
+		var integer v_res := decvalue(bitpayload, dec_got);
+
+		alt {
+		 	[] messagePort.receive(mw_matchingTemplate) {
+		    	setverdict(pass);
+		 	}
+		 	[] messagePort.receive(MessageType:?) -> value got  {
+		    	setverdict(fail,"exepted: ", mw_matchingTemplate, " recieved: ", dec_got);
+		 	}
+		}
+    
+	}
+
+	control{
+		execute(TC_Sem_1508_TemplateRestrictions_037());
+	}
+
+} with { encode "RAW"}
+ 
diff --git a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg
index 2295ff53e41f50c23db261f47cd750c53491b74d..dcb552698d9391eaa7ff73dd8e0feb54b7c74437 100644
--- a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg
+++ b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg
@@ -750,7 +750,20 @@ Sem_1508_TemplateRestrictions_020.control
 Sem_1508_TemplateRestrictions_021.control
 Sem_1508_TemplateRestrictions_022.control
 Sem_1508_TemplateRestrictions_023.control
-Sem_1508_TemplateRestrictions_049.control
+Sem_1508_TemplateRestrictions_024.control
+Sem_1508_TemplateRestrictions_025.control
+Sem_1508_TemplateRestrictions_026.control
+Sem_1508_TemplateRestrictions_027.control
+Sem_1508_TemplateRestrictions_028.control
+Sem_1508_TemplateRestrictions_029.control
+Sem_1508_TemplateRestrictions_030.control
+Sem_1508_TemplateRestrictions_031.control
+Sem_1508_TemplateRestrictions_032.control
+Sem_1508_TemplateRestrictions_033.control
+Sem_1508_TemplateRestrictions_034.control
+Sem_1508_TemplateRestrictions_035.control
+Sem_1508_TemplateRestrictions_036.control
+Sem_1508_TemplateRestrictions_037.control
 Sem_1509_MatchOperation_001.control
 Sem_1509_MatchOperation_002.control
 Sem_1509_MatchOperation_003.control
diff --git a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd
index 6260c3c015bc3fc23eebd8585de79d8aac46dc0b..ca7ef1bcdb533fd1ef148b5b6afaa43d455edf50 100644
--- a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd
+++ b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd
@@ -1959,6 +1959,12 @@
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_043.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_043.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_044.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_044.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_045.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_045.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_046.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_046.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_047.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_047.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_048.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_048.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_050.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_050.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_051.ttcn" relativeURI="15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_051.ttcn"/>-->
@@ -1985,26 +1991,20 @@
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn"/>
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn"/>-->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_046.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_046.ttcn"/>-->
-<!--   <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_047.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_047.ttcn"/> -->
-<!--    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_048.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_048.ttcn"/>-->
-    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_049.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_049.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn"/>
+    <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn"/>
+   <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn"/> 
+   <FileResource projectRelativePath="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_037.ttcn" relativeURI="15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_037.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn" relativeURI="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn" relativeURI="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn" relativeURI="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn"/>
diff --git a/usrguide/SoC_TITAN.docx b/usrguide/SoC_TITAN.docx
index e45382ebce34fe39668ff7101df3fd058efec68f..12a129d4c90a05d76c5f30526d4958162f301df7 100644
Binary files a/usrguide/SoC_TITAN.docx and b/usrguide/SoC_TITAN.docx differ