From d4e9a25eb10e294324e75bb9702d1bb9b3b675a0 Mon Sep 17 00:00:00 2001
From: Adrien Kirjak <adrien.kirjak@ericsson.com>
Date: Mon, 12 Mar 2018 09:12:54 +0100
Subject: [PATCH] Added new tests from etsi and updated SoC document

Signed-off-by: Adrien Kirjak <adrien.kirjak@ericsson.com>
---
 .../05_basic_language_elements.script         | 6985 +++++++++++------
 .../negative_tests/06_types_and_values.script |  703 +-
 .../negative_tests/07-14_folder.script        |  367 +
 .../negative_tests/08_empty_modules.script    |   28 +
 .../negative_tests/15_templates.script        |   92 +-
 .../negative_tests/16-20_folders.script       |   62 +
 .../21_configuration_operations.script        |   73 +-
 .../22_communication_operations.script        | 3228 ++++++--
 .../negative_tests/23-27-B_folders.script     |  296 +-
 .../Sem_050202_Uniqueness_004.ttcn            |   50 +
 .../Sem_050202_Uniqueness_005.ttcn            |   54 +
 ...40102_parameters_of_kind_template_008.ttcn |    2 +-
 ...40102_parameters_of_kind_template_018.ttcn |   43 +
 ...40102_parameters_of_kind_template_019.ttcn |   43 +
 ...05040103_parameters_of_kind_timer_001.ttcn |   47 +
 ...05040103_parameters_of_kind_timer_002.ttcn |   48 +
 ...05040103_parameters_of_kind_timer_003.ttcn |   41 +
 ...05040103_parameters_of_kind_timer_004.ttcn |   43 +
 ...05040103_parameters_of_kind_timer_001.ttcn |   44 +
 ...05040103_parameters_of_kind_timer_002.ttcn |   56 +
 ...05040103_parameters_of_kind_timer_002.ttcn |   44 +
 ...05040103_parameters_of_kind_timer_003.ttcn |   46 +
 ..._05040104_parameters_of_kind_port_001.ttcn |   51 +
 ..._05040104_parameters_of_kind_port_002.ttcn |   53 +
 ..._05040104_parameters_of_kind_port_003.ttcn |   48 +
 ..._05040104_parameters_of_kind_port_004.ttcn |   47 +
 ..._05040104_parameters_of_kind_port_005.ttcn |   49 +
 ..._05040104_parameters_of_kind_port_006.ttcn |   46 +
 ..._05040104_parameters_of_kind_port_002.ttcn |   48 +
 .../NegSem_050402_actual_parameters_057.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_058.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_059.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_060.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_061.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_062.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_063.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_064.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_065.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_066.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_067.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_068.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_069.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_070.ttcn  |    8 +-
 .../NegSem_050402_actual_parameters_071.ttcn  |    5 +-
 .../NegSem_050402_actual_parameters_072.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_073.ttcn  |    7 +-
 .../NegSem_050402_actual_parameters_074.ttcn  |    5 +-
 .../NegSem_050402_actual_parameters_146.ttcn  |   46 +
 .../NegSem_050402_actual_parameters_147.ttcn  |   51 +
 .../NegSem_050402_actual_parameters_148.ttcn  |   51 +
 .../NegSem_050402_actual_parameters_149.ttcn  |   48 +
 .../NegSem_050402_actual_parameters_150.ttcn  |   48 +
 .../NegSem_050402_actual_parameters_151.ttcn  |   47 +
 .../NegSem_050402_actual_parameters_152.ttcn  |   50 +
 .../NegSem_050402_actual_parameters_153.ttcn  |   55 +
 .../NegSem_050402_actual_parameters_154.ttcn  |   54 +
 .../NegSem_050402_actual_parameters_155.ttcn  |   52 +
 .../NegSem_050402_actual_parameters_156.ttcn  |   52 +
 .../NegSem_050402_actual_parameters_157.ttcn  |   51 +
 .../NegSem_050402_actual_parameters_158.ttcn  |   43 +
 .../NegSem_050402_actual_parameters_159.ttcn  |   41 +
 .../NegSem_050402_actual_parameters_160.ttcn  |   47 +
 .../NegSem_050402_actual_parameters_161.ttcn  |   39 +
 .../NegSem_050402_actual_parameters_162.ttcn  |   48 +
 .../NegSem_050402_actual_parameters_163.ttcn  |   48 +
 .../NegSem_050402_actual_parameters_164.ttcn  |   49 +
 .../NegSem_050402_actual_parameters_165.ttcn  |   46 +
 .../NegSem_050402_actual_parameters_166.ttcn  |   50 +
 .../NegSem_050402_actual_parameters_167.ttcn  |   52 +
 .../NegSem_050402_actual_parameters_168.ttcn  |   51 +
 .../NegSem_050402_actual_parameters_169.ttcn  |   50 +
 .../NegSem_050402_actual_parameters_170.ttcn  |   53 +
 .../NegSem_050402_actual_parameters_171.ttcn  |   50 +
 .../NegSem_050402_actual_parameters_172.ttcn  |   54 +
 .../NegSem_050402_actual_parameters_173.ttcn  |   56 +
 .../NegSem_050402_actual_parameters_174.ttcn  |   55 +
 .../NegSem_050402_actual_parameters_175.ttcn  |   54 +
 .../NegSem_050402_actual_parameters_176.ttcn  |   57 +
 .../NegSem_050402_actual_parameters_177.ttcn  |   41 +
 .../NegSem_050402_actual_parameters_178.ttcn  |   44 +
 .../NegSem_050402_actual_parameters_179.ttcn  |   45 +
 .../NegSem_050402_actual_parameters_180.ttcn  |   45 +
 .../NegSem_050402_actual_parameters_181.ttcn  |   45 +
 .../NegSem_050402_actual_parameters_182.ttcn  |   49 +
 .../Sem_050402_actual_parameters_113.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_114.ttcn     |    8 +-
 .../Sem_050402_actual_parameters_115.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_116.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_117.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_118.ttcn     |    8 +-
 .../Sem_050402_actual_parameters_119.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_120.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_121.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_122.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_123.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_124.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_125.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_126.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_127.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_128.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_129.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_130.ttcn     |    7 +-
 .../Sem_050402_actual_parameters_135.ttcn     |    5 +-
 .../Sem_050402_actual_parameters_136.ttcn     |    5 +-
 .../Sem_050402_actual_parameters_141.ttcn     |    5 +-
 .../Sem_050402_actual_parameters_142.ttcn     |    4 +-
 .../Sem_050402_actual_parameters_147.ttcn     |    6 +-
 .../Sem_050402_actual_parameters_148.ttcn     |    6 +-
 .../Sem_050402_actual_parameters_154.ttcn     |    4 +-
 .../Sem_050402_actual_parameters_203.ttcn     |   51 +
 .../Sem_050402_actual_parameters_204.ttcn     |   51 +
 .../Sem_050402_actual_parameters_205.ttcn     |   54 +
 .../Sem_050402_actual_parameters_206.ttcn     |   55 +
 .../Sem_050402_actual_parameters_207.ttcn     |   55 +
 .../Sem_050402_actual_parameters_208.ttcn     |   54 +
 .../Sem_050402_actual_parameters_209.ttcn     |   56 +
 .../Sem_050402_actual_parameters_210.ttcn     |   55 +
 .../Sem_050402_actual_parameters_211.ttcn     |   46 +
 .../Sem_050402_actual_parameters_212.ttcn     |   55 +
 .../Sem_050402_actual_parameters_213.ttcn     |   55 +
 .../Sem_050402_actual_parameters_214.ttcn     |   58 +
 .../Sem_050402_actual_parameters_215.ttcn     |   59 +
 .../Sem_050402_actual_parameters_216.ttcn     |   59 +
 .../Sem_050402_actual_parameters_217.ttcn     |   58 +
 .../Sem_050402_actual_parameters_218.ttcn     |   59 +
 .../Sem_050402_actual_parameters_219.ttcn     |   59 +
 .../Sem_050402_actual_parameters_220.ttcn     |   50 +
 .../Sem_050402_actual_parameters_221.ttcn     |   45 +
 .../Sem_050402_actual_parameters_222.ttcn     |   49 +
 .../Sem_050402_actual_parameters_223.ttcn     |   44 +
 .../Sem_050402_actual_parameters_224.ttcn     |   48 +
 .../Sem_050402_actual_parameters_225.ttcn     |   44 +
 .../Sem_050402_actual_parameters_226.ttcn     |   48 +
 .../Sem_0505_cyclic_definitions_004.ttcn      |    4 +-
 ...Sem_06010101_AccessStringElements_001.ttcn |   46 +
 ...Sem_06010101_AccessStringElements_002.ttcn |   46 +
 ...Sem_06010101_AccessStringElements_003.ttcn |   46 +
 ...Sem_06010101_AccessStringElements_004.ttcn |   46 +
 ...Sem_06010101_AccessStringElements_005.ttcn |   46 +
 ...Sem_06010101_AccessStringElements_006.ttcn |   46 +
 .../Sem_060101_TopLevel_008.ttcn              |   48 +
 .../Sem_060101_TopLevel_009.ttcn              |   48 +
 .../Sem_060101_TopLevel_010.ttcn              |   48 +
 .../Sem_060101_TopLevel_011.ttcn              |   50 +
 .../Sem_060101_TopLevel_012.ttcn              |   48 +
 .../Sem_060101_TopLevel_013.ttcn              |   49 +
 .../Sem_060101_TopLevel_014.ttcn              |   40 +
 .../Sem_060101_TopLevel_015.ttcn              |   41 +
 ...060204_enumerated_type_and_values_012.ttcn |   47 +
 ...060204_enumerated_type_and_values_001.ttcn |   30 +
 ...060204_enumerated_type_and_values_007.ttcn |   51 +
 ..._referencing_fields_of_union_type_007.ttcn |   56 +
 ..._referencing_fields_of_union_type_008.ttcn |   58 +
 .../NegSyn_060207_arrays_005.ttcn             |   29 +
 .../NegSem_06021301_LengthSubtyping_005.ttcn  |   30 +
 .../NegSem_06021301_LengthSubtyping_006.ttcn  |   32 +
 .../NegSyn_0602_TopLevel_004.ttcn             |   37 +
 .../NegSyn_0602_TopLevel_005.ttcn             |   51 +
 .../NegSyn_0602_TopLevel_006.ttcn             |   55 +
 .../NegSyn_0602_TopLevel_007.ttcn             |   51 +
 .../NegSem_060302_structured_types_009.ttcn   |    2 +-
 .../Sem_060302_structured_types_002.ttcn      |    4 +-
 .../NegSem_060303_component_types_003.ttcn    |    2 +-
 .../NegSem_060303_component_types_004.ttcn    |    2 +-
 .../NegSem_060303_component_types_005.ttcn    |    2 +-
 .../NegSem_060303_component_types_006.ttcn    |    2 +-
 .../Sem_060303_component_types_003.ttcn       |    2 +-
 .../Sem_060303_component_types_004.ttcn       |    2 +-
 .../Sem_060303_component_types_005.ttcn       |    2 +-
 .../Sem_060303_component_types_006.ttcn       |    2 +-
 ...05_compatibility_of_anytype_types_001.ttcn |   59 +
 ...tibility_of_anytype_types_001_importB.ttcn |   28 +
 ...tibility_of_anytype_types_001_importC.ttcn |   29 +
 .../Sem_070101_ArithmeticOperators_051.ttcn   |    7 +-
 .../Sem_070101_ArithmeticOperators_052.ttcn   |    4 +-
 .../Sem_070101_ArithmeticOperators_053.ttcn   |    4 +-
 .../Sem_070103_RelationalOperators_048.ttcn   |   57 +
 .../Sem_070103_RelationalOperators_049.ttcn   |   56 +
 .../Sem_070103_RelationalOperators_050.ttcn   |   55 +
 .../07_toplevel/Sem_07_toplevel_002.ttcn      |    4 +-
 .../07_toplevel/Sem_07_toplevel_003.ttcn      |    4 +-
 .../07_toplevel/Sem_07_toplevel_004.ttcn      |    4 +-
 .../07_toplevel/Sem_07_toplevel_005.ttcn      |    4 +-
 .../07_toplevel/Sem_07_toplevel_007.ttcn      |   55 +
 .../07_toplevel/Sem_07_toplevel_008.ttcn      |   45 +
 .../07_toplevel/Sem_07_toplevel_009.ttcn      |   48 +
 .../Syn_0801_DefinitionOfAModule_010.ttcn     |   24 +
 .../NegSem_080201_ModuleParameters_001.ttcn   |   49 +
 .../NegSem_080201_ModuleParameters_002.ttcn   |   55 +
 .../NegSem_080201_ModuleParameters_003.ttcn   |   47 +
 .../NegSem_080201_ModuleParameters_004.ttcn   |   47 +
 .../NegSem_080201_ModuleParameters_005.ttcn   |   42 +
 .../NegSem_080201_ModuleParameters_006.ttcn   |   48 +
 .../NegSyn_080201_ModuleParameters_001.ttcn   |   35 +
 .../NegSyn_080201_ModuleParameters_002.ttcn   |   36 +
 .../NegSem_0901_Communication_ports_002.ttcn  |    2 +-
 .../NegSem_1101_ValueVars_005.ttcn            |   37 +
 .../Sem_1101_ValueVars_006.ttcn               |   46 +
 .../NegSyn_1102_TemplateVars_002.ttcn         |   39 +
 ...eferencingSignatureParameters_001_new.ttcn |   92 +
 .../NegSem_1508_TemplateRestrictions_036.ttcn |    2 +-
 .../NegSem_1508_TemplateRestrictions_043.ttcn |    2 +-
 .../NegSem_1509_MatchOperation_002.ttcn       |   45 +
 .../NegSem_1509_MatchOperation_003.ttcn       |   45 +
 .../Sem_1509_MatchOperation_011.ttcn          |   53 +
 .../Sem_1509_MatchOperation_012.ttcn          |   44 +
 .../Sem_1509_MatchOperation_013.ttcn          |   44 +
 .../Sem_1509_MatchOperation_014.ttcn          |   44 +
 .../Sem_1509_MatchOperation_015.ttcn          |   44 +
 .../Sem_1509_MatchOperation_016.ttcn          |   44 +
 ...tingTemplatesOfStringAndListTypes_015.ttcn |   47 +
 .../15_toplevel/NegSyn_15_TopLevel_001.ttcn   |   35 +
 ...egSem_160102_predefined_functions_039.ttcn |   48 +
 ...egSem_160102_predefined_functions_040.ttcn |   48 +
 .../Sem_160102_predefined_functions_062.ttcn  |   44 +
 .../Sem_160102_predefined_functions_093.ttcn  |   49 +
 .../Sem_160102_predefined_functions_094.ttcn  |   49 +
 .../Sem_160102_predefined_functions_095.ttcn  |   53 +
 .../Sem_160102_predefined_functions_096.ttcn  |   55 +
 .../Sem_160102_predefined_functions_097.ttcn  |   46 +
 .../Sem_160102_predefined_functions_098.ttcn  |   49 +
 .../Sem_160102_predefined_functions_099.ttcn  |   58 +
 ...ng_functions_from_specific_places_005.ttcn |   59 +
 ...ng_functions_from_specific_places_006.ttcn |   63 +
 ...ng_functions_from_specific_places_007.ttcn |   66 +
 ...ng_functions_from_specific_places_008.ttcn |   61 +
 ...ng_functions_from_specific_places_009.ttcn |   65 +
 ...ng_functions_from_specific_places_010.ttcn |   65 +
 ...ng_functions_from_specific_places_011.ttcn |   58 +
 ...ng_functions_from_specific_places_012.ttcn |   58 +
 ...ng_functions_from_specific_places_013.ttcn |   62 +
 ...ng_functions_from_specific_places_014.ttcn |   64 +
 ...ng_functions_from_specific_places_015.ttcn |   63 +
 ...ng_functions_from_specific_places_016.ttcn |   62 +
 ...ng_functions_from_specific_places_017.ttcn |   57 +
 ...ng_functions_from_specific_places_018.ttcn |   57 +
 ...ng_functions_from_specific_places_019.ttcn |   58 +
 ...ng_functions_from_specific_places_020.ttcn |   58 +
 ...ng_functions_from_specific_places_021.ttcn |   66 +
 ...ng_functions_from_specific_places_022.ttcn |   71 +
 ...ng_functions_from_specific_places_023.ttcn |   72 +
 ...ng_functions_from_specific_places_024.ttcn |   73 +
 ...ng_functions_from_specific_places_025.ttcn |   72 +
 ...ng_functions_from_specific_places_026.ttcn |   73 +
 ...ng_functions_from_specific_places_027.ttcn |   57 +
 ...ng_functions_from_specific_places_028.ttcn |   56 +
 ...ng_functions_from_specific_places_029.ttcn |   57 +
 ...ng_functions_from_specific_places_030.ttcn |   59 +
 ...ng_functions_from_specific_places_031.ttcn |   59 +
 ...ng_functions_from_specific_places_032.ttcn |   56 +
 ...ng_functions_from_specific_places_033.ttcn |   57 +
 ...ng_functions_from_specific_places_034.ttcn |   58 +
 ...ng_functions_from_specific_places_035.ttcn |   58 +
 ...ng_functions_from_specific_places_036.ttcn |   58 +
 ...ng_functions_from_specific_places_037.ttcn |   58 +
 ...ng_functions_from_specific_places_038.ttcn |   65 +
 ...ng_functions_from_specific_places_039.ttcn |   56 +
 ...ng_functions_from_specific_places_040.ttcn |   59 +
 ...ng_functions_from_specific_places_041.ttcn |   62 +
 ...ng_functions_from_specific_places_042.ttcn |   62 +
 ...ng_functions_from_specific_places_043.ttcn |   55 +
 ...ng_functions_from_specific_places_044.ttcn |   60 +
 ...ng_functions_from_specific_places_045.ttcn |   61 +
 ...ng_functions_from_specific_places_046.ttcn |   61 +
 ...ng_functions_from_specific_places_047.ttcn |   66 +
 ...ng_functions_from_specific_places_048.ttcn |   69 +
 ...ng_functions_from_specific_places_049.ttcn |   65 +
 ...ng_functions_from_specific_places_050.ttcn |   69 +
 ...ng_functions_from_specific_places_051.ttcn |   69 +
 ...ng_functions_from_specific_places_052.ttcn |   66 +
 ...ng_functions_from_specific_places_053.ttcn |   66 +
 ...ng_functions_from_specific_places_054.ttcn |   66 +
 ...ng_functions_from_specific_places_055.ttcn |   67 +
 ...ng_functions_from_specific_places_056.ttcn |   67 +
 ...ng_functions_from_specific_places_057.ttcn |   66 +
 ...ng_functions_from_specific_places_058.ttcn |   61 +
 ...ng_functions_from_specific_places_059.ttcn |   62 +
 ...ng_functions_from_specific_places_060.ttcn |   63 +
 ...ng_functions_from_specific_places_061.ttcn |   63 +
 ...ng_functions_from_specific_places_062.ttcn |   71 +
 ...ng_functions_from_specific_places_063.ttcn |   76 +
 ...ng_functions_from_specific_places_064.ttcn |   77 +
 ...ng_functions_from_specific_places_065.ttcn |   78 +
 ...ng_functions_from_specific_places_066.ttcn |   77 +
 ...ng_functions_from_specific_places_067.ttcn |   78 +
 ...ng_functions_from_specific_places_068.ttcn |   62 +
 ...ng_functions_from_specific_places_069.ttcn |   60 +
 ...ng_functions_from_specific_places_070.ttcn |   61 +
 ...ng_functions_from_specific_places_071.ttcn |   63 +
 ...ng_functions_from_specific_places_072.ttcn |   63 +
 ...ng_functions_from_specific_places_073.ttcn |   60 +
 ...ng_functions_from_specific_places_074.ttcn |   61 +
 ...ng_functions_from_specific_places_075.ttcn |   62 +
 ...ng_functions_from_specific_places_076.ttcn |   62 +
 ...ng_functions_from_specific_places_077.ttcn |   62 +
 ...ng_functions_from_specific_places_078.ttcn |   63 +
 ...ng_functions_from_specific_places_079.ttcn |   68 +
 ...ng_functions_from_specific_places_080.ttcn |   60 +
 ...ng_functions_from_specific_places_081.ttcn |   62 +
 ...ng_functions_from_specific_places_082.ttcn |   66 +
 ...ng_functions_from_specific_places_083.ttcn |   66 +
 ...ng_functions_from_specific_places_084.ttcn |   59 +
 ...ng_functions_from_specific_places_085.ttcn |   64 +
 ...ng_functions_from_specific_places_086.ttcn |   65 +
 ...ng_functions_from_specific_places_087.ttcn |   60 +
 ...ng_functions_from_specific_places_088.ttcn |   65 +
 ...ng_functions_from_specific_places_089.ttcn |   69 +
 ...ng_functions_from_specific_places_090.ttcn |   68 +
 ...ng_functions_from_specific_places_091.ttcn |   68 +
 ...ng_functions_from_specific_places_092.ttcn |   68 +
 ...ng_functions_from_specific_places_093.ttcn |   65 +
 ...ng_functions_from_specific_places_094.ttcn |   65 +
 ...ng_functions_from_specific_places_095.ttcn |   65 +
 ...ng_functions_from_specific_places_096.ttcn |   65 +
 ...ng_functions_from_specific_places_097.ttcn |   65 +
 ...ng_functions_from_specific_places_098.ttcn |   65 +
 ...ng_functions_from_specific_places_099.ttcn |   60 +
 ...ng_functions_from_specific_places_100.ttcn |   60 +
 ...ng_functions_from_specific_places_101.ttcn |   61 +
 ...ng_functions_from_specific_places_102.ttcn |   61 +
 ...ng_functions_from_specific_places_103.ttcn |   69 +
 ...ng_functions_from_specific_places_104.ttcn |   74 +
 ...ng_functions_from_specific_places_105.ttcn |   75 +
 ...ng_functions_from_specific_places_106.ttcn |   76 +
 ...ng_functions_from_specific_places_107.ttcn |   75 +
 ...ng_functions_from_specific_places_108.ttcn |   76 +
 ...ng_functions_from_specific_places_109.ttcn |   60 +
 ...ng_functions_from_specific_places_110.ttcn |   60 +
 ...ng_functions_from_specific_places_111.ttcn |   60 +
 ...ng_functions_from_specific_places_112.ttcn |   61 +
 ...ng_functions_from_specific_places_113.ttcn |   62 +
 ...ng_functions_from_specific_places_114.ttcn |   59 +
 ...ng_functions_from_specific_places_115.ttcn |   60 +
 ...ng_functions_from_specific_places_116.ttcn |   61 +
 ...ng_functions_from_specific_places_117.ttcn |   61 +
 ...ng_functions_from_specific_places_118.ttcn |   61 +
 ...ng_functions_from_specific_places_119.ttcn |   61 +
 ...ng_functions_from_specific_places_120.ttcn |   67 +
 ...ng_functions_from_specific_places_121.ttcn |   59 +
 ...ng_functions_from_specific_places_122.ttcn |   61 +
 ...ng_functions_from_specific_places_123.ttcn |   65 +
 ...ng_functions_from_specific_places_124.ttcn |   66 +
 ...ng_functions_from_specific_places_125.ttcn |   58 +
 ...ng_functions_from_specific_places_126.ttcn |   63 +
 ...ng_functions_from_specific_places_127.ttcn |   64 +
 ...ng_functions_from_specific_places_128.ttcn |   61 +
 ...ng_functions_from_specific_places_129.ttcn |   61 +
 ...ng_functions_from_specific_places_130.ttcn |   64 +
 ...ng_functions_from_specific_places_131.ttcn |   69 +
 ...ng_functions_from_specific_places_132.ttcn |   72 +
 ...ng_functions_from_specific_places_133.ttcn |   72 +
 ...ng_functions_from_specific_places_134.ttcn |   72 +
 ...ng_functions_from_specific_places_135.ttcn |   72 +
 ...ng_functions_from_specific_places_136.ttcn |   69 +
 ...ng_functions_from_specific_places_137.ttcn |   69 +
 ...ng_functions_from_specific_places_138.ttcn |   69 +
 ...ng_functions_from_specific_places_139.ttcn |   69 +
 ...ng_functions_from_specific_places_140.ttcn |   70 +
 ...ng_functions_from_specific_places_141.ttcn |   70 +
 ...ng_functions_from_specific_places_142.ttcn |   65 +
 ...ng_functions_from_specific_places_143.ttcn |   64 +
 ...ng_functions_from_specific_places_144.ttcn |   65 +
 ...ng_functions_from_specific_places_145.ttcn |   65 +
 ...ng_functions_from_specific_places_146.ttcn |   73 +
 ...ng_functions_from_specific_places_147.ttcn |   78 +
 ...ng_functions_from_specific_places_148.ttcn |   79 +
 ...ng_functions_from_specific_places_149.ttcn |   80 +
 ...ng_functions_from_specific_places_150.ttcn |   79 +
 ...ng_functions_from_specific_places_151.ttcn |   80 +
 ...ng_functions_from_specific_places_152.ttcn |   64 +
 ...ng_functions_from_specific_places_153.ttcn |   64 +
 ...ng_functions_from_specific_places_154.ttcn |   64 +
 ...ng_functions_from_specific_places_155.ttcn |   65 +
 ...ng_functions_from_specific_places_156.ttcn |   66 +
 ...ng_functions_from_specific_places_157.ttcn |   63 +
 ...ng_functions_from_specific_places_158.ttcn |   64 +
 ...ng_functions_from_specific_places_159.ttcn |   65 +
 ...ng_functions_from_specific_places_160.ttcn |   65 +
 ...ng_functions_from_specific_places_161.ttcn |   65 +
 ...ng_functions_from_specific_places_162.ttcn |   65 +
 ...ng_functions_from_specific_places_163.ttcn |   71 +
 ...ng_functions_from_specific_places_164.ttcn |   63 +
 ...ng_functions_from_specific_places_165.ttcn |   65 +
 ...ng_functions_from_specific_places_166.ttcn |   69 +
 ...ng_functions_from_specific_places_167.ttcn |   70 +
 ...ng_functions_from_specific_places_168.ttcn |   62 +
 ...ng_functions_from_specific_places_169.ttcn |   67 +
 ...ng_functions_from_specific_places_170.ttcn |   68 +
 ...ng_functions_from_specific_places_171.ttcn |   65 +
 ...ng_functions_from_specific_places_172.ttcn |   65 +
 ...ng_functions_from_specific_places_173.ttcn |   58 +
 ...ng_functions_from_specific_places_174.ttcn |   63 +
 ...ng_functions_from_specific_places_175.ttcn |   66 +
 ...ng_functions_from_specific_places_176.ttcn |   66 +
 ...ng_functions_from_specific_places_177.ttcn |   66 +
 ...ng_functions_from_specific_places_178.ttcn |   66 +
 ...ng_functions_from_specific_places_179.ttcn |   63 +
 ...ng_functions_from_specific_places_180.ttcn |   63 +
 ...ng_functions_from_specific_places_181.ttcn |   61 +
 ...ng_functions_from_specific_places_182.ttcn |   61 +
 ...ng_functions_from_specific_places_183.ttcn |   61 +
 ...ng_functions_from_specific_places_184.ttcn |   61 +
 ...ng_functions_from_specific_places_185.ttcn |   58 +
 ...ng_functions_from_specific_places_186.ttcn |   58 +
 ...ng_functions_from_specific_places_187.ttcn |   59 +
 ...ng_functions_from_specific_places_188.ttcn |   59 +
 ...ng_functions_from_specific_places_189.ttcn |   67 +
 ...ng_functions_from_specific_places_190.ttcn |   72 +
 ...ng_functions_from_specific_places_191.ttcn |   73 +
 ...ng_functions_from_specific_places_192.ttcn |   74 +
 ...ng_functions_from_specific_places_193.ttcn |   73 +
 ...ng_functions_from_specific_places_194.ttcn |   74 +
 ...ng_functions_from_specific_places_195.ttcn |   58 +
 ...ng_functions_from_specific_places_196.ttcn |   58 +
 ...ng_functions_from_specific_places_197.ttcn |   58 +
 ...ng_functions_from_specific_places_198.ttcn |   59 +
 ...ng_functions_from_specific_places_199.ttcn |   60 +
 ...ng_functions_from_specific_places_200.ttcn |   57 +
 ...ng_functions_from_specific_places_201.ttcn |   59 +
 ...ng_functions_from_specific_places_202.ttcn |   60 +
 ...ng_functions_from_specific_places_203.ttcn |   59 +
 ...ng_functions_from_specific_places_204.ttcn |   60 +
 ...ng_functions_from_specific_places_205.ttcn |   59 +
 ...ng_functions_from_specific_places_206.ttcn |   59 +
 ...ng_functions_from_specific_places_207.ttcn |   64 +
 ...ng_functions_from_specific_places_208.ttcn |   63 +
 ...ng_functions_from_specific_places_209.ttcn |   61 +
 ...ng_functions_from_specific_places_210.ttcn |   62 +
 ...ng_functions_from_specific_places_211.ttcn |   58 +
 ...ng_functions_from_specific_places_212.ttcn |   60 +
 ...ng_functions_from_specific_places_213.ttcn |   65 +
 ...ng_functions_from_specific_places_214.ttcn |   68 +
 ...ng_functions_from_specific_places_215.ttcn |   68 +
 ...ng_functions_from_specific_places_216.ttcn |   68 +
 ...ng_functions_from_specific_places_217.ttcn |   68 +
 ...ng_functions_from_specific_places_218.ttcn |   65 +
 ...ng_functions_from_specific_places_219.ttcn |   65 +
 ...ng_functions_from_specific_places_220.ttcn |   65 +
 ...ng_functions_from_specific_places_221.ttcn |   65 +
 ...ng_functions_from_specific_places_222.ttcn |   65 +
 ...ng_functions_from_specific_places_223.ttcn |   65 +
 ...ng_functions_from_specific_places_224.ttcn |   60 +
 ...ng_functions_from_specific_places_225.ttcn |   60 +
 ...ng_functions_from_specific_places_226.ttcn |   61 +
 ...ng_functions_from_specific_places_227.ttcn |   61 +
 ...ng_functions_from_specific_places_228.ttcn |   69 +
 ...ng_functions_from_specific_places_229.ttcn |   74 +
 ...ng_functions_from_specific_places_230.ttcn |   75 +
 ...ng_functions_from_specific_places_231.ttcn |   76 +
 ...ng_functions_from_specific_places_232.ttcn |   75 +
 ...ng_functions_from_specific_places_233.ttcn |   76 +
 ...ng_functions_from_specific_places_234.ttcn |   60 +
 ...ng_functions_from_specific_places_235.ttcn |   60 +
 ...ng_functions_from_specific_places_236.ttcn |   60 +
 ...ng_functions_from_specific_places_237.ttcn |   61 +
 ...ng_functions_from_specific_places_238.ttcn |   62 +
 ...ng_functions_from_specific_places_239.ttcn |   59 +
 ...ng_functions_from_specific_places_240.ttcn |   60 +
 ...ng_functions_from_specific_places_241.ttcn |   61 +
 ...ng_functions_from_specific_places_242.ttcn |   61 +
 ...ng_functions_from_specific_places_243.ttcn |   61 +
 ...ng_functions_from_specific_places_244.ttcn |   61 +
 ...ng_functions_from_specific_places_245.ttcn |   67 +
 ...ng_functions_from_specific_places_246.ttcn |   59 +
 ...ng_functions_from_specific_places_247.ttcn |   61 +
 ...ng_functions_from_specific_places_248.ttcn |   65 +
 ...ng_functions_from_specific_places_249.ttcn |   65 +
 ...ng_functions_from_specific_places_250.ttcn |   58 +
 ...ng_functions_from_specific_places_251.ttcn |   63 +
 ...ng_functions_from_specific_places_252.ttcn |   64 +
 ...ng_functions_from_specific_places_253.ttcn |   60 +
 ...ng_functions_from_specific_places_254.ttcn |   60 +
 ...ng_functions_from_specific_places_255.ttcn |   61 +
 ...ng_functions_from_specific_places_256.ttcn |   66 +
 ...ng_functions_from_specific_places_257.ttcn |   69 +
 ...ng_functions_from_specific_places_258.ttcn |   69 +
 ...ng_functions_from_specific_places_259.ttcn |   69 +
 ...ng_functions_from_specific_places_260.ttcn |   69 +
 ...ng_functions_from_specific_places_261.ttcn |   66 +
 ...ng_functions_from_specific_places_262.ttcn |   66 +
 ...ng_functions_from_specific_places_263.ttcn |   66 +
 ...ng_functions_from_specific_places_264.ttcn |   66 +
 ...ng_functions_from_specific_places_265.ttcn |   66 +
 ...ng_functions_from_specific_places_266.ttcn |   66 +
 ...ng_functions_from_specific_places_267.ttcn |   61 +
 ...ng_functions_from_specific_places_268.ttcn |   61 +
 ...ng_functions_from_specific_places_269.ttcn |   62 +
 ...ng_functions_from_specific_places_270.ttcn |   62 +
 ...ng_functions_from_specific_places_271.ttcn |   70 +
 ...ng_functions_from_specific_places_272.ttcn |   75 +
 ...ng_functions_from_specific_places_273.ttcn |   76 +
 ...ng_functions_from_specific_places_274.ttcn |   77 +
 ...ng_functions_from_specific_places_275.ttcn |   76 +
 ...ng_functions_from_specific_places_276.ttcn |   77 +
 ...ng_functions_from_specific_places_277.ttcn |   61 +
 ...ng_functions_from_specific_places_278.ttcn |   61 +
 ...ng_functions_from_specific_places_279.ttcn |   61 +
 ...ng_functions_from_specific_places_280.ttcn |   62 +
 ...ng_functions_from_specific_places_281.ttcn |   63 +
 ...ng_functions_from_specific_places_282.ttcn |   60 +
 ...ng_functions_from_specific_places_283.ttcn |   61 +
 ...ng_functions_from_specific_places_284.ttcn |   63 +
 ...ng_functions_from_specific_places_285.ttcn |   62 +
 ...ng_functions_from_specific_places_286.ttcn |   62 +
 ...ng_functions_from_specific_places_287.ttcn |   62 +
 ...ng_functions_from_specific_places_288.ttcn |   68 +
 ...ng_functions_from_specific_places_289.ttcn |   60 +
 ...ng_functions_from_specific_places_290.ttcn |   63 +
 ...ng_functions_from_specific_places_291.ttcn |   66 +
 ...ng_functions_from_specific_places_292.ttcn |   66 +
 ...ng_functions_from_specific_places_293.ttcn |   59 +
 ...ng_functions_from_specific_places_294.ttcn |   64 +
 ...ng_functions_from_specific_places_295.ttcn |   65 +
 ...ng_functions_from_specific_places_296.ttcn |   61 +
 ...ng_functions_from_specific_places_297.ttcn |   61 +
 ...king_functions_from_specific_places_038.cc |   17 +
 ...king_functions_from_specific_places_079.cc |   17 +
 ...king_functions_from_specific_places_120.cc |   17 +
 ...king_functions_from_specific_places_163.cc |   17 +
 ...king_functions_from_specific_places_245.cc |   17 +
 ...king_functions_from_specific_places_288.cc |   17 +
 .../NegSem_1602_toplevel_007.ttcn             |   54 +
 .../1602_toplevel/Sem_1602_toplevel_002.ttcn  |   54 +
 .../1602_toplevel/Sem_1602_toplevel_003.ttcn  |   58 +
 .../Sem_190301_select_case_statement_005.ttcn |   52 +
 .../Sem_190301_select_case_statement_006.ttcn |   51 +
 ...Sem_190302_select_union_statement_006.ttcn |   58 +
 ...Sem_190302_select_union_statement_007.ttcn |   59 +
 .../NegSem_2002_TheAltStatement_002.ttcn      |    8 +-
 .../NegSem_2002_TheAltStatement_003.ttcn      |    8 +-
 .../NegSem_2002_TheAltStatement_004.ttcn      |    8 +-
 .../NegSem_2002_TheAltStatement_005.ttcn      |    8 +-
 .../NegSem_2002_TheAltStatement_006.ttcn      |    8 +-
 .../NegSem_2002_TheAltStatement_007.ttcn      |    9 +-
 .../NegSem_2002_TheAltStatement_008.ttcn      |    9 +-
 .../NegSem_2002_TheAltStatement_009.ttcn      |    9 +-
 .../NegSem_2002_TheAltStatement_010.ttcn      |    9 +-
 .../NegSem_2002_TheAltStatement_011.ttcn      |    9 +-
 .../NegSem_2002_TheAltStatement_012.ttcn      |    7 +-
 .../NegSem_2002_TheAltStatement_013.ttcn      |    7 +-
 .../NegSem_2002_TheAltStatement_014.ttcn      |    7 +-
 .../NegSem_2002_TheAltStatement_015.ttcn      |    7 +-
 .../NegSem_2002_TheAltStatement_016.ttcn      |    7 +-
 .../NegSem_2002_TheAltStatement_017.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_018.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_019.ttcn      |   66 +
 .../NegSem_2002_TheAltStatement_020.ttcn      |   66 +
 .../NegSem_2002_TheAltStatement_021.ttcn      |   66 +
 .../NegSem_2002_TheAltStatement_022.ttcn      |   66 +
 .../NegSem_2002_TheAltStatement_023.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_024.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_025.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_026.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_027.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_028.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_029.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_030.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_031.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_032.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_033.ttcn      |   67 +
 .../NegSem_2002_TheAltStatement_034.ttcn      |   72 +
 .../NegSem_2002_TheAltStatement_035.ttcn      |   73 +
 .../NegSem_2002_TheAltStatement_036.ttcn      |   74 +
 .../NegSem_2002_TheAltStatement_037.ttcn      |   73 +
 .../NegSem_2002_TheAltStatement_038.ttcn      |   74 +
 .../NegSem_2002_TheAltStatement_039.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_040.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_041.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_042.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_043.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_044.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_045.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_046.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_047.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_048.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_049.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_050.ttcn      |   64 +
 .../NegSem_2002_TheAltStatement_051.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_052.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_053.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_054.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_055.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_056.ttcn      |   62 +
 .../NegSem_2002_TheAltStatement_057.ttcn      |   63 +
 .../NegSem_2002_TheAltStatement_058.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_059.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_060.ttcn      |   57 +
 .../NegSem_2002_TheAltStatement_061.ttcn      |   54 +
 .../NegSem_2002_TheAltStatement_062.ttcn      |   56 +
 .../NegSem_2002_TheAltStatement_063.ttcn      |   53 +
 .../NegSem_2002_TheAltStatement_064.ttcn      |   56 +
 .../NegSem_2002_TheAltStatement_065.ttcn      |   54 +
 .../NegSem_2002_TheAltStatement_066.ttcn      |   53 +
 .../NegSem_2002_TheAltStatement_067.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_068.ttcn      |   56 +
 .../NegSem_2002_TheAltStatement_069.ttcn      |   53 +
 .../NegSem_2002_TheAltStatement_070.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_071.ttcn      |   58 +
 .../NegSem_2002_TheAltStatement_072.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_073.ttcn      |   54 +
 .../NegSem_2002_TheAltStatement_074.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_075.ttcn      |   57 +
 .../NegSem_2002_TheAltStatement_076.ttcn      |   54 +
 .../NegSem_2002_TheAltStatement_077.ttcn      |   56 +
 .../NegSem_2002_TheAltStatement_078.ttcn      |   56 +
 .../NegSem_2002_TheAltStatement_079.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_080.ttcn      |   57 +
 .../NegSem_2002_TheAltStatement_081.ttcn      |   65 +
 .../NegSem_2002_TheAltStatement_082.ttcn      |   60 +
 .../NegSem_2002_TheAltStatement_083.ttcn      |   57 +
 .../NegSem_2002_TheAltStatement_084.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_085.ttcn      |   59 +
 .../NegSem_2002_TheAltStatement_086.ttcn      |   62 +
 .../xf_NegSem_2002_TheAltStatement_050.cc     |   17 +
 ...210101_connect_and_map_operations_001.ttcn |    2 +-
 ...210101_connect_and_map_operations_005.ttcn |    2 +-
 ...210101_connect_and_map_operations_006.ttcn |    4 +-
 ...210101_connect_and_map_operations_009.ttcn |   18 +-
 ...2_disconnect_and_unmap_operations_011.ttcn |   18 +-
 .../Sem_210102_disconnect_operation_001.ttcn  |   18 +-
 .../Sem_210102_disconnect_operation_002.ttcn  |   18 +-
 .../Sem_210102_unmap_operation_001.ttcn       |   18 +-
 .../Sem_210102_unmap_operation_002.ttcn       |   18 +-
 .../Sem_210302_Start_test_component_011.ttcn  |   55 +
 .../Sem_210302_Start_test_component_012.ttcn  |   57 +
 .../Sem_210302_Start_test_component_013.ttcn  |   46 +
 .../Sem_210302_Start_test_component_014.ttcn  |   52 +
 .../Sem_210303_Stop_test_component_005.ttcn   |    3 +
 .../NegSem_210305_alive_operation_002.ttcn    |    4 +-
 .../NegSem_210305_alive_operation_003.ttcn    |    4 +-
 .../NegSem_210305_alive_operation_004.ttcn    |    4 +-
 .../NegSem_210305_alive_operation_005.ttcn    |    4 +-
 .../Sem_210305_alive_operation_009.ttcn       |    4 +-
 .../Sem_210305_alive_operation_010.ttcn       |    4 +-
 .../Sem_210305_alive_operation_011.ttcn       |    4 +-
 .../Sem_210305_alive_operation_013.ttcn       |    4 +-
 .../Sem_210305_alive_operation_014.ttcn       |    4 +-
 .../Sem_210305_alive_operation_015.ttcn       |   42 +
 .../Sem_210306_running_operation_013.ttcn     |   48 +
 .../NegSem_220201_SendOperation_008.ttcn      |    5 +-
 .../NegSem_220201_SendOperation_009.ttcn      |    3 +-
 .../NegSem_220201_SendOperation_010.ttcn      |    3 +-
 .../Sem_220202_ReceiveOperation_030.ttcn      |   56 +
 .../NegSem_220203_TriggerOperation_024.ttcn   |   58 +
 .../Sem_220203_TriggerOperation_006.ttcn      |    7 +-
 .../Sem_220203_TriggerOperation_007.ttcn      |    7 +-
 .../Sem_220203_TriggerOperation_008.ttcn      |    7 +-
 .../NegSem_220301_CallOperation_003.ttcn      |    3 +-
 .../NegSem_220301_CallOperation_004.ttcn      |    3 +-
 .../NegSem_220301_CallOperation_005.ttcn      |   50 +
 .../NegSem_220301_CallOperation_006.ttcn      |   63 +
 .../NegSem_220301_CallOperation_007.ttcn      |   51 +
 .../NegSem_220301_CallOperation_008.ttcn      |   51 +
 .../NegSem_220301_CallOperation_009.ttcn      |   51 +
 .../NegSem_220301_CallOperation_010.ttcn      |   51 +
 .../NegSem_220301_CallOperation_011.ttcn      |   51 +
 .../NegSem_220301_CallOperation_012.ttcn      |   66 +
 .../NegSem_220301_CallOperation_013.ttcn      |   56 +
 .../NegSem_220301_CallOperation_014.ttcn      |   58 +
 .../NegSem_220301_CallOperation_015.ttcn      |   58 +
 .../NegSem_220301_CallOperation_016.ttcn      |   61 +
 .../NegSem_220301_CallOperation_017.ttcn      |   64 +
 .../NegSem_220301_CallOperation_018.ttcn      |   57 +
 .../NegSem_220301_CallOperation_019.ttcn      |   57 +
 .../NegSem_220301_CallOperation_020.ttcn      |   45 +
 .../NegSyn_220301_CallOperation_001.ttcn      |   55 +
 .../NegSyn_220301_CallOperation_002.ttcn      |   59 +
 .../Sem_220301_CallOperation_005.ttcn         |   20 +-
 .../Sem_220301_CallOperation_006.ttcn         |   22 +-
 .../Sem_220301_CallOperation_007.ttcn         |   17 +-
 .../Sem_220301_CallOperation_009.ttcn         |   67 +
 .../Sem_220301_CallOperation_010.ttcn         |   54 +
 .../Sem_220301_CallOperation_011.ttcn         |   65 +
 .../Sem_220301_CallOperation_012.ttcn         |   70 +
 .../Sem_220301_CallOperation_013.ttcn         |   83 +
 .../Sem_220301_CallOperation_014.ttcn         |   81 +
 .../Sem_220301_CallOperation_015.ttcn         |   70 +
 .../Sem_220301_CallOperation_016.ttcn         |   74 +
 .../Sem_220301_CallOperation_017.ttcn         |   58 +
 .../Sem_220301_CallOperation_018.ttcn         |   50 +
 .../Sem_220301_CallOperation_019.ttcn         |   50 +
 .../Sem_220301_CallOperation_020.ttcn         |   62 +
 .../Sem_220301_CallOperation_021.ttcn         |   61 +
 .../NegSem_220302_GetcallOperation_009.ttcn   |    3 +-
 .../NegSem_220302_GetcallOperation_010.ttcn   |    3 +-
 .../NegSem_220302_GetcallOperation_017.ttcn   |    2 +-
 .../NegSem_220302_GetcallOperation_018.ttcn   |   58 +
 .../NegSem_220302_GetcallOperation_019.ttcn   |   65 +
 .../Sem_220302_GetcallOperation_020.ttcn      |   67 +
 .../Sem_220302_GetcallOperation_021.ttcn      |   67 +
 .../Sem_220302_GetcallOperation_022.ttcn      |   65 +
 .../NegSem_220303_ReplyOperation_002.ttcn     |    3 +-
 .../NegSem_220303_ReplyOperation_003.ttcn     |    3 +-
 .../NegSem_220303_ReplyOperation_004.ttcn     |   46 +
 .../NegSem_220303_ReplyOperation_005.ttcn     |   60 +
 .../NegSem_220303_ReplyOperation_006.ttcn     |   65 +
 .../NegSem_220303_ReplyOperation_007.ttcn     |   65 +
 .../NegSem_220303_ReplyOperation_008.ttcn     |   92 +
 .../NegSem_220303_ReplyOperation_009.ttcn     |   61 +
 .../NegSem_220303_ReplyOperation_010.ttcn     |   60 +
 .../Sem_220303_ReplyOperation_003.ttcn        |   63 +
 .../Sem_220303_ReplyOperation_004.ttcn        |   67 +
 .../Sem_220303_ReplyOperation_005.ttcn        |   65 +
 .../NegSem_220304_getreply_operation_006.ttcn |    3 +-
 .../NegSem_220304_getreply_operation_007.ttcn |    3 +-
 .../NegSem_220304_getreply_operation_021.ttcn |   59 +
 .../NegSem_220304_getreply_operation_022.ttcn |   64 +
 .../Sem_220304_getreply_operation_021.ttcn    |   70 +
 .../Sem_220304_getreply_operation_022.ttcn    |   70 +
 .../Sem_220304_getreply_operation_023.ttcn    |   67 +
 .../NegSem_220305_raise_operation_001.ttcn    |    8 +-
 .../NegSem_220305_raise_operation_002.ttcn    |    8 +-
 .../NegSem_220305_raise_operation_003.ttcn    |    8 +-
 .../NegSem_220305_raise_operation_007.ttcn    |    6 +-
 .../NegSem_220305_raise_operation_008.ttcn    |    4 +-
 .../NegSem_220305_raise_operation_010.ttcn    |   53 +
 .../NegSem_220306_catch_operation_006.ttcn    |    3 +-
 .../NegSem_220306_catch_operation_007.ttcn    |    3 +-
 .../NegSem_220306_catch_operation_015.ttcn    |   61 +
 .../NegSem_220306_catch_operation_016.ttcn    |   64 +
 .../Sem_220306_catch_operation_015.ttcn       |   72 +
 .../Sem_220306_catch_operation_016.ttcn       |   72 +
 .../Sem_220306_catch_operation_017.ttcn       |   69 +
 .../NegSem_2204_the_check_operation_004.ttcn  |   53 +
 .../NegSem_2204_the_check_operation_005.ttcn  |   52 +
 .../Sem_2302_timer_start_001.ttcn             |    2 +-
 .../Sem_2302_timer_start_002.ttcn             |    2 +-
 .../Sem_2302_timer_start_003.ttcn             |    2 +-
 .../Sem_2302_timer_start_004.ttcn             |    2 +-
 .../Sem_2601_ExecuteStatement_010.ttcn        |   53 +
 .../NegSem_2707_OptionalAttributes_001.ttcn   |  109 +
 .../NegSem_B010201_value_list_001.ttcn        |   63 +
 .../NegSem_B010201_value_list_002.ttcn        |   62 +
 .../NegSem_B010201_value_list_003.ttcn        |   62 +
 .../NegSem_B010201_value_list_004.ttcn        |   71 +
 .../Sem_B010201_value_list_002.ttcn           |   61 +
 .../Sem_B010201_value_list_003.ttcn           |   61 +
 .../Sem_B010201_value_list_004.ttcn           |   71 +
 ...m_B010202_complemented_value_list_007.ttcn |    2 +-
 .../Sem_B010204_any_value_or_none_004.ttcn    |   52 +
 .../Sem_B010204_any_value_or_none_005.ttcn    |   52 +
 .../NegSem_B010208_omit_value_003.ttcn        |   17 +-
 ...Sem_B010210_enumerated_value_list_001.ttcn |   67 +
 ...egSem_B010401_length_restrictions_001.ttcn |   14 +-
 ...egSem_B010401_length_restrictions_002.ttcn |   39 +-
 .../Sem_B010401_length_restrictions_003.ttcn  |   83 +
 .../Sem_B010401_length_restrictions_004.ttcn  |   76 +
 .../Sem_D05_macro_scope_001.ttcn              |   24 +-
 .../positive_tests/README.txt                 |   21 +-
 .../positive_tests/pos_conf_tests.cfg         |   59 +
 .../positive_tests/pos_conf_tests.tpd         |  611 +-
 usrguide/SoC_TITAN.docx                       |  Bin 391307 -> 427141 bytes
 752 files changed, 45604 insertions(+), 3583 deletions(-)
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importB.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importC.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001_new.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/15_templates/15_toplevel/NegSyn_15_TopLevel_001.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn
 create mode 100755 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_024.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_018.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_019.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn
 create mode 100644 conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn

diff --git a/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script b/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script
index 1947562d1..c66fd0c05 100644
--- a/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script
+++ b/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script
@@ -2861,898 +2861,3190 @@ error: at or before token `@fuzzy': syntax error, unexpected FuzzyKeyword
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_05040103_parameters_of_kind_timer_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040103_001 Verify that functions with timer parameters cannot be used in component.start operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040103_parameters_of_kind_timer_001 05040103_parameters_of_kind_timer_001.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that functions with timer parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_001 {    
+    
+    type component C {
+    }
+    
+    function f_test(inout timer p_tmr) runs on C {
+        p_tmr.timeout;
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_001() runs on C system C {
+    	timer t_tmr := 0.1; 
+        var C v_ptc := C.create;
+        t_tmr.start;
+        v_ptc.start(f_test(t_tmr));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_001());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Function `@NegSem_05040103_parameters_of_kind_timer_001.f_test' cannot be started on a parallel test component because it has timer parameter `p_tmr'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040103_parameters_of_kind_timer_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040103_003 Verify that test cases cannot have timer parameters >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040103_parameters_of_kind_timer_003 05040103_parameters_of_kind_timer_003.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that test cases cannot have timer parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_003 {    
+    
+    type component C {
+    }
+    
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_003(timer p_tmr) runs on C {
+        p_tmr.timeout;
+        setverdict(pass);
+    }
+    
+    control {
+		timer t_tmr := 0.1; 
+        t_tmr.start;
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_003(t_tmr));
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `timer': syntax error, unexpected TimerKeyword
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040103_parameters_of_kind_timer_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040103_004 Verify that templates cannot have timer parameters >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040103_parameters_of_kind_timer_004 05040103_parameters_of_kind_timer_004.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that templates cannot have timer parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_004 {    
+    
+    type component C {
+    }
+    
+	template boolean m_msg (timer p_tmr) := p_tmr.running;
+	   
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_004() runs on C system C {
+    	timer t_tmr := 0.1; 
+        t_tmr.start;
+		log(m_msg(t_tmr));
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_004());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `timer': syntax error, unexpected TimerKeyword
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_05040103_parameters_of_kind_timer_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040103_001 Verify that in timer parameters are not allowed >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_05040103_parameters_of_kind_timer_001 NegSyn_05040103_parameters_of_kind_timer_001.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that in timer parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSyn_05040103_parameters_of_kind_timer_001 {    
+    
+    type component C {
+    }
+    
+    function f_test(in timer p_tmr) {
+        p_tmr.timeout;
+    }
+    
+    testcase TC_NegSyn_05040103_parameters_of_kind_timer_001() runs on C {
+        timer t_tmr := 1.0;
+        t_tmr.start;
+        f_test(t_tmr);    
+        setverdict(pass);    
+    }
+    
+    control {
+        execute(TC_NegSyn_05040103_parameters_of_kind_timer_001());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `timer': syntax error, unexpected TimerKeyword
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_05040103_parameters_of_kind_timer_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040103_002 Verify that out timer parameters are not allowed >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_05040103_parameters_of_kind_timer_002 NegSyn_05040103_parameters_of_kind_timer_002.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that out timer parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSyn_05040103_parameters_of_kind_timer_002 {    
+    
+    type component C {
+
+    }
+
+    function f_test(out timer p_tmr) {
+
+        p_tmr.start(1.0);
+
+    }
+   
+    testcase TC_NegSyn_05040103_parameters_of_kind_timer_002() runs on C{
+
+    	timer t_tmr;    
+
+        f_test(t_tmr);        
+
+        t_tmr.timeout;
+        setverdict(pass);
+
+    }
+
+   
+    control {
+
+        execute(TC_NegSyn_05040103_parameters_of_kind_timer_002());
+
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `timer': syntax error, unexpected TimerKeyword
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040104_parameters_of_kind_port_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040104_001 Verify that functions with port parameters cannot be used in component.start operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040104_parameters_of_kind_port_001 NegSem_05040104_parameters_of_kind_port_001.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that functions with port parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_001 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+    
+    function f_test(P p_port) runs on C {
+        p_port.send(1);
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_001() runs on C system C {
+        var C v_ptc := C.create;
+		connect(mtc:p,v_ptc:p);
+        v_ptc.start(f_test(p));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_001());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Function `@NegSem_05040104_parameters_of_kind_port_001.f_test' cannot be started on a parallel test component because it has port parameter `p_port'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040104_parameters_of_kind_port_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040104_003 Verify that in port parameters are not allowed >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040104_parameters_of_kind_port_003 NegSem_05040104_parameters_of_kind_port_003.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that in port parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+ 
+module NegSem_05040104_parameters_of_kind_port_003 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+    
+    type component C {
+        port P p;
+    }
+    
+    function f_test(in P p_port) {
+        p_port.send(1);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_003() runs on C {
+		connect(self:p,self:p);
+        f_test(p);    
+        setverdict(pass);    
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_003());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Port type `@NegSem_05040104_parameters_of_kind_port_003.P' cannot be used as value parameter
+<END_RESULT>
+<RESULT COUNT 1>
+error: Reference to a port or port parameter was expected instead of value parameter `p_port'
+<END_RESULT>
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of port `@NegSem_05040104_parameters_of_kind_port_003.C.p'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040104_parameters_of_kind_port_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040104_004 Verify that out port parameters are not allowed >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040104_parameters_of_kind_port_004 NegSem_05040104_parameters_of_kind_port_004.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that out port parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSem_05040104_parameters_of_kind_port_004 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+    
+    type component C {
+        port P p;
+    }
+    
+    function f_test(out P p_port) {
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_004() runs on C {
+		connect(self:p,self:p);
+        f_test(p);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_004());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Port type `@NegSem_05040104_parameters_of_kind_port_004.P' cannot be used as `out' value parameter
+<END_RESULT>
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of port `@NegSem_05040104_parameters_of_kind_port_004.C.p'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040104_parameters_of_kind_port_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040104_005 Verify that test cases cannot have port parameters >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040104_parameters_of_kind_port_005 NegSem_05040104_parameters_of_kind_port_005.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that test cases cannot have port parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_005 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+        
+	testcase TC_Test(P p_port) runs on C { // should cause a compilation error
+		p_port.send(1);
+        setverdict(pass);
+    }
+	
+    testcase TC_NegSem_05040104_parameters_of_kind_port_005(P p_port) runs on C {
+		connect(self:p,self:p);
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_005());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 2>
+error: A testcase cannot have port parameter
+<END_RESULT>
+<RESULT COUNT 1>
+error: Too few parameters: 1 was expected instead of 0
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_05040104_parameters_of_kind_port_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 05040104_006 Verify that templates cannot contain port parameters >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_05040104_parameters_of_kind_port_006 NegSem_05040104_parameters_of_kind_port_006.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that templates cannot contain port parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_006 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+    
+    template boolean m_msg(P p_par) := p_par.checkstate("Started");
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_006() runs on C system C {
+		log(m_msg(p));
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_006());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: A template cannot have port parameter
+<END_RESULT>
+<RESULT COUNT 1>
+error: Operation `port.checkstate\(\)' is allowed only within statements
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_050402_actual_parameters_001 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_001 verify that template parameters cannot be used as in formal value parameters of functions >
+<TC - 050402_001 verify that template parameters cannot be used as in formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_001 NegSem_050402_actual_parameters_001.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_001 { 
+
+    type component GeneralComp {
+	}
+    
+    template integer m_msg := 1;
+    
+    function f_test(in integer p_val) {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_001() runs on GeneralComp {
+        f_test(m_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_001());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_001.m_msg' 
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_002 verify that template variables cannot be used as in formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_002 NegSem_050402_actual_parameters_002.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_002 { 
+
+    type component GeneralComp {
+	}
+    
+    function f_test(in integer p_val) {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_002() runs on GeneralComp {
+        var template integer vm_msg := 2;
+        f_test(vm_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_002());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template variable `vm_msg' 
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_003 verify that template in parameters cannot be used as in formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_003 NegSem_050402_actual_parameters_003.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_003 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(in integer p_val) {
+        if (p_val == 3) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(in template integer p_val) {
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_003() runs on GeneralComp {
+        f_caller(3); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_003());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_004 verify that template out parameters cannot be used as in formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_004 NegSem_050402_actual_parameters_004.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_004 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(in integer p_val) {
+        if (p_val == 4) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(out template integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_004() runs on GeneralComp {
+        var template integer v_val;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_004());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `out' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_005 verify that template inout parameters cannot be used as in formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_005 NegSem_050402_actual_parameters_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_005 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(in integer p_val) {
+        if (p_val == 4) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(inout template integer p_val) {
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_005() runs on GeneralComp {
+        var template integer v_val := 5;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_005());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `inout' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_006 verify that template parameters cannot be used as in formal value parameters of templates >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_006 NegSem_050402_actual_parameters_006.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of templates
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_006 { 
+
+    type component GeneralComp {
+	}	
+
+    template integer m_msg := 1;
+    
+    template integer m_test(in integer p_val) := 5 + p_val;
+
+    testcase TC_NegSem_050402_actual_parameters_006() runs on GeneralComp {
+        if (match(6, m_test(m_msg))) { // tested parameter passing
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_006());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_006.m_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_007 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_007 verify that template variables cannot be used as in formal value parameters of templates >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_007 NegSem_050402_actual_parameters_007.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of templates
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_007 { 
+
+    type component GeneralComp {
+	}
+    
+    template integer m_test(in integer p_val) := 5 + p_val;
+
+    testcase TC_NegSem_050402_actual_parameters_007() runs on GeneralComp {
+        var template integer vm_msg := 2;
+        if (match(7, m_test(vm_msg))) { // tested parameter passing
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_007());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template variable `vm_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_008 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_008 verify that template in parameters cannot be used as in formal value parameters of templates >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_008 NegSem_050402_actual_parameters_008.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of templates
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_008 { 
+
+    type component GeneralComp {
+    }
+    
+    template integer m_test(in integer p_val) := 5 + p_val;
+
+    function f_caller(in template integer p_val) {
+        if (match(8, m_test(p_val))) { // tested parameter passing
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_008() runs on GeneralComp {
+        f_caller(3); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_008());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_009 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_009 verify that template out parameters cannot be used as in formal value parameters of templates >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_009 NegSem_050402_actual_parameters_009.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of templates
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_009 { 
+
+    type component GeneralComp {
+    }
+    
+    template integer m_test(in integer p_val) := 5 + p_val;
+
+    function f_caller(out template integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        if (match(9, m_test(p_val))) { // tested parameter passing
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_009() runs on GeneralComp {
+        var template integer v_val;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_009());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `out' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_010 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_010 verify that template out parameters cannot be used as in formal value parameters of templates >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_010 NegSem_050402_actual_parameters_010.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of templates
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_010 { 
+
+    type component GeneralComp {
+    }
+    
+    template integer m_test(in integer p_val) := 5 + p_val;
+
+    function f_caller(inout template integer p_val) {
+        if (match(10, m_test(p_val))) { // tested parameter passing
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_010() runs on GeneralComp {
+        var template integer v_val := 5;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_010());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `inout' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_011 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_011 verify that template parameters cannot be used as in formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_011 NegSem_050402_actual_parameters_011.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_011 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+	}	
+
+    template integer m_msg := 1;
+    
+    altstep a_test(integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_011() runs on GeneralComp {
+        t.start;
+        a_test(m_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_011());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_011.m_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_012 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_012 verify that template variables cannot be used as in formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_012 NegSem_050402_actual_parameters_012.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_012 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+	}
+    
+    altstep a_test(integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 2) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_012() runs on GeneralComp {
+        var template integer vm_msg := 2;
+        t.start;
+        a_test(vm_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_012());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template variable `vm_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_014 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_014 verify that template out parameters cannot be used as in formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_014 NegSem_050402_actual_parameters_014.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_014 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    altstep a_test(integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 4) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    function f_caller(out template integer p_val) runs on GeneralComp {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        a_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_014() runs on GeneralComp {
+        var template integer v_val;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_014());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `out' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_015 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_015 verify that template inout parameters cannot be used as in formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_015 NegSem_050402_actual_parameters_015.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_015 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    altstep a_test(integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 5) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    function f_caller(inout template integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_015() runs on GeneralComp {
+        var template integer v_val := 5;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_015());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `inout' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_016 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_016 verify that template inout parameters cannot be used as in formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_016 NegSem_050402_actual_parameters_016.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_016 { 
+
+    type component GeneralComp {
+	}
+    
+    template integer m_msg := 1;
+
+    testcase TC_NegSem_050402_actual_parameters_016(in integer p_val) runs on GeneralComp {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_016(m_msg)); // tested parameter passing
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_016.m_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_017 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_017 verify that template variables cannot be used as in formal value parameters of test cases >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_017 NegSem_050402_actual_parameters_017.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_017 { 
+
+    type component GeneralComp {
+	}
+    
+    testcase TC_NegSem_050402_actual_parameters_017(in integer p_val) runs on GeneralComp {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+        var template integer vm_msg := 2;
+		execute(TC_NegSem_050402_actual_parameters_017(vm_msg)); // tested parameter passing
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template variable `vm_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_018 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_018 verify that template in parameters cannot be used as in formal value parameters of test cases >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_018 NegSem_050402_actual_parameters_018.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_018 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_018(in integer p_val) runs on GeneralComp {
+        if (p_val == 3) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+    
+    function f_caller(in template integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_018(p_val)); // tested parameter passing
+    }
+
+	control {
+		f_caller(3); // this parameter passing is not a subject of the test
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_019 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_019 verify that template out parameters cannot be used as in formal value parameters of test cases >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_019 NegSem_050402_actual_parameters_019.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_019 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_019(in integer p_val) runs on GeneralComp {
+        if (p_val == 4) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+    
+    function f_caller(out template integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        execute(TC_NegSem_050402_actual_parameters_019(p_val)); // tested parameter passing
+    }
+
+	control {
+        var template integer vm_val;
+        f_caller(vm_val);
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `out' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_020 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_020 verify that template inout parameters cannot be used as in formal value parameters of test cases >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_020 NegSem_050402_actual_parameters_020.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed by value to in formal value parameters shall be 
+// variables, literal values, module parameters, constants, variables, value returning 
+// (external) functions, formal value parameters (of in, inout or out parameterization) 
+// of the current scope or expressions composed of the above.
+
+module NegSem_050402_actual_parameters_020 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_020(in integer p_val) runs on GeneralComp {
+        if (p_val == 5) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+    function f_caller(inout template integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_020(p_val)); // tested parameter passing
+    }
+
+	control {
+        var template integer vm_val := 5;
+		f_caller(vm_val);
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `inout' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_021 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_021 verify that literals cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_021 NegSem_050402_actual_parameters_021.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_021 { 
+
+    type component GeneralComp {
+	}	
+
+    function f_test(inout integer p_val) {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_021() runs on GeneralComp {
+        f_test(1); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_021());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_022 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC -050402_022 verify that literals cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_022 NegSem_050402_actual_parameters_022.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_022 { 
+
+    type component GeneralComp {
+	}	
+
+    modulepar integer PX_VAL := 2;
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_022() runs on GeneralComp {
+        f_test(PX_VAL); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_022());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_023 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_023 verify that constants cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_023 NegSem_050402_actual_parameters_023.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_023 { 
+
+    type component GeneralComp {
+	}	
+
+    const integer c_val := 3;
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 3) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_023() runs on GeneralComp {
+        f_test(c_val); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_023());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant 
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_024 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_024 verify that function calls cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_024 NegSem_050402_actual_parameters_024.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_024 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_ret() return integer {
+        return 5;
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 5) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_024() runs on GeneralComp {
+        f_test(f_ret()); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_024());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function 
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_025 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_025 verify that expressions cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_025 NegSem_050402_actual_parameters_025.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_025 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 9) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_025() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(10 + f_ret() - v_val); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_025());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter 
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_026 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_026 verify that template parameters cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_026 NegSem_050402_actual_parameters_026.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_026 { 
+
+    type component GeneralComp {
+	}
+    
+    template integer m_msg := 1;
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_026() runs on GeneralComp {
+        f_test(m_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_026());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_027 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_027 verify that template variables cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_027 NegSem_050402_actual_parameters_027.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_027 { 
+
+    type component GeneralComp {
+	}
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_027() runs on GeneralComp {
+        var template integer vm_msg := 2;
+        f_test(vm_msg); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_027());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_028 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_028 verify that template in parameters cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_028 NegSem_050402_actual_parameters_028.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_028 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 3) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(in template integer p_val) {
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_028() runs on GeneralComp {
+        f_caller(3); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_028());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_029 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_029 verify that template out parameters cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_029 NegSem_050402_actual_parameters_029.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_029 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 4) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(out template integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_029() runs on GeneralComp {
+        var template integer v_val;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_029());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_030 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_030 verify that template inout parameters cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_030 NegSem_050402_actual_parameters_030.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_030 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(in integer p_val) {
+        if (p_val == 4) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    function f_caller(inout template integer p_val) {
+        f_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_030() runs on GeneralComp {
+        var template integer v_val := 5;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_030());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a value was expected instead of `inout' template parameter `p_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_031 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_031 verify that template variable element reference cannot be used as inout formal value parameters of functions >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_031 NegSem_050402_actual_parameters_031.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_031 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 10) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_031() runs on GeneralComp {
+        var template R v_val := { field1 := 10 };
+        f_test(v_val.field1); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_031());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_032 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_032 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_001 NegSem_050402_actual_parameters_001.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_032 NegSem_050402_actual_parameters_032.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_001 { 
+module NegSem_050402_actual_parameters_032 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(inout integer p_val) {
+        if (p_val == 11) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+    
+    function f_caller(in template R p_param) {
+        f_test(p_param.field1); // tested parameter passing
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_032() runs on GeneralComp {
+        f_caller({field1 := 11 });        
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_032());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_033 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_033 verify that literals cannot be used as inout formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_033 NegSem_050402_actual_parameters_033.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_033 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+	}	
+
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_033() runs on GeneralComp {
+        t.start;
+        a_test(1); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_033());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_034 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_034 verify that module parameters cannot be used as inout formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_034 NegSem_050402_actual_parameters_034.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_034 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+	}	
+
+    modulepar integer PX_VAL := 2;
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 2) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_034() runs on GeneralComp {
+        t.start;
+        a_test(PX_VAL); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_034());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_035 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_035 verify that constants cannot be used as inout formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_035 NegSem_050402_actual_parameters_035.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_035 { 
 
     type component GeneralComp {
+        timer t := 0.0;
+	}	
+
+    const integer c_val := 3;
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 3) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_035() runs on GeneralComp {
+        t.start;
+        a_test(c_val); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_035());
 	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant `@NegSem_050402_actual_parameters_035.c_val'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_050402_actual_parameters_036 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 050402_036 verify that function calls cannot be used as inout formal value parameters of altsteps >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_050402_actual_parameters_036 NegSem_050402_actual_parameters_036.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_036 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
     
-    template integer m_msg := 1;
+    function f_ret() return integer {
+        return 5;
+    }
     
-    function f_test(in integer p_val) {
-        if (p_val == 1) { setverdict(pass); }
-        else { setverdict(fail); }
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 5) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_001() runs on GeneralComp {
-        f_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_036() runs on GeneralComp {
+        t.start;
+        a_test(f_ret()); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_001());
+		execute(TC_NegSem_050402_actual_parameters_036());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_001.m_msg' 
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function `@NegSem_050402_actual_parameters_036.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_002 negative test
+:h3. NegSem_050402_actual_parameters_037 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_002 verify that template variables cannot be used as in formal value parameters of functions >
+<TC - 050402_037 verify that expressions cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_002 NegSem_050402_actual_parameters_002.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_037 NegSem_050402_actual_parameters_037.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_002 { 
+module NegSem_050402_actual_parameters_037 { 
 
     type component GeneralComp {
-	}
+        timer t := 0.0;
+    }
     
-    function f_test(in integer p_val) {
-        if (p_val == 2) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_ret() return integer {
+        return 4;
     }
-
-    testcase TC_NegSem_050402_actual_parameters_002() runs on GeneralComp {
-        var template integer vm_msg := 2;
-        f_test(vm_msg); // tested parameter passing
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 9) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_037() runs on GeneralComp {
+        var integer v_val := 5;
+        t.start;
+        a_test(10 + f_ret() - v_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_002());
+		execute(TC_NegSem_050402_actual_parameters_037());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template variable `vm_msg' 
+error: Reference to a variable or value parameter was expected for an `inout' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_003 negative test
+:h3. NegSem_050402_actual_parameters_038 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_003 verify that template in parameters cannot be used as in formal value parameters of functions >
+<TC - 050402_038 verify that template parameters cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_003 NegSem_050402_actual_parameters_003.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_038 NegSem_050402_actual_parameters_038.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_003 { 
+module NegSem_050402_actual_parameters_038 { 
 
     type component GeneralComp {
-    }
-    
-    function f_test(in integer p_val) {
-        if (p_val == 3) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
+        timer t := 0.0;
+	}	
 
-    function f_caller(in template integer p_val) {
-        f_test(p_val); // tested parameter passing
+    template integer m_msg := 1;
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_003() runs on GeneralComp {
-        f_caller(3); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_038() runs on GeneralComp {
+        t.start;
+        a_test(m_msg); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_003());
+		execute(TC_NegSem_050402_actual_parameters_038());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template parameter `p_val'
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_004 negative test
+:h3. NegSem_050402_actual_parameters_039 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_004 verify that template out parameters cannot be used as in formal value parameters of functions >
+<TC - 050402_039 verify that template variables cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_004 NegSem_050402_actual_parameters_004.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_039 NegSem_050402_actual_parameters_039.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_004 { 
+module NegSem_050402_actual_parameters_039 { 
 
     type component GeneralComp {
-    }
+        timer t := 0.0;
+	}
     
-    function f_test(in integer p_val) {
-        if (p_val == 4) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
-
-    function f_caller(out template integer p_val) {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        f_test(p_val); // tested parameter passing
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_004() runs on GeneralComp {
-        var template integer v_val;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_039() runs on GeneralComp {
+        var template integer vm_msg := 2;
+        t.start;
+        a_test(vm_msg); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_004());
+		execute(TC_NegSem_050402_actual_parameters_039());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `out' template parameter `p_val'
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_005 negative test
+:h3. NegSem_050402_actual_parameters_040 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_005 verify that template inout parameters cannot be used as in formal value parameters of functions >
+<TC - 050402_040 verify that template in parameters cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_005 NegSem_050402_actual_parameters_005.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_040 NegSem_050402_actual_parameters_040.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types..
 
-module NegSem_050402_actual_parameters_005 { 
+module NegSem_050402_actual_parameters_040 { 
 
     type component GeneralComp {
+        timer t := 0.0;
     }
     
-    function f_test(in integer p_val) {
-        if (p_val == 4) { setverdict(pass); }
-        else { setverdict(fail); }
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
-    function f_caller(inout template integer p_val) {
-        f_test(p_val); // tested parameter passing
+    function f_caller(in template integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
     }
 
     
-    testcase TC_NegSem_050402_actual_parameters_005() runs on GeneralComp {
-        var template integer v_val := 5;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_040() runs on GeneralComp {
+        t.start;
+        f_caller(3); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_005());
+		execute(TC_NegSem_050402_actual_parameters_040());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `inout' template parameter `p_val'
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_006 negative test
+:h3. NegSem_050402_actual_parameters_041 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_006 verify that template parameters cannot be used as in formal value parameters of templates >
+<TC - 050402_041 verify that template out parameters cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_006 NegSem_050402_actual_parameters_006.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_041 NegSem_050402_actual_parameters_041.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of templates
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_006 { 
+module NegSem_050402_actual_parameters_041 { 
 
     type component GeneralComp {
-	}	
-
-    template integer m_msg := 1;
+        timer t := 0.0;
+    }
     
-    template integer m_test(in integer p_val) := 5 + p_val;
-
-    testcase TC_NegSem_050402_actual_parameters_006() runs on GeneralComp {
-        if (match(6, m_test(m_msg))) { // tested parameter passing
-            setverdict(pass);
-        } else {
-            setverdict(fail);
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
         }
+    }
+
+    function f_caller(out template integer p_val) runs on GeneralComp {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        a_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_041() runs on GeneralComp {
+        var template integer v_val;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_006());
+		execute(TC_NegSem_050402_actual_parameters_041());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_006.m_msg'
+error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_007 negative test
+:h3. NegSem_050402_actual_parameters_042 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_007 verify that template variables cannot be used as in formal value parameters of templates >
+<TC - 050402_042 verify that template inout parameters cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_007 NegSem_050402_actual_parameters_007.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_042 NegSem_050402_actual_parameters_042.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of templates
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
- ***************************************************/
-
-// The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+ ***************************************************/
 
-module NegSem_050402_actual_parameters_007 { 
+// The following requirement is tested:
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+
+module NegSem_050402_actual_parameters_042 { 
 
     type component GeneralComp {
-	}
+        timer t := 0.0;
+    }
     
-    template integer m_test(in integer p_val) := 5 + p_val;
-
-    testcase TC_NegSem_050402_actual_parameters_007() runs on GeneralComp {
-        var template integer vm_msg := 2;
-        if (match(7, m_test(vm_msg))) { // tested parameter passing
-            setverdict(pass);
-        } else {
-            setverdict(fail);
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 1) { setverdict(pass); }
+            else { setverdict(fail); }
         }
+    }
+
+    function f_caller(inout template integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_042() runs on GeneralComp {
+        var template integer v_val := 5;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_007());
+		execute(TC_NegSem_050402_actual_parameters_042());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template variable `vm_msg'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `inout' template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_008 negative test
+:h3. NegSem_050402_actual_parameters_043 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_008 verify that template in parameters cannot be used as in formal value parameters of templates >
+<TC - 050402_043 verify that template variable element reference cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_008 NegSem_050402_actual_parameters_008.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_043 NegSem_050402_actual_parameters_043.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of templates
+ ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_008 { 
+module NegSem_050402_actual_parameters_043 { 
 
     type component GeneralComp {
+        timer t := 0.0;
     }
     
-    template integer m_test(in integer p_val) := 5 + p_val;
-
-    function f_caller(in template integer p_val) {
-        if (match(8, m_test(p_val))) { // tested parameter passing
-            setverdict(pass);
-        } else {
-            setverdict(fail);
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 10) { setverdict(pass); }
+            else { setverdict(fail); }
         }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_008() runs on GeneralComp {
-        f_caller(3); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_043() runs on GeneralComp {
+        var template R v_val := { field1 := 10 };
+        t.start;
+        a_test(v_val.field1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_008());
+		execute(TC_NegSem_050402_actual_parameters_043());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_009 negative test
+:h3. NegSem_050402_actual_parameters_044 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_009 verify that template out parameters cannot be used as in formal value parameters of templates >
+<TC - 050402_044 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_009 NegSem_050402_actual_parameters_009.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_044 NegSem_050402_actual_parameters_044.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of templates
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_009 { 
+module NegSem_050402_actual_parameters_044 { 
 
     type component GeneralComp {
+        timer t := 0.0;
     }
     
-    template integer m_test(in integer p_val) := 5 + p_val;
-
-    function f_caller(out template integer p_val) {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        if (match(9, m_test(p_val))) { // tested parameter passing
-            setverdict(pass);
-        } else {
-            setverdict(fail);
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(inout integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (p_val == 11) { setverdict(pass); }
+            else { setverdict(fail); }
         }
     }
-
     
-    testcase TC_NegSem_050402_actual_parameters_009() runs on GeneralComp {
-        var template integer v_val;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    function f_caller(in template R p_param) runs on GeneralComp {
+        a_test(p_param.field1); // tested parameter passing
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_044() runs on GeneralComp {
+        t.start;
+        f_caller({field1 := 11 });        
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_009());
+		execute(TC_NegSem_050402_actual_parameters_044());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `out' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_010 negative test
+:h3. NegSem_050402_actual_parameters_045 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_010 verify that template out parameters cannot be used as in formal value parameters of templates >
+<TC - 050402_045 verify that literals cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_010 NegSem_050402_actual_parameters_010.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_045 NegSem_050402_actual_parameters_045.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of templates
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_010 { 
+module NegSem_050402_actual_parameters_045 { 
 
     type component GeneralComp {
-    }
-    
-    template integer m_test(in integer p_val) := 5 + p_val;
-
-    function f_caller(inout template integer p_val) {
-        if (match(10, m_test(p_val))) { // tested parameter passing
-            setverdict(pass);
-        } else {
-            setverdict(fail);
-        }
-    }
+	}	
 
-    
-    testcase TC_NegSem_050402_actual_parameters_010() runs on GeneralComp {
-        var template integer v_val := 5;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_045(inout integer p_val) runs on GeneralComp {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_010());
+		execute(TC_NegSem_050402_actual_parameters_045(1)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `inout' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_011 negative test
+:h3. NegSem_050402_actual_parameters_046 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_011 verify that template parameters cannot be used as in formal value parameters of altsteps >
+<TC - 050402_046 verify that module parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_011 NegSem_050402_actual_parameters_011.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_046 NegSem_050402_actual_parameters_046.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_011 { 
+module NegSem_050402_actual_parameters_046 { 
 
     type component GeneralComp {
-        timer t := 0.0;
 	}	
 
-    template integer m_msg := 1;
-    
-    altstep a_test(integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+    modulepar integer PX_VAL := 2;    
 
-    testcase TC_NegSem_050402_actual_parameters_011() runs on GeneralComp {
-        t.start;
-        a_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_046(inout integer p_val) runs on GeneralComp {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_011());
+		execute(TC_NegSem_050402_actual_parameters_046(PX_VAL)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_011.m_msg'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_012 negative test
+:h3. NegSem_050402_actual_parameters_047 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_012 verify that template variables cannot be used as in formal value parameters of altsteps >
+<TC - 050402_047 verify that constants cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_012 NegSem_050402_actual_parameters_012.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_047 NegSem_050402_actual_parameters_047.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_012 { 
+module NegSem_050402_actual_parameters_047 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}
-    
-    altstep a_test(integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 2) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+	}	
 
-    testcase TC_NegSem_050402_actual_parameters_012() runs on GeneralComp {
-        var template integer vm_msg := 2;
-        t.start;
-        a_test(vm_msg); // tested parameter passing
+    const integer c_val := 3;
+
+    testcase TC_NegSem_050402_actual_parameters_047(inout integer p_val) runs on GeneralComp {
+        if (p_val == 3) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_012());
+		execute(TC_NegSem_050402_actual_parameters_047(c_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template variable `vm_msg'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_014 negative test
+:h3. NegSem_050402_actual_parameters_048 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_014 verify that template out parameters cannot be used as in formal value parameters of altsteps >
+<TC - 050402_048 verify that function calls cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_014 NegSem_050402_actual_parameters_014.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_048 NegSem_050402_actual_parameters_048.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_014 { 
+module NegSem_050402_actual_parameters_048 { 
 
     type component GeneralComp {
-        timer t := 0.0;
     }
     
-    altstep a_test(integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 4) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-
-    function f_caller(out template integer p_val) runs on GeneralComp {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        a_test(p_val); // tested parameter passing
+    function f_ret() return integer {
+        return 5;
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_014() runs on GeneralComp {
-        var template integer v_val;
-        t.start;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_048(inout integer p_val) runs on GeneralComp {
+        if (p_val == 5) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_014());
+		execute(TC_NegSem_050402_actual_parameters_048(f_ret())); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `out' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function `@NegSem_050402_actual_parameters_048.f_ret' 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_015 negative test
+:h3. NegSem_050402_actual_parameters_049 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_015 verify that template inout parameters cannot be used as in formal value parameters of altsteps >
+<TC - 050402_049 verify that expressions cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_015 NegSem_050402_actual_parameters_015.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_049 NegSem_050402_actual_parameters_049.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_015 { 
+module NegSem_050402_actual_parameters_049 { 
 
     type component GeneralComp {
-        timer t := 0.0;
     }
     
-    altstep a_test(integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 5) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-
-    function f_caller(inout template integer p_val) runs on GeneralComp {
-        a_test(p_val); // tested parameter passing
+    function f_ret() return integer {
+        return 4;
     }
-
     
-    testcase TC_NegSem_050402_actual_parameters_015() runs on GeneralComp {
-        var template integer v_val := 5;
-        t.start;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_049(inout integer p_val) runs on GeneralComp {
+        if (p_val == 9) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_015());
+        var integer v_val := 5;
+		execute(TC_NegSem_050402_actual_parameters_049(10 + f_ret() - v_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `inout' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_016 negative test
+:h3. NegSem_050402_actual_parameters_050 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_016 verify that template inout parameters cannot be used as in formal value parameters of altsteps >
+<TC - 050402_050 verify that template parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_016 NegSem_050402_actual_parameters_016.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_050 NegSem_050402_actual_parameters_050.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as in formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_016 { 
+module NegSem_050402_actual_parameters_050 { 
 
     type component GeneralComp {
 	}
     
     template integer m_msg := 1;
 
-    testcase TC_NegSem_050402_actual_parameters_016(in integer p_val) runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_050(inout integer p_val) runs on GeneralComp {
         if (p_val == 1) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_016(m_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_050(m_msg)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template `@NegSem_050402_actual_parameters_016.m_msg'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template `@NegSem_050402_actual_parameters_050.m_msg' 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_017 negative test
+:h3. NegSem_050402_actual_parameters_051 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_017 verify that template variables cannot be used as in formal value parameters of test cases >
+<TC - 050402_051 verify that template variables cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_017 NegSem_050402_actual_parameters_017.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_051 NegSem_050402_actual_parameters_051.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as in formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
-
-module NegSem_050402_actual_parameters_017 { 
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+module NegSem_050402_actual_parameters_051 { 
 
     type component GeneralComp {
 	}
     
-    testcase TC_NegSem_050402_actual_parameters_017(in integer p_val) runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_051(inout integer p_val) runs on GeneralComp {
         if (p_val == 2) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
 	control {
         var template integer vm_msg := 2;
-		execute(TC_NegSem_050402_actual_parameters_017(vm_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_051(vm_msg)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template variable `vm_msg'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg' 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_018 negative test
+:h3. NegSem_050402_actual_parameters_052 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_018 verify that template in parameters cannot be used as in formal value parameters of test cases >
+<TC - 050402_052 verify that template in parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_018 NegSem_050402_actual_parameters_018.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_052 NegSem_050402_actual_parameters_052.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as in formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_018 { 
+module NegSem_050402_actual_parameters_052 { 
 
     type component GeneralComp {
     }
     
-    testcase TC_NegSem_050402_actual_parameters_018(in integer p_val) runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_052(inout integer p_val) runs on GeneralComp {
         if (p_val == 3) { setverdict(pass); }
         else { setverdict(fail); }
 	}
     
     function f_caller(in template integer p_val) {
-        execute(TC_NegSem_050402_actual_parameters_018(p_val)); // tested parameter passing
+        execute(TC_NegSem_050402_actual_parameters_052(p_val)); // tested parameter passing
     }
 
 	control {
@@ -3762,47 +6054,46 @@ module NegSem_050402_actual_parameters_018 {
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_019 negative test
+:h3. NegSem_050402_actual_parameters_053 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_019 verify that template out parameters cannot be used as in formal value parameters of test cases >
+<TC - 050402_053 verify that template in parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_019 NegSem_050402_actual_parameters_019.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_053 NegSem_050402_actual_parameters_053.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as in formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_019 { 
+module NegSem_050402_actual_parameters_053 { 
 
     type component GeneralComp {
     }
     
-    testcase TC_NegSem_050402_actual_parameters_019(in integer p_val) runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_053(inout integer p_val) runs on GeneralComp {
         if (p_val == 4) { setverdict(pass); }
         else { setverdict(fail); }
 	}
     
     function f_caller(out template integer p_val) {
         p_val := 4; // out parameter shall have a value before we can pass it to a function
-        execute(TC_NegSem_050402_actual_parameters_019(p_val)); // tested parameter passing
+        execute(TC_NegSem_050402_actual_parameters_053(p_val)); // tested parameter passing
     }
 
 	control {
@@ -3813,46 +6104,45 @@ module NegSem_050402_actual_parameters_019 {
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `out' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_020 negative test
+:h3. NegSem_050402_actual_parameters_054 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_020 verify that template inout parameters cannot be used as in formal value parameters of test cases >
+<TC - 050402_054 verify that template inout parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_020 NegSem_050402_actual_parameters_020.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_054 NegSem_050402_actual_parameters_054.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as in formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed by value to in formal value parameters shall be 
-// variables, literal values, module parameters, constants, variables, value returning 
-// (external) functions, formal value parameters (of in, inout or out parameterization) 
-// of the current scope or expressions composed of the above.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_020 { 
+module NegSem_050402_actual_parameters_054 { 
 
     type component GeneralComp {
     }
     
-    testcase TC_NegSem_050402_actual_parameters_020(in integer p_val) runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_054(inout integer p_val) runs on GeneralComp {
         if (p_val == 5) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
     function f_caller(inout template integer p_val) {
-        execute(TC_NegSem_050402_actual_parameters_020(p_val)); // tested parameter passing
+        execute(TC_NegSem_050402_actual_parameters_054(p_val)); // tested parameter passing
     }
 
 	control {
@@ -3863,25 +6153,25 @@ module NegSem_050402_actual_parameters_020 {
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `inout' template parameter `p_val'
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `inout' template parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_021 negative test
+:h3. NegSem_050402_actual_parameters_055 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_021 verify that literals cannot be used as inout formal value parameters of functions >
+<TC - 050402_055 verify that template variable element reference cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_021 NegSem_050402_actual_parameters_021.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_055 NegSem_050402_actual_parameters_055.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
@@ -3890,46 +6180,47 @@ error: Reference to a value was expected instead of `inout' template parameter `
 // or formal value parameters (of in, inout or out parameterization) or references to 
 // elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_021 { 
+module NegSem_050402_actual_parameters_055 { 
 
     type component GeneralComp {
-	}	
-
-    function f_test(inout integer p_val) {
-        if (p_val == 1) { setverdict(pass); }
-        else { setverdict(fail); }
+    }
+    
+    type record R {
+        integer field1
     }
 
-    testcase TC_NegSem_050402_actual_parameters_021() runs on GeneralComp {
-        f_test(1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_055(inout integer p_val) runs on GeneralComp {
+        if (p_val == 10) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_021());
+        var template R v_val := { field1 := 10 };
+		execute(TC_NegSem_050402_actual_parameters_055(v_val.field1)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_022 negative test
+:h3. NegSem_050402_actual_parameters_056 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC -050402_022 verify that literals cannot be used as inout formal value parameters of functions >
+<TC - 050402_056 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_022 NegSem_050402_actual_parameters_022.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_056 NegSem_050402_actual_parameters_056.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
@@ -3938,4951 +6229,4981 @@ error: Reference to a variable or value parameter was expected for an `inout' va
 // or formal value parameters (of in, inout or out parameterization) or references to 
 // elements of variables or formal value parameters of structured types.
 
-module NegSem_050402_actual_parameters_022 { 
+module NegSem_050402_actual_parameters_056 { 
 
     type component GeneralComp {
-	}	
-
-    modulepar integer PX_VAL := 2;
-    
-    function f_test(inout integer p_val) {
-        if (p_val == 2) { setverdict(pass); }
-        else { setverdict(fail); }
     }
+    
+    type record R {
+        integer field1
+    } 
 
-    testcase TC_NegSem_050402_actual_parameters_022() runs on GeneralComp {
-        f_test(PX_VAL); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_056(inout integer p_val) runs on GeneralComp {
+        if (p_val == 11) { setverdict(pass); }
+        else { setverdict(fail); }             
 	}
+    
+    function f_caller(in template R p_param) {
+        execute(TC_NegSem_050402_actual_parameters_056(p_param.field1)); // tested parameter passing
+    }
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_022());
+		f_caller({field1 := 11 });
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
+ error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_023 negative test
+:h3. NegSem_050402_actual_parameters_057 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_023 verify that constants cannot be used as inout formal value parameters of functions >
+<TC - 050402_057 verify that literals cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_023 NegSem_050402_actual_parameters_023.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_057 NegSem_050402_actual_parameters_057.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_023 { 
+module NegSem_050402_actual_parameters_057 { 
 
     type component GeneralComp {
 	}	
 
-    const integer c_val := 3;
-    
-    function f_test(inout integer p_val) {
-        if (p_val == 3) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
     }
 
-    testcase TC_NegSem_050402_actual_parameters_023() runs on GeneralComp {
-        f_test(c_val); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_057() runs on GeneralComp {
+        f_test(1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_023());
+		execute(TC_NegSem_050402_actual_parameters_057());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant 
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_024 negative test
+:h3. NegSem_050402_actual_parameters_058 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_024 verify that function calls cannot be used as inout formal value parameters of functions >
+<TC - 050402_058 verify that module parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_024 NegSem_050402_actual_parameters_024.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_058 NegSem_050402_actual_parameters_058.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_024 { 
+module NegSem_050402_actual_parameters_058 { 
 
     type component GeneralComp {
-    }
-    
-    function f_ret() return integer {
-        return 5;
-    }
+	}	
+
+    modulepar integer PX_VAL := 2;
     
-    function f_test(inout integer p_val) {
-        if (p_val == 5) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
     }
 
-    testcase TC_NegSem_050402_actual_parameters_024() runs on GeneralComp {
-        f_test(f_ret()); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_058() runs on GeneralComp {
+        f_test(PX_VAL); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_024());
+		execute(TC_NegSem_050402_actual_parameters_058());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function 
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_025 negative test
+:h3. NegSem_050402_actual_parameters_059 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_025 verify that expressions cannot be used as inout formal value parameters of functions >
+<TC - 050402_059 verify that constants cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_025 NegSem_050402_actual_parameters_025.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_059 NegSem_050402_actual_parameters_059.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_025 { 
+module NegSem_050402_actual_parameters_059 { 
 
     type component GeneralComp {
-    }
-    
-    function f_ret() return integer {
-        return 4;
-    }
+	}	
+
+    const integer c_val := 3;
     
-    function f_test(inout integer p_val) {
-        if (p_val == 9) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
     }
-    
-    testcase TC_NegSem_050402_actual_parameters_025() runs on GeneralComp {
-        var integer v_val := 5;
-        f_test(10 + f_ret() - v_val); // tested parameter passing
+
+    testcase TC_NegSem_050402_actual_parameters_059() runs on GeneralComp {
+        f_test(c_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_025());
+		execute(TC_NegSem_050402_actual_parameters_059());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter 
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_026 negative test
+:h3. NegSem_050402_actual_parameters_060 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_026 verify that template parameters cannot be used as inout formal value parameters of functions >
+<TC - 050402_060 verify that function calls cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_026 NegSem_050402_actual_parameters_026.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_060 NegSem_050402_actual_parameters_060.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_026 { 
+module NegSem_050402_actual_parameters_060 { 
 
     type component GeneralComp {
-	}
+    }
     
-    template integer m_msg := 1;
+    function f_ret() return integer {
+        return 5;
+    }
     
-    function f_test(inout integer p_val) {
-        if (p_val == 1) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
     }
 
-    testcase TC_NegSem_050402_actual_parameters_026() runs on GeneralComp {
-        f_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_060() runs on GeneralComp {
+        f_test(f_ret()); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_026());
+		execute(TC_NegSem_050402_actual_parameters_060());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_027 negative test
+:h3. NegSem_050402_actual_parameters_061 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_027 verify that template variables cannot be used as inout formal value parameters of functions >
+<TC - 050402_061 verify that expressions cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_027 NegSem_050402_actual_parameters_027.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_061 NegSem_050402_actual_parameters_061.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_027 { 
+module NegSem_050402_actual_parameters_061 { 
 
     type component GeneralComp {
-	}
+    }
     
-    function f_test(inout integer p_val) {
-        if (p_val == 2) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_ret() return integer {
+        return 4;
     }
-
-    testcase TC_NegSem_050402_actual_parameters_027() runs on GeneralComp {
-        var template integer vm_msg := 2;
-        f_test(vm_msg); // tested parameter passing
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_061() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(10 + f_ret() - v_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_027());
+		execute(TC_NegSem_050402_actual_parameters_061());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_028 negative test
+:h3. NegSem_050402_actual_parameters_062 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_028 verify that template in parameters cannot be used as inout formal value parameters of functions >
+<TC - 050402_062 verify that template parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_028 NegSem_050402_actual_parameters_028.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_062 NegSem_050402_actual_parameters_062.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_028 { 
+module NegSem_050402_actual_parameters_062 { 
 
     type component GeneralComp {
-    }
+	}
     
-    function f_test(inout integer p_val) {
-        if (p_val == 3) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
-
-    function f_caller(in template integer p_val) {
-        f_test(p_val); // tested parameter passing
+    template integer m_msg := 1;
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
+        setverdict(pass);
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_028() runs on GeneralComp {
-        f_caller(3); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_062() runs on GeneralComp {
+        f_test(m_msg); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_028());
+		execute(TC_NegSem_050402_actual_parameters_062());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template `@NegSem_050402_actual_parameters_062.m_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_029 negative test
+:h3. NegSem_050402_actual_parameters_063 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_029 verify that template out parameters cannot be used as inout formal value parameters of functions >
+<TC - 050402_063 verify that literals cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_029 NegSem_050402_actual_parameters_029.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_063 NegSem_050402_actual_parameters_063.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_029 { 
+module NegSem_050402_actual_parameters_063 { 
 
     type component GeneralComp {
-    }
-    
-    function f_test(inout integer p_val) {
-        if (p_val == 4) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
+        timer t := 0.0;
+	}	
 
-    function f_caller(out template integer p_val) {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        f_test(p_val); // tested parameter passing
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := ?;
+            setverdict(pass);
+        }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_029() runs on GeneralComp {
-        var template integer v_val;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_063() runs on GeneralComp {
+        t.start;
+        a_test(1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_029());
+		execute(TC_NegSem_050402_actual_parameters_063());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_030 negative test
+:h3. NegSem_050402_actual_parameters_064 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_030 verify that template inout parameters cannot be used as inout formal value parameters of functions >
+<TC - 050402_064 verify that module parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_030 NegSem_050402_actual_parameters_030.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_064 NegSem_050402_actual_parameters_064.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_030 { 
+module NegSem_050402_actual_parameters_064 { 
 
     type component GeneralComp {
-    }
-    
-    function f_test(in integer p_val) {
-        if (p_val == 4) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
+        timer t := 0.0;
+	}	
 
-    function f_caller(inout template integer p_val) {
-        f_test(p_val); // tested parameter passing
+    modulepar integer PX_VAL := 2;
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := ?;
+            setverdict(pass);
+        }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_030() runs on GeneralComp {
-        var template integer v_val := 5;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_064() runs on GeneralComp {
+        t.start;
+        a_test(PX_VAL); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_030());
+		execute(TC_NegSem_050402_actual_parameters_064());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a value was expected instead of `inout' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_031 negative test
+:h3. NegSem_050402_actual_parameters_065 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_031 verify that template variable element reference cannot be used as inout formal value parameters of functions >
+<TC - 050402_065 verify that constants cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_031 NegSem_050402_actual_parameters_031.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_065 NegSem_050402_actual_parameters_065.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_031 { 
+module NegSem_050402_actual_parameters_065 { 
 
     type component GeneralComp {
-    }
-    
-    type record R {
-        integer field1
-    }
+        timer t := 0.0;
+	}	
+
+    const integer c_val := 3;
     
-    function f_test(inout integer p_val) {
-        if (p_val == 10) { setverdict(pass); }
-        else { setverdict(fail); }
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := ?;
+            setverdict(pass);
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_031() runs on GeneralComp {
-        var template R v_val := { field1 := 10 };
-        f_test(v_val.field1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_065() runs on GeneralComp {
+        t.start;
+        a_test(c_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_031());
+		execute(TC_NegSem_050402_actual_parameters_065());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_032 negative test
+:h3. NegSem_050402_actual_parameters_066 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_032 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of functions >
+<TC - 050402_066 verify that function calls cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_032 NegSem_050402_actual_parameters_032.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_066 NegSem_050402_actual_parameters_066.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_032 { 
+module NegSem_050402_actual_parameters_066 { 
 
     type component GeneralComp {
+        timer t := 0.0;
     }
     
-    type record R {
-        integer field1
-    }
-    
-    function f_test(inout integer p_val) {
-        if (p_val == 11) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_ret() return integer {
+        return 5;
     }
     
-    function f_caller(in template R p_param) {
-        f_test(p_param.field1); // tested parameter passing
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := ?;
+            setverdict(pass);
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_032() runs on GeneralComp {
-        f_caller({field1 := 11 });        
+    testcase TC_NegSem_050402_actual_parameters_066() runs on GeneralComp {
+        t.start;
+        a_test(f_ret()); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_032());
+		execute(TC_NegSem_050402_actual_parameters_066());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_033 negative test
+:h3. NegSem_050402_actual_parameters_067 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_033 verify that literals cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_067 verify that expressions cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_033 NegSem_050402_actual_parameters_033.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_067 NegSem_050402_actual_parameters_067.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_033 { 
+module NegSem_050402_actual_parameters_067 { 
 
     type component GeneralComp {
         timer t := 0.0;
-	}	
-
-    altstep a_test(inout integer p_val) runs on GeneralComp {
+    }
+    
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
         []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
+            p_val := ?;
+            setverdict(pass);
         }
     }
-
-    testcase TC_NegSem_050402_actual_parameters_033() runs on GeneralComp {
+    
+    testcase TC_NegSem_050402_actual_parameters_067() runs on GeneralComp {
+        var integer v_val := 5;
         t.start;
-        a_test(1); // tested parameter passing
+        a_test(10 + f_ret() - v_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_033());
+		execute(TC_NegSem_050402_actual_parameters_067());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_034 negative test
+:h3. NegSem_050402_actual_parameters_068 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_034 verify that module parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_068 verify that template parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_034 NegSem_050402_actual_parameters_034.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_068 NegSem_050402_actual_parameters_068.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_034 { 
+module NegSem_050402_actual_parameters_068 { 
 
     type component GeneralComp {
         timer t := 0.0;
 	}	
 
-    modulepar integer PX_VAL := 2;
+    template integer m_msg := 1;
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
+    altstep a_test(out template integer p_val) runs on GeneralComp {
         []t.timeout {
-            if (p_val == 2) { setverdict(pass); }
-            else { setverdict(fail); }
+            p_val := ?;
+            setverdict(pass);
         }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_034() runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_068() runs on GeneralComp {
         t.start;
-        a_test(PX_VAL); // tested parameter passing
+        a_test(m_msg); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_034());
+		execute(TC_NegSem_050402_actual_parameters_068());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_035 negative test
+:h3. NegSem_050402_actual_parameters_069 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_035 verify that constants cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_069 verify that literals cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_035 NegSem_050402_actual_parameters_035.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_069 NegSem_050402_actual_parameters_069.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_035 { 
+module NegSem_050402_actual_parameters_069 { 
 
     type component GeneralComp {
-        timer t := 0.0;
 	}	
 
-    const integer c_val := 3;
-    
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 3) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-
-    testcase TC_NegSem_050402_actual_parameters_035() runs on GeneralComp {
-        t.start;
-        a_test(c_val); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_069(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_035());
+		execute(TC_NegSem_050402_actual_parameters_069(1)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant `@NegSem_050402_actual_parameters_035.c_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_036 negative test
+:h3. NegSem_050402_actual_parameters_070 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_036 verify that function calls cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_070 verify that module parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_036 NegSem_050402_actual_parameters_036.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_070 NegSem_050402_actual_parameters_070.ttcn >
 /***************************************************
- ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of altsteps
- ** @verdict  pass reject
- ***************************************************/
-
-// The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
-
-module NegSem_050402_actual_parameters_036 { 
-
-    type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    function f_ret() return integer {
-        return 5;
-    }
-    
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 5) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
 
-    testcase TC_NegSem_050402_actual_parameters_036() runs on GeneralComp {
-        t.start;
-        a_test(f_ret()); // tested parameter passing
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_070 { 
+
+    type component GeneralComp {
+	}	
+
+    modulepar integer PX_VAL := 2;    
+
+    testcase TC_NegSem_050402_actual_parameters_070(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_036());
+		execute(TC_NegSem_050402_actual_parameters_070(PX_VAL)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function `@NegSem_050402_actual_parameters_036.f_ret'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter `@NegSem_050402_actual_parameters_070.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_037 negative test
+:h3. NegSem_050402_actual_parameters_071 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_037 verify that expressions cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_071 verify that constants cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_037 NegSem_050402_actual_parameters_037.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_071 NegSem_050402_actual_parameters_071.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_037 { 
+module NegSem_050402_actual_parameters_071 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    function f_ret() return integer {
-        return 4;
-    }
-    
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 9) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-    
-    testcase TC_NegSem_050402_actual_parameters_037() runs on GeneralComp {
-        var integer v_val := 5;
-        t.start;
-        a_test(10 + f_ret() - v_val); // tested parameter passing
+	}	
+
+    const integer c_val := 3;
+
+    testcase TC_NegSem_050402_actual_parameters_071(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_037());
+		execute(TC_NegSem_050402_actual_parameters_071(c_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_038 negative test
+:h3. NegSem_050402_actual_parameters_072 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_038 verify that template parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_072 verify that function calls cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_038 NegSem_050402_actual_parameters_038.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_072 NegSem_050402_actual_parameters_072.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_038 { 
+module NegSem_050402_actual_parameters_072 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
-
-    template integer m_msg := 1;
+    }
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    function f_ret() return integer {
+        return 5;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_038() runs on GeneralComp {
-        t.start;
-        a_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_072(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_038());
+		execute(TC_NegSem_050402_actual_parameters_072(f_ret())); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function `@NegSem_050402_actual_parameters_072.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_039 negative test
+:h3. NegSem_050402_actual_parameters_073 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_039 verify that template variables cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_073 verify that expressions cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_039 NegSem_050402_actual_parameters_039.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_073 NegSem_050402_actual_parameters_073.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_039 { 
+module NegSem_050402_actual_parameters_073 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}
+    }
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    function f_ret() return integer {
+        return 4;
     }
-
-    testcase TC_NegSem_050402_actual_parameters_039() runs on GeneralComp {
-        var template integer vm_msg := 2;
-        t.start;
-        a_test(vm_msg); // tested parameter passing
+    
+    testcase TC_NegSem_050402_actual_parameters_073(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_039());
+        var integer v_val := 5;
+		execute(TC_NegSem_050402_actual_parameters_073(10 + f_ret() - v_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_040 negative test
+:h3. NegSem_050402_actual_parameters_074 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_040 verify that template in parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_074 verify that template parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_040 NegSem_050402_actual_parameters_040.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_074 NegSem_050402_actual_parameters_074.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types..
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_040 { 
+module NegSem_050402_actual_parameters_074 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
+	}
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-
-    function f_caller(in template integer p_val) runs on GeneralComp {
-        a_test(p_val); // tested parameter passing
-    }
+    template integer m_msg := 1;
 
-    
-    testcase TC_NegSem_050402_actual_parameters_040() runs on GeneralComp {
-        t.start;
-        f_caller(3); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_074(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_040());
+		execute(TC_NegSem_050402_actual_parameters_074(m_msg)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template `@NegSem_050402_actual_parameters_074.m_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_041 negative test
+:h3. NegSem_050402_actual_parameters_075 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_041 verify that template out parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_075 verify that literals cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_041 NegSem_050402_actual_parameters_041.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_075 NegSem_050402_actual_parameters_075.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_041 { 
+module NegSem_050402_actual_parameters_075 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+	}	
 
-    function f_caller(out template integer p_val) runs on GeneralComp {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        a_test(p_val); // tested parameter passing
+    function f_test(inout template integer p_val) {
+        if (match(1, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_041() runs on GeneralComp {
-        var template integer v_val;
-        t.start;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_075() runs on GeneralComp {
+        f_test(1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_041());
+		execute(TC_NegSem_050402_actual_parameters_075());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_042 negative test
+:h3. NegSem_050402_actual_parameters_076 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_042 verify that template inout parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_076 verify that module parameters cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_042 NegSem_050402_actual_parameters_042.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_076 NegSem_050402_actual_parameters_076.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_042 { 
+module NegSem_050402_actual_parameters_076 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 1) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+	}	
 
-    function f_caller(inout template integer p_val) runs on GeneralComp {
-        a_test(p_val); // tested parameter passing
+    modulepar integer PX_VAL := 2;
+    
+    function f_test(inout template integer p_val) {
+        if (match(2, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    
-    testcase TC_NegSem_050402_actual_parameters_042() runs on GeneralComp {
-        var template integer v_val := 5;
-        t.start;
-        f_caller(v_val); // this parameter passing is not a subject of the test
+    testcase TC_NegSem_050402_actual_parameters_076() runs on GeneralComp {
+        f_test(PX_VAL); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_042());
+		execute(TC_NegSem_050402_actual_parameters_076());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `inout' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_076.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_043 negative test
+:h3. NegSem_050402_actual_parameters_077 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_043 verify that template variable element reference cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_077 verify that constants cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_043 NegSem_050402_actual_parameters_043.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_077 NegSem_050402_actual_parameters_077.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_043 { 
+module NegSem_050402_actual_parameters_077 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    type record R {
-        integer field1
-    }
+	}	
+
+    const integer c_val := 3;
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 10) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    function f_test(inout template integer p_val) {
+        if (match(3, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_043() runs on GeneralComp {
-        var template R v_val := { field1 := 10 };
-        t.start;
-        a_test(v_val.field1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_077() runs on GeneralComp {
+        f_test(c_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_043());
+		execute(TC_NegSem_050402_actual_parameters_077());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_077.c_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_044 negative test
+:h3. NegSem_050402_actual_parameters_078 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_044 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of altsteps >
+<TC - 050402_078 verify that constants cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_044 NegSem_050402_actual_parameters_044.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_078 NegSem_050402_actual_parameters_078.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of altsteps
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_044 { 
+module NegSem_050402_actual_parameters_078 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    type record R {
-        integer field1
     }
     
-    altstep a_test(inout integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (p_val == 11) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    function f_ret() return integer {
+        return 5;
     }
     
-    function f_caller(in template R p_param) runs on GeneralComp {
-        a_test(p_param.field1); // tested parameter passing
+    function f_test(inout template integer p_val) {
+        if (match(5, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_044() runs on GeneralComp {
-        t.start;
-        f_caller({field1 := 11 });        
+    testcase TC_NegSem_050402_actual_parameters_078() runs on GeneralComp {
+        f_test(f_ret()); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_044());
+		execute(TC_NegSem_050402_actual_parameters_078());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_078.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_045 negative test
+:h3. NegSem_050402_actual_parameters_079 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_045 verify that literals cannot be used as inout formal value parameters of test cases >
+<TC - 050402_079 verify that expressions cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_045 NegSem_050402_actual_parameters_045.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_079 NegSem_050402_actual_parameters_079.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_045 { 
+module NegSem_050402_actual_parameters_079 { 
 
     type component GeneralComp {
-	}	
-
-    testcase TC_NegSem_050402_actual_parameters_045(inout integer p_val) runs on GeneralComp {
-        if (p_val == 1) { setverdict(pass); }
+    }
+    
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    function f_test(inout template integer p_val) {
+        if (match(9, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_079() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(10 + f_ret() - v_val); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_045(1)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_079());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_046 negative test
+:h3. NegSem_050402_actual_parameters_080 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_046 verify that module parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_080 verify that template parameters cannot be used as inout formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_046 NegSem_050402_actual_parameters_046.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_080 NegSem_050402_actual_parameters_080.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_046 { 
+module NegSem_050402_actual_parameters_080 { 
 
     type component GeneralComp {
-	}	
-
-    modulepar integer PX_VAL := 2;    
-
-    testcase TC_NegSem_050402_actual_parameters_046(inout integer p_val) runs on GeneralComp {
-        if (p_val == 2) { setverdict(pass); }
+	}
+    
+    template integer m_msg := 1;
+    
+    function f_test(inout template integer p_val) {
+        if (match(1, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_080() runs on GeneralComp {
+        f_test(m_msg); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_046(PX_VAL)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_080());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of module parameter
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_080.m_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_047 negative test
+:h3. NegSem_050402_actual_parameters_081 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_047 verify that constants cannot be used as inout formal value parameters of test cases >
+<TC - 050402_081 verify that literals cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_047 NegSem_050402_actual_parameters_047.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_081 NegSem_050402_actual_parameters_081.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
-
-module NegSem_050402_actual_parameters_047 { 
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
+module NegSem_050402_actual_parameters_081 { 
 
     type component GeneralComp {
+        timer t := 0.0;
 	}	
 
-    const integer c_val := 3;
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(1, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_047(inout integer p_val) runs on GeneralComp {
-        if (p_val == 3) { setverdict(pass); }
-        else { setverdict(fail); }
+    testcase TC_NegSem_050402_actual_parameters_081() runs on GeneralComp {
+        t.start;
+        a_test(1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_047(c_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_081());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of constant 
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_048 negative test
+:h3. NegSem_050402_actual_parameters_082 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_048 verify that function calls cannot be used as inout formal value parameters of test cases >
+<TC - 050402_082 verify that module parameters cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_048 NegSem_050402_actual_parameters_048.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_082 NegSem_050402_actual_parameters_082.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
-
-module NegSem_050402_actual_parameters_048 { 
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
+module NegSem_050402_actual_parameters_082 { 
 
     type component GeneralComp {
-    }
+        timer t := 0.0;
+	}	
+
+    modulepar integer PX_VAL := 2;
     
-    function f_ret() return integer {
-        return 5;
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(2, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_048(inout integer p_val) runs on GeneralComp {
-        if (p_val == 5) { setverdict(pass); }
-        else { setverdict(fail); }
+    testcase TC_NegSem_050402_actual_parameters_082() runs on GeneralComp {
+        t.start;
+        a_test(PX_VAL); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_048(f_ret())); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_082());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of function `@NegSem_050402_actual_parameters_048.f_ret' 
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_082.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_049 negative test
+:h3. NegSem_050402_actual_parameters_083 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_049 verify that expressions cannot be used as inout formal value parameters of test cases >
+<TC - 050402_083 verify that module parameters cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_049 NegSem_050402_actual_parameters_049.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_083 NegSem_050402_actual_parameters_083.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_049 { 
+module NegSem_050402_actual_parameters_083 { 
 
     type component GeneralComp {
-    }
+        timer t := 0.0;
+	}	
+
+    const integer c_val := 3;
     
-    function f_ret() return integer {
-        return 4;
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(3, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
-    
-    testcase TC_NegSem_050402_actual_parameters_049(inout integer p_val) runs on GeneralComp {
-        if (p_val == 9) { setverdict(pass); }
-        else { setverdict(fail); }
+
+    testcase TC_NegSem_050402_actual_parameters_083() runs on GeneralComp {
+        t.start;
+        a_test(c_val); // tested parameter passing
 	}
 
 	control {
-        var integer v_val := 5;
-		execute(TC_NegSem_050402_actual_parameters_049(10 + f_ret() - v_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_083());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter 
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_083.c_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_050 negative test
+:h3. NegSem_050402_actual_parameters_084 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_050 verify that template parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_084 verify that function calls cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_050 NegSem_050402_actual_parameters_050.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_084 NegSem_050402_actual_parameters_084.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_050 { 
+module NegSem_050402_actual_parameters_084 { 
 
     type component GeneralComp {
-	}
+        timer t := 0.0;
+    }
     
-    template integer m_msg := 1;
+    function f_ret() return integer {
+        return 5;
+    }
+    
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(5, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_050(inout integer p_val) runs on GeneralComp {
-        if (p_val == 1) { setverdict(pass); }
-        else { setverdict(fail); }
+    testcase TC_NegSem_050402_actual_parameters_084() runs on GeneralComp {
+        t.start;
+        a_test(f_ret()); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_050(m_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_084());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template `@NegSem_050402_actual_parameters_050.m_msg' 
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_084.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_051 negative test
+:h3. NegSem_050402_actual_parameters_085 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_051 verify that template variables cannot be used as inout formal value parameters of test cases >
+<TC - 050402_085 verify that expressions cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_051 NegSem_050402_actual_parameters_051.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_085 NegSem_050402_actual_parameters_085.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variables cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
-module NegSem_050402_actual_parameters_051 { 
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
+
+module NegSem_050402_actual_parameters_085 { 
 
     type component GeneralComp {
-	}
+        timer t := 0.0;
+    }
     
-    testcase TC_NegSem_050402_actual_parameters_051(inout integer p_val) runs on GeneralComp {
-        if (p_val == 2) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(9, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_085() runs on GeneralComp {
+        var integer v_val := 5;
+        t.start;
+        a_test(10 + f_ret() - v_val); // tested parameter passing
 	}
 
 	control {
-        var template integer vm_msg := 2;
-		execute(TC_NegSem_050402_actual_parameters_051(vm_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_085());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `vm_msg' 
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_052 negative test
+:h3. NegSem_050402_actual_parameters_086 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_052 verify that template in parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_086 verify that template parameters cannot be used as inout formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_052 NegSem_050402_actual_parameters_052.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_086 NegSem_050402_actual_parameters_086.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template in parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value parameters, formal template parameters or references 
+// to elements of variables, template variables, formal value parameters or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_052 { 
+module NegSem_050402_actual_parameters_086 { 
 
     type component GeneralComp {
-    }
-    
-    testcase TC_NegSem_050402_actual_parameters_052(inout integer p_val) runs on GeneralComp {
-        if (p_val == 3) { setverdict(pass); }
-        else { setverdict(fail); }
-	}
+        timer t := 0.0;
+	}	
+
+    template integer m_msg := 1;
     
-    function f_caller(in template integer p_val) {
-        execute(TC_NegSem_050402_actual_parameters_052(p_val)); // tested parameter passing
+    altstep a_test(inout template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            if (match(1, p_val)) { setverdict(pass); }
+            else { setverdict(fail); }
+        }
     }
 
+    testcase TC_NegSem_050402_actual_parameters_086() runs on GeneralComp {
+        t.start;
+        a_test(m_msg); // tested parameter passing
+	}
+
 	control {
-		f_caller(3); // this parameter passing is not a subject of the test
+		execute(TC_NegSem_050402_actual_parameters_086());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_086.m_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_053 negative test
+:h3. NegSem_050402_actual_parameters_087 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_053 verify that template in parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_087 verify that literals cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_053 NegSem_050402_actual_parameters_053.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_087 NegSem_050402_actual_parameters_087.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template out parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_053 { 
+module NegSem_050402_actual_parameters_087 { 
 
     type component GeneralComp {
-    }
-    
-    testcase TC_NegSem_050402_actual_parameters_053(inout integer p_val) runs on GeneralComp {
-        if (p_val == 4) { setverdict(pass); }
+	}	
+
+    testcase TC_NegSem_050402_actual_parameters_087(inout template integer p_val) runs on GeneralComp {
+        if (match(1, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
 	}
-    
-    function f_caller(out template integer p_val) {
-        p_val := 4; // out parameter shall have a value before we can pass it to a function
-        execute(TC_NegSem_050402_actual_parameters_053(p_val)); // tested parameter passing
-    }
 
 	control {
-        var template integer vm_val;
-        f_caller(vm_val);
+		execute(TC_NegSem_050402_actual_parameters_087(1)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `out' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_054 negative test
+:h3. NegSem_050402_actual_parameters_088 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_054 verify that template inout parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_088 verify that module parameters cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_054 NegSem_050402_actual_parameters_054.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_088 NegSem_050402_actual_parameters_088.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template inout parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_054 { 
+module NegSem_050402_actual_parameters_088 { 
 
     type component GeneralComp {
-    }
-    
-    testcase TC_NegSem_050402_actual_parameters_054(inout integer p_val) runs on GeneralComp {
-        if (p_val == 5) { setverdict(pass); }
+	}	
+
+    modulepar integer PX_VAL := 2;    
+
+    testcase TC_NegSem_050402_actual_parameters_088(inout template integer p_val) runs on GeneralComp {
+        if (match(2, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
-    function f_caller(inout template integer p_val) {
-        execute(TC_NegSem_050402_actual_parameters_054(p_val)); // tested parameter passing
-    }
-
 	control {
-        var template integer vm_val := 5;
-		f_caller(vm_val);
+		execute(TC_NegSem_050402_actual_parameters_088(PX_VAL)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of `inout' template parameter `p_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_088.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_055 negative test
+:h3. NegSem_050402_actual_parameters_089 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_055 verify that template variable element reference cannot be used as inout formal value parameters of test cases >
+<TC - 050402_089 verify that constants cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_055 NegSem_050402_actual_parameters_055.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_089 NegSem_050402_actual_parameters_089.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template variable element reference cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_055 { 
+module NegSem_050402_actual_parameters_089 { 
+
+    type component GeneralComp {
+	}	
 
-    type component GeneralComp {
-    }
-    
-    type record R {
-        integer field1
-    }
+    const integer c_val := 3;
 
-    testcase TC_NegSem_050402_actual_parameters_055(inout integer p_val) runs on GeneralComp {
-        if (p_val == 10) { setverdict(pass); }
+    testcase TC_NegSem_050402_actual_parameters_089(inout template integer p_val) runs on GeneralComp {
+        if (match(3, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
 	control {
-        var template R v_val := { field1 := 10 };
-		execute(TC_NegSem_050402_actual_parameters_055(v_val.field1)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_089(c_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template variable `v_val'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_089.c_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_056 negative test
+:h3. NegSem_050402_actual_parameters_090 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_056 verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of test cases >
+<TC - 050402_090 verify that function calls cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_056 NegSem_050402_actual_parameters_056.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_090 NegSem_050402_actual_parameters_090.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as inout formal value parameters of test cases
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_056 { 
+module NegSem_050402_actual_parameters_090 { 
 
     type component GeneralComp {
     }
     
-    type record R {
-        integer field1
-    } 
+    function f_ret() return integer {
+        return 5;
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_056(inout integer p_val) runs on GeneralComp {
-        if (p_val == 11) { setverdict(pass); }
-        else { setverdict(fail); }             
+    testcase TC_NegSem_050402_actual_parameters_090(inout template integer p_val) runs on GeneralComp {
+        if (match(5, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
-    
-    function f_caller(in template R p_param) {
-        execute(TC_NegSem_050402_actual_parameters_056(p_param.field1)); // tested parameter passing
-    }
 
 	control {
-		f_caller({field1 := 11 });
+		execute(TC_NegSem_050402_actual_parameters_090(f_ret())); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a variable or value parameter was expected for an `inout' value parameter instead of template parameter `p_param'
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_090.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_057 negative test
+:h3. NegSem_050402_actual_parameters_091 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_057 verify that literals cannot be used as out formal template parameters of functions >
+<TC - 050402_091 verify that expressions cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_057 NegSem_050402_actual_parameters_057.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_091 NegSem_050402_actual_parameters_091.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_057 { 
+module NegSem_050402_actual_parameters_091 { 
 
     type component GeneralComp {
-	}	
-
-    function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
     }
-
-    testcase TC_NegSem_050402_actual_parameters_057() runs on GeneralComp {
-        f_test(1); // tested parameter passing
+    
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_091(inout template integer p_val) runs on GeneralComp {
+        if (match(9, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_057());
+        var integer v_val := 5;
+		execute(TC_NegSem_050402_actual_parameters_091(10 + f_ret() - v_val)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_058 negative test
+:h3. NegSem_050402_actual_parameters_092 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_058 verify that module parameters cannot be used as out formal template parameters of functions >
+<TC - 050402_092 verify that template parameters cannot be used as inout formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_058 NegSem_050402_actual_parameters_058.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_092 NegSem_050402_actual_parameters_092.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to inout formal template parameters shall be variables, 
+// template variables, formal value or template parameters (of in, inout or out 
+// parameterization) of the current scope or references to elements of (template) variables 
+// or formal (template) parameters of structured types.
 
-module NegSem_050402_actual_parameters_058 { 
+module NegSem_050402_actual_parameters_092 { 
 
     type component GeneralComp {
-	}	
-
-    modulepar integer PX_VAL := 2;
+	}
     
-    function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
-    }
+    template integer m_msg := 1;
 
-    testcase TC_NegSem_050402_actual_parameters_058() runs on GeneralComp {
-        f_test(PX_VAL); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_092(inout template integer p_val) runs on GeneralComp {
+        if (match(1, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_058());
+		execute(TC_NegSem_050402_actual_parameters_092(m_msg)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter
+ error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_092.m_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_059 negative test
+:h3. NegSem_050402_actual_parameters_093 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_059 verify that constants cannot be used as out formal template parameters of functions >
+<TC - 050402_093 verify that referencing errors are detected in actual parameters passed to in formal value parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_059 NegSem_050402_actual_parameters_059.ttcn >
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_050402_actual_parameters_093 NegSem_050402_actual_parameters_093.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to in formal value parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When actual parameters that are passed to in formal value or template parameters 
+// contain a value or template reference, rules for using references on the right hand 
+// side of assignments apply. 
 
-module NegSem_050402_actual_parameters_059 { 
+module NegSem_050402_actual_parameters_093 { 
 
     type component GeneralComp {
-	}	
-
-    const integer c_val := 3;
+	}
     
-    function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
+    type record R {
+        integer field1,
+        record {
+            integer subfield1,
+            integer subfield2
+        } field2 optional
     }
 
-    testcase TC_NegSem_050402_actual_parameters_059() runs on GeneralComp {
-        f_test(c_val); // tested parameter passing
+    function f_test(in integer p_val) {
+        if (p_val == 2) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_093() runs on GeneralComp {
+        var R v_rec := {
+            field1 := 1,
+            field2 := omit
+        }
+        f_test(v_rec.field2.subfield1); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_059());
+		execute(TC_NegSem_050402_actual_parameters_093());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant
+Dynamic test case error: Using the value of an optional field containing omit
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_060 negative test
+:h3. NegSem_050402_actual_parameters_094 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_060 verify that function calls cannot be used as out formal template parameters of functions >
+<TC - 050402_094 verify that referencing errors are detected in actual parameters passed to in formal template parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_060 NegSem_050402_actual_parameters_060.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_094 NegSem_050402_actual_parameters_094.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to in formal template parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When actual parameters that are passed to in formal value or template parameters 
+// contain a value or template reference, rules for using references on the right hand 
+// side of assignments apply. 
 
-module NegSem_050402_actual_parameters_060 { 
+module NegSem_050402_actual_parameters_094 { 
 
     type component GeneralComp {
-    }
+	}
     
-    function f_ret() return integer {
-        return 5;
+    type record R {
+        integer field1,
+        record {
+            integer subfield1,
+            integer subfield2
+        } field2 optional
     }
     
-    function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
+    template R mw_rec := {
+        field1 := 1,
+        field2 := *
     }
 
-    testcase TC_NegSem_050402_actual_parameters_060() runs on GeneralComp {
-        f_test(f_ret()); // tested parameter passing
+    function f_test(in template integer p_val) {
+        if (match(255, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_094() runs on GeneralComp {        
+        f_test(mw_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_060());
+		execute(TC_NegSem_050402_actual_parameters_094());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function 
+error: Reference to field `subfield1' of any or omit `@NegSem_050402_actual_parameters_094.mw_rec.field2'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_061 negative test
+:h3. NegSem_050402_actual_parameters_095 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_061 verify that expressions cannot be used as out formal template parameters of functions >
+<TC - 050402_095 verify that referencing errors are detected in actual parameters passed to in formal template parameters >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_050402_actual_parameters_061 NegSem_050402_actual_parameters_061.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_095 NegSem_050402_actual_parameters_095.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to out formal template parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When actual parameters that are passed to inout and out formal value or template 
+// parameters contain a value or template reference, rules for using references on 
+// the left hand side of assignments apply.
 
-module NegSem_050402_actual_parameters_061 { 
+module NegSem_050402_actual_parameters_095 { 
 
     type component GeneralComp {
-    }
+	}
     
-    function f_ret() return integer {
-        return 4;
+    type record R {
+        integer field1,
+        record {
+            integer subfield1,
+            integer subfield2
+        } field2 optional
     }
-    
+
     function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
+        p_val := 10;
     }
-    
-    testcase TC_NegSem_050402_actual_parameters_061() runs on GeneralComp {
-        var integer v_val := 5;
-        f_test(10 + f_ret() - v_val); // tested parameter passing
+
+    testcase TC_NegSem_050402_actual_parameters_095() runs on GeneralComp {
+        var template R v_rec := {
+            field1 := 1,
+            field2 := ({ subfield1 := 0, subfield2 := 1}, { subfield1 := 2, subfield2 := 3 })
+        };
+        f_test(v_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
+        if (valueof(v_rec.field2.subfield1) == 10 and match(0, v_rec.field2.subfield2)) { setverdict(pass); }
+        else { setverdict(fail); }
+
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_061());
+		execute(TC_NegSem_050402_actual_parameters_095());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter
+Dynamic test case error: Matching with an uninitialized/unsupported integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_062 negative test
+:h3. NegSem_050402_actual_parameters_096 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_062 verify that template parameters cannot be used as out formal template parameters of functions >
+<TC - 050402_096 verify that referencing rules are correctly applied to actual parameters of inout formal template parameters >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_050402_actual_parameters_062 NegSem_050402_actual_parameters_062.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_096 NegSem_050402_actual_parameters_096.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that referencing rules are correctly applied to actual parameters of inout formal template parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When actual parameters that are passed to inout and out formal value or template 
+// parameters contain a value or template reference, rules for using references on 
+// the left hand side of assignments apply.
 
-module NegSem_050402_actual_parameters_062 { 
+module NegSem_050402_actual_parameters_096 { 
 
     type component GeneralComp {
 	}
     
-    template integer m_msg := 1;
-    
-    function f_test(out template integer p_val) {
-        p_val := ?;
-        setverdict(pass);
+    type record R {
+        integer field1,
+        record {
+            integer subfield1,
+            integer subfield2
+        } field2 optional
     }
 
-    testcase TC_NegSem_050402_actual_parameters_062() runs on GeneralComp {
-        f_test(m_msg); // tested parameter passing
+    function f_test(inout template integer p_val) {
+        p_val := 10;
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_096() runs on GeneralComp {
+        var template R v_rec := {
+            field1 := 1,
+            field2 := ({ subfield1 := 0, subfield2 := 1}, { subfield1 := 2, subfield2 := 3 })
+        };
+        // expected error since v_rec.field2.subfield1 not defined since v_rec.field2 is not *, ? or omit (see expansion rules)
+        f_test(v_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
+        log(v_rec);
+        if (valueof(v_rec.field2.subfield1) == 10 and match(0, v_rec.field2.subfield2)) { setverdict(pass); }
+        else { setverdict(fail); } 
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_062());
+		execute(TC_NegSem_050402_actual_parameters_096());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template `@NegSem_050402_actual_parameters_062.m_msg'
+Dynamic test case error: Matching with an uninitialized/unsupported integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_063 negative test
+:h3. NegSem_050402_actual_parameters_097 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_063 verify that literals cannot be used as out formal template parameters of altsteps >
+<TC - 050402_097 verify that string item references cannot be used as inout formal value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_063 NegSem_050402_actual_parameters_063.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_097 NegSem_050402_actual_parameters_097.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that string item references cannot be used as inout formal value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to inout formal value parameters shall be variables 
+// or formal value parameters (of in, inout or out parameterization) or references to 
+// elements of variables or formal value parameters of structured types.
+// (see also the NOTE from 5.4.2)
 
-module NegSem_050402_actual_parameters_063 { 
+module NegSem_050402_actual_parameters_097 { 
 
     type component GeneralComp {
-        timer t := 0.0;
 	}	
-
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+    
+    function f_test(inout charstring p_val) {
+        if (p_val == "t") { setverdict(pass); }
+        else { setverdict(fail); }
+        p_val := "r";
     }
 
-    testcase TC_NegSem_050402_actual_parameters_063() runs on GeneralComp {
-        t.start;
-        a_test(1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_097() runs on GeneralComp {
+        var charstring v_val := "test";
+        f_test(v_val[0]); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_063());
+		execute(TC_NegSem_050402_actual_parameters_097());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter
+error: Reference to a string element of type `charstring' cannot be used in this context
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_064 negative test
+:h3. NegSem_050402_actual_parameters_098 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_064 verify that module parameters cannot be used as out formal template parameters of altsteps >
+<TC - 050402_098 verify that ordinary values cannot be passed to timer parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_064 NegSem_050402_actual_parameters_064.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_098 NegSem_050402_actual_parameters_098.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that ordinary values cannot be passed to timer parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to formal timer parameters shall be component 
+// timers, local timers or formal timer parameters of the current scope.
 
-module NegSem_050402_actual_parameters_064 { 
+module NegSem_050402_actual_parameters_098 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
-
-    modulepar integer PX_VAL := 2;
+	}
     
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+    function f_test(timer t_par) {
+        t_par.start;
+        if (t_par.running) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_064() runs on GeneralComp {
-        t.start;
-        a_test(PX_VAL); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_098() runs on GeneralComp {
+        f_test(5.0); // tested parameter passing: it should not be possible to pass a float value to a timer parameter
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_064());
+		execute(TC_NegSem_050402_actual_parameters_098());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter 
+error: Reference to a timer or timer parameter was expected for a timer parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_065 negative test
+:h3. NegSem_050402_actual_parameters_099 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_065 verify that constants cannot be used as out formal template parameters of altsteps >
+<TC - 050402_099 verify that values cannot be passed to port parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_065 NegSem_050402_actual_parameters_065.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_099 NegSem_050402_actual_parameters_099.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that values cannot be passed to port parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to formal port parameters shall be component 
+// ports or formal port parameters of the current scope.
 
-module NegSem_050402_actual_parameters_065 { 
+module NegSem_050402_actual_parameters_099 { 
 
+    type port IntPort message {
+        inout integer;
+    }
+    
     type component GeneralComp {
-        timer t := 0.0;
-	}	
-
-    const integer c_val := 3;
+        port IntPort p;
+	}
     
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+    function f_test(IntPort p_port) {
+        p_port.stop;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_065() runs on GeneralComp {
-        t.start;
-        a_test(c_val); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_099() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(v_val); // tested parameter passing
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_065());
+		execute(TC_NegSem_050402_actual_parameters_099());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant 
+error: Reference to a port or port parameter was expected for a port parameter instead of variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_066 negative test
+:h3. NegSem_050402_actual_parameters_100 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_066 verify that function calls cannot be used as out formal template parameters of altsteps >
+<TC - 050402_100 verify that list notation containing actual parameters in wrong order is not accepted >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_066 NegSem_050402_actual_parameters_066.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_100 NegSem_050402_actual_parameters_100.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that list notation containing actual parameters in wrong order is not accepted
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When using list notation, the order of elements in the actual parameter list shall 
+// be the same as their order in the corresponding formal parameter list.
 
-module NegSem_050402_actual_parameters_066 { 
+module NegSem_050402_actual_parameters_100 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    function f_ret() return integer {
-        return 5;
-    }
-    
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+	}
+
+    function f_test (integer p_val1, charstring p_val2) {
+        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_066() runs on GeneralComp {
-        t.start;
-        a_test(f_ret()); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_100() runs on GeneralComp {
+        f_test("test", 1);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_066());
+		execute(TC_NegSem_050402_actual_parameters_100());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function 
+error: integer value was expected
+<END_RESULT>
+<RESULT COUNT 1>
+error: character string value was expected 
 <END_RESULT>
-
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_067 negative test
+:h3. NegSem_050402_actual_parameters_101 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_067 verify that expressions cannot be used as out formal template parameters of altsteps >
+<TC - 050402_101 verify that list notation containing less actual parameters than required is not accepted >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_067 NegSem_050402_actual_parameters_067.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_101 NegSem_050402_actual_parameters_101.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of altsteps
- ** @verdict  pass reject
- ***************************************************/
-
-// The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
-
-module NegSem_050402_actual_parameters_067 { 
-
-    type component GeneralComp {
-        timer t := 0.0;
-    }
-    
-    function f_ret() return integer {
-        return 4;
-    }
-    
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+ ** @purpose  1:5.4.2, verify that list notation containing less actual parameters than required is not accepted
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// For each formal parameter without a default there shall be an actual parameter.
+
+module NegSem_050402_actual_parameters_101 { 
+
+    type component GeneralComp {
+	}
+
+    function f_test (integer p_val1, charstring p_val2) {
+        if (p_val1 == 1) { setverdict(pass); }
+        else { setverdict(fail); }
     }
-    
-    testcase TC_NegSem_050402_actual_parameters_067() runs on GeneralComp {
-        var integer v_val := 5;
-        t.start;
-        a_test(10 + f_ret() - v_val); // tested parameter passing
+
+    testcase TC_NegSem_050402_actual_parameters_101() runs on GeneralComp {
+        f_test(1);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_067());
+		execute(TC_NegSem_050402_actual_parameters_101());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter 
+error: Too few parameters: 2 was expected instead of 1 
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_068 negative test
+:h3. NegSem_050402_actual_parameters_102 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_068 verify that template parameters cannot be used as out formal template parameters of altsteps >
+<TC - 050402_102 verify that parameter without default value cannot be skipped >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_068 NegSem_050402_actual_parameters_068.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_102 NegSem_050402_actual_parameters_102.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that parameter without default value cannot be skipped
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// For each formal parameter without a default there shall be an actual parameter.
 
-module NegSem_050402_actual_parameters_068 { 
+module NegSem_050402_actual_parameters_102 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
+	}
 
-    template integer m_msg := 1;
-    
-    altstep a_test(out template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            p_val := ?;
-            setverdict(pass);
-        }
+    function f_test (integer p_val1, charstring p_val2) {
+        if (p_val1 == 1) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_068() runs on GeneralComp {
-        t.start;
-        a_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_102() runs on GeneralComp {
+        f_test(1, -);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_068());
+		execute(TC_NegSem_050402_actual_parameters_102());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template 
+error: Not used symbol \(`-'\) cannot be used for parameter that does not have default value
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_069 negative test
+:h3. NegSem_050402_actual_parameters_103 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_069 verify that literals cannot be used as out formal template parameters of test cases >
+<TC - 050402_103 verify that mixing list and assignment notation is not allowed in parameterized calls (value as actual parameter) >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_069 NegSem_050402_actual_parameters_069.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_103 NegSem_050402_actual_parameters_103.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that mixing list and assignment notation is not allowed in parameterized calls (value as actual parameter)
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Either list notation or assignment notation shall be used in a single parameter 
+// list. They shall not be mixed.
 
-module NegSem_050402_actual_parameters_069 { 
+module NegSem_050402_actual_parameters_103 { 
 
     type component GeneralComp {
-	}	
+	}
 
-    testcase TC_NegSem_050402_actual_parameters_069(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    function f_test (integer p_val1, charstring p_val2) {
+        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_103() runs on GeneralComp {
+        f_test(p_val1 := 1, "test");
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_069(1)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_103());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter
+error: at or before token `"': syntax error, unexpected Cstring
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_070 negative test
+:h3. NegSem_050402_actual_parameters_104 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_070 verify that module parameters cannot be used as out formal template parameters of test cases >
+<TC - 050402_104 verify that mixing list and assignment notation is not allowed in parameterized calls (skipped actual parameter) >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_070 NegSem_050402_actual_parameters_070.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_104 NegSem_050402_actual_parameters_104.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that mixing list and assignment notation is not allowed in parameterized calls (skipped actual parameter)
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Either list notation or assignment notation shall be used in a single parameter 
+// list. They shall not be mixed.
 
-module NegSem_050402_actual_parameters_070 { 
+module NegSem_050402_actual_parameters_104 { 
 
     type component GeneralComp {
-	}	
+	}
 
-    modulepar integer PX_VAL := 2;    
+    function f_test (integer p_val1, charstring p_val2 := "test") {
+        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_070(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    testcase TC_NegSem_050402_actual_parameters_104() runs on GeneralComp {
+        f_test(p_val1 := 1, -);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_070(PX_VAL)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_104());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of module parameter `@NegSem_050402_actual_parameters_070.PX_VAL'
+error: at or before token `-': syntax error, unexpected '-'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_071 negative test
+:h3. NegSem_050402_actual_parameters_105 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_071 verify that constants cannot be used as out formal template parameters of test cases >
+<TC - 050402_105 verify that parameters cannot be assigned more than once in assignment notation >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_071 NegSem_050402_actual_parameters_071.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_105 NegSem_050402_actual_parameters_105.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that parameters cannot be assigned more than once in assignment notation
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// When using assignment notation, each formal parameter shall be assigned an actual 
+// parameter at most once.
 
-module NegSem_050402_actual_parameters_071 { 
+module NegSem_050402_actual_parameters_105 { 
 
     type component GeneralComp {
-	}	
+	}
 
-    const integer c_val := 3;
+    function f_test (integer p_val1, charstring p_val2) {
+        if (match(p_val1 == 1 and p_val2 == "test") { setverdict(pass); }
+        else { setverdict(fail); }
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_071(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    testcase TC_NegSem_050402_actual_parameters_105() runs on GeneralComp {
+        f_test(p_val1 := 1, p_val2 := "test", p_val1 := 1);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_071(c_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_105());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of constant
+error: at or before token `\)': syntax error, unexpected '\)'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_072 negative test
+:h3. NegSem_050402_actual_parameters_106 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_072 verify that function calls cannot be used as out formal template parameters of test cases >
+<TC - 050402_106 verify that assignment notation that doesn't contain all parameters is not accepted >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_072 NegSem_050402_actual_parameters_072.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_106 NegSem_050402_actual_parameters_106.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that assignment notation that doesn't contain all parameters is not accepted
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// For each formal parameter without default value, there shall be an actual parameter.
 
-module NegSem_050402_actual_parameters_072 { 
+module NegSem_050402_actual_parameters_106 { 
 
     type component GeneralComp {
-    }
-    
-    function f_ret() return integer {
-        return 5;
+	}
+
+    function f_test (integer p_val1, charstring p_val2, integer p_val3) {
+        if (match(p_val1, 1) and match(p_val2, "test") and match(p_val3, 3)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_072(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    testcase TC_NegSem_050402_actual_parameters_106() runs on GeneralComp {
+        f_test(p_val2 := "test", p_val3 := 3);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_072(f_ret())); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_106());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of function `@NegSem_050402_actual_parameters_072.f_ret'
+error: Parameter not specified
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_073 negative test
+:h3. NegSem_050402_actual_parameters_107 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_073 verify that expressions cannot be used as out formal template parameters of test cases >
+<TC - 050402_107 verify that incompatible values cannot be passed to in formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_073 NegSem_050402_actual_parameters_073.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_107 NegSem_050402_actual_parameters_107.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that incompatible values cannot be passed to in formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// The type of each actual parameter shall be compatible with the type of each 
+// corresponding formal parameter.
 
-module NegSem_050402_actual_parameters_073 { 
+module NegSem_050402_actual_parameters_107 { 
 
     type component GeneralComp {
-    }
+	}
     
-    function f_ret() return integer {
-        return 4;
+    type record R1 {
+        integer field1,
+        integer field2
     }
     
-    testcase TC_NegSem_050402_actual_parameters_073(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    type record R2 {
+        integer elem1,
+        integer elem2 optional
+    }
+
+    function f_test (R1 p_val) {
+        if (p_val == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_107() runs on GeneralComp {
+        var R2 v_rec := { 1, 2 };
+        f_test(v_rec);
 	}
 
 	control {
-        var integer v_val := 5;
-		execute(TC_NegSem_050402_actual_parameters_073(10 + f_ret() - v_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_107());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter
+error: Type mismatch: `@NegSem_050402_actual_parameters_107.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_107.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_074 negative test
+:h3. NegSem_050402_actual_parameters_108 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_074 verify that template parameters cannot be used as out formal template parameters of test cases >
+<TC - 050402_108 verify that incompatible values cannot be passed from out formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_074 NegSem_050402_actual_parameters_074.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_108 NegSem_050402_actual_parameters_108.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that incompatible values cannot be passed from out formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// The type of each actual parameter shall be compatible with the type of each 
+// corresponding formal parameter.
 
-module NegSem_050402_actual_parameters_074 { 
+module NegSem_050402_actual_parameters_108 { 
 
     type component GeneralComp {
 	}
     
-    template integer m_msg := 1;
+    type record R1 {
+        integer field1,
+        integer field2 optional
+    }
+    
+    type record R2 {
+        integer elem1,
+        integer elem2
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_074(out template integer p_val) runs on GeneralComp {
-        p_val := ?;
-        setverdict(pass);
+    function f_test (out R1 p_val) {
+        p_val.field1 := 1;
+        p_val.field2 := 2;
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_108() runs on GeneralComp {
+        var R2 v_rec;
+        f_test(v_rec);
+        if (v_rec == { elem1 := 1, elem2 := 2 }) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_074(m_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_108());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of template `@NegSem_050402_actual_parameters_074.m_msg'
+error: Type mismatch: `@NegSem_050402_actual_parameters_108.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_108.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_075 negative test
+:h3. NegSem_050402_actual_parameters_109 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_075 verify that literals cannot be used as inout formal template parameters of functions >
+<TC - 050402_109 verify that incompatible values cannot be passed to inout formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_075 NegSem_050402_actual_parameters_075.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_109 NegSem_050402_actual_parameters_109.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that incompatible values cannot be passed to inout formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Strong typing is required for parameters passed by reference.
 
-module NegSem_050402_actual_parameters_075 { 
+module NegSem_050402_actual_parameters_109 { 
 
     type component GeneralComp {
-	}	
+	}
+    
+    type record R1 {
+        integer field1,
+        integer field2 optional
+    }
+    
+    type record R2 {
+        integer elem1,
+        integer elem2
+    }
 
-    function f_test(inout template integer p_val) {
-        if (match(1, p_val)) { setverdict(pass); }
+    function f_test (inout R1 p_val) {
+        if (p_val == { field1 := 1, field2 := 2 }) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_075() runs on GeneralComp {
-        f_test(1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_109() runs on GeneralComp {
+        var R2 v_rec := { 1, 2 };
+        f_test(v_rec);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_075());
+		execute(TC_NegSem_050402_actual_parameters_109());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: Type mismatch: `@NegSem_050402_actual_parameters_109.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_109.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_076 negative test
+:h3. NegSem_050402_actual_parameters_111 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_076 verify that module parameters cannot be used as inout formal template parameters of functions >
+<TC - 050402_111 verify that incompatible templates cannot be passed to template parameters with omit restriction >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_076 NegSem_050402_actual_parameters_076.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_111 NegSem_050402_actual_parameters_111.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that incompatible templates cannot be passed to template parameters with omit restriction
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters passed to restricted formal template parameters shall obey 
+// the restrictions given in clause 15.8.
 
-module NegSem_050402_actual_parameters_076 { 
+module NegSem_050402_actual_parameters_111 { 
 
     type component GeneralComp {
-	}	
+	}
 
-    modulepar integer PX_VAL := 2;
-    
-    function f_test(inout template integer p_val) {
-        if (match(2, p_val)) { setverdict(pass); }
+    function f_test (omit integer p_val) {
+        if (match(1, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_076() runs on GeneralComp {
-        f_test(PX_VAL); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_111() runs on GeneralComp {
+        f_test((0..10));
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_076());
+		execute(TC_NegSem_050402_actual_parameters_111());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_076.PX_VAL'
+error: Restriction on template formal parameter does not allow usage of value range match
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_077 negative test
+:h3. NegSem_050402_actual_parameters_112 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_077 verify that constants cannot be used as inout formal template parameters of functions >
+<TC - 050402_112 verify that compatible templates can be passed to template parameters with value restriction >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_077 NegSem_050402_actual_parameters_077.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_112 NegSem_050402_actual_parameters_112.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that compatible templates can be passed to template parameters with value restriction
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters passed to restricted formal template parameters shall obey 
+// the restrictions given in clause 15.8.
 
-module NegSem_050402_actual_parameters_077 { 
+module NegSem_050402_actual_parameters_112 { 
 
     type component GeneralComp {
-	}	
+	}
 
-    const integer c_val := 3;
-    
-    function f_test(inout template integer p_val) {
-        if (match(3, p_val)) { setverdict(pass); }
+    function f_test (template(value) integer p_val) {
+        if (match(1, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_077() runs on GeneralComp {
-        f_test(c_val); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_112() runs on GeneralComp {
+        f_test((1, 2, 3));
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_077());
+		execute(TC_NegSem_050402_actual_parameters_112());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_077.c_val'
+error: Restriction on template formal parameter does not allow usage of value list match
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_078 negative test
+:h3. NegSem_050402_actual_parameters_113 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_078 verify that constants cannot be used as inout formal template parameters of functions >
+<TC - 050402_113 verify that compatible templates can be passed to template parameters with present restriction >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_078 NegSem_050402_actual_parameters_078.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_113 NegSem_050402_actual_parameters_113.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that compatible templates can be passed to template parameters with present restriction
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters passed to restricted formal template parameters shall obey 
+// the restrictions given in clause 15.8.
 
-module NegSem_050402_actual_parameters_078 { 
+module NegSem_050402_actual_parameters_113 { 
 
     type component GeneralComp {
-    }
-    
-    function f_ret() return integer {
-        return 5;
-    }
-    
-    function f_test(inout template integer p_val) {
-        if (match(5, p_val)) { setverdict(pass); }
+	}
+
+    function f_test (template(present) integer p_val) {
+        if (match(1, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_078() runs on GeneralComp {
-        f_test(f_ret()); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_113() runs on GeneralComp {
+        f_test(*);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_078());
+		execute(TC_NegSem_050402_actual_parameters_113());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_078.f_ret'
+error: Restriction on template formal parameter does not allow usage of any or omit
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_079 negative test
+:h3. NegSem_050402_actual_parameters_114 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_079 verify that expressions cannot be used as inout formal template parameters of functions >
+<TC - 050402_114 verify that compatible templates can be passed to template parameters with present restriction >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_079 NegSem_050402_actual_parameters_079.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_114 NegSem_050402_actual_parameters_114.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that parametrized entities used as actual parameter cannot be passed without parameter list
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// All parameterized entities specified as an actual parameter shall have their
+// own parameters resolved in the top-level actual parameter list.
 
-module NegSem_050402_actual_parameters_079 { 
+module NegSem_050402_actual_parameters_114 { 
 
     type component GeneralComp {
-    }
+	}
     
-    function f_ret() return integer {
-        return 4;
+    type record R {
+        integer field1,
+        integer field2 optional
     }
-    
-    function f_test(inout template integer p_val) {
-        if (match(9, p_val)) { setverdict(pass); }
+        
+    template R mw_rec(template integer p_field2) := {
+        field1 := 1,
+        field2 := p_field2
+    }
+
+    function f_test (template R p_match) {
+        if (match({1, omit}, p_match)) { setverdict(pass); }
         else { setverdict(fail); }
     }
-    
-    testcase TC_NegSem_050402_actual_parameters_079() runs on GeneralComp {
-        var integer v_val := 5;
-        f_test(10 + f_ret() - v_val); // tested parameter passing
+
+    testcase TC_NegSem_050402_actual_parameters_114() runs on GeneralComp {
+        f_test(mw_rec);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_079());
+		execute(TC_NegSem_050402_actual_parameters_114());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: Reference to parameterized definition `mw_rec' without actual parameter list
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_080 negative test
+:h3. NegSem_050402_actual_parameters_115 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_080 verify that template parameters cannot be used as inout formal template parameters of functions >
+<TC - 050402_115 verify that error is generated when no actual parameter list is used for functions with no parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_080 NegSem_050402_actual_parameters_080.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_115 NegSem_050402_actual_parameters_115.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of functions
+ ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for functions with no parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
+// altstep or external function is empty, then the empty parentheses shall be 
+// included both in the declaration and in the invocation of that object. In all 
+// other cases the empty parentheses shall be omitted.
 
-module NegSem_050402_actual_parameters_080 { 
+module NegSem_050402_actual_parameters_115 { 
 
     type component GeneralComp {
 	}
-    
-    template integer m_msg := 1;
-    
-    function f_test(inout template integer p_val) {
-        if (match(1, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+
+    function f_test () return integer {
+        setverdict(pass);
+        return 1;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_080() runs on GeneralComp {
-        f_test(m_msg); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_115() runs on GeneralComp {
+        log(f_test);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_080());
+		execute(TC_NegSem_050402_actual_parameters_115());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_080.m_msg'
+error: Reference to parameterized definition `f_test' without actual parameter list
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_081 negative test
+:h3. NegSem_050402_actual_parameters_116 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_081 verify that literals cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_116 verify that error is generated when no actual parameter list is used for test cases with no parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_081 NegSem_050402_actual_parameters_081.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_116 NegSem_050402_actual_parameters_116.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for test cases with no parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
-module NegSem_050402_actual_parameters_081 { 
+// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
+// altstep or external function is empty, then the empty parentheses shall be 
+// included both in the declaration and in the invocation of that object. In all 
+// other cases the empty parentheses shall be omitted.
+
+module NegSem_050402_actual_parameters_116 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
-
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(1, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+	}
 
-    testcase TC_NegSem_050402_actual_parameters_081() runs on GeneralComp {
-        t.start;
-        a_test(1); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_116() runs on GeneralComp {
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_081());
+		execute(TC_NegSem_050402_actual_parameters_116);
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: at or before token `\)': syntax error, unexpected '\)', expecting '\('
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_082 negative test
+:h3. NegSem_050402_actual_parameters_117 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_082 verify that module parameters cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_117 verify that error is generated when no actual parameter list is used for altsteps with no parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_082 NegSem_050402_actual_parameters_082.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_117 NegSem_050402_actual_parameters_117.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for altsteps with no parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
-module NegSem_050402_actual_parameters_082 { 
+// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
+// altstep or external function is empty, then the empty parentheses shall be 
+// included both in the declaration and in the invocation of that object. In all 
+// other cases the empty parentheses shall be omitted.
+
+module NegSem_050402_actual_parameters_117 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
+	}
 
-    modulepar integer PX_VAL := 2;
-    
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(2, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    altstep a_test () {
+        [] any timer.timeout { setverdict(pass); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_082() runs on GeneralComp {
-        t.start;
-        a_test(PX_VAL); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_117() runs on GeneralComp {
+        timer t_instant := 0.0;
+        t_instant.start;
+        alt {
+            [] a_test {
+                setverdict(pass);
+            }
+        }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_082());
+		execute(TC_NegSem_050402_actual_parameters_117());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_082.PX_VAL'
+error: at or before token `\{': syntax error, unexpected '\{'
+<END_RESULT>
+<RESULT COUNT 1>
+error: at or before token `control': syntax error, unexpected ControlKeyword, expecting \$end
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_083 negative test
+:h3. NegSem_050402_actual_parameters_118 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_083 verify that module parameters cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_118 verify that error is generated when empty actual parameter list is used for templates with no parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_083 NegSem_050402_actual_parameters_083.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_118 NegSem_050402_actual_parameters_118.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that error is generated when empty actual parameter list is used for templates with no parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
+// altstep or external function is empty, then the empty parentheses shall be 
+// included both in the declaration and in the invocation of that object. In all 
+// other cases the empty parentheses shall be omitted.
 
-module NegSem_050402_actual_parameters_083 { 
+module NegSem_050402_actual_parameters_118 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
+	}
 
-    const integer c_val := 3;
-    
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(3, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
+    template integer mw_allInt := ?;
 
-    testcase TC_NegSem_050402_actual_parameters_083() runs on GeneralComp {
-        t.start;
-        a_test(c_val); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_118() runs on GeneralComp {
+        if (match(1, mw_allInt())) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_083());
+		execute(TC_NegSem_050402_actual_parameters_118());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_083.c_val'
+error: The referenced template `@NegSem_050402_actual_parameters_118.mw_allInt' cannot have actual parameters
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_084 negative test
+:h3. NegSem_050402_actual_parameters_146 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_084 verify that function calls cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_146 verify that literal cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_084 NegSem_050402_actual_parameters_084.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_146 NegSem_050402_actual_parameters_146.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that literal cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_084 { 
+module NegSem_050402_actual_parameters_146 { 
 
     type component GeneralComp {
-        timer t := 0.0;
     }
-    
-    function f_ret() return integer {
-        return 5;
+       
+    function f_test(out integer p_val) {
+        p_val := 9
     }
     
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(5, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
-    }
-
-    testcase TC_NegSem_050402_actual_parameters_084() runs on GeneralComp {
-        t.start;
-        a_test(f_ret()); // tested parameter passing
+    testcase TC_NegSem_050402_actual_parameters_146() runs on GeneralComp {
+        f_test(1);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_084());
+		execute(TC_NegSem_050402_actual_parameters_146());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_084.f_ret'
+error: Reference to a variable or value parameter was expected for an `out' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_085 negative test
+:h3. NegSem_050402_actual_parameters_147 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_085 verify that expressions cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_147 verify that expression cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_085 NegSem_050402_actual_parameters_085.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_147 NegSem_050402_actual_parameters_147.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that expression cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_085 { 
+module NegSem_050402_actual_parameters_147 {
 
     type component GeneralComp {
-        timer t := 0.0;
     }
-    
+       
     function f_ret() return integer {
         return 4;
     }
-    
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(9, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+
+    function f_test(out integer p_val) {
+        p_val := 9
     }
     
-    testcase TC_NegSem_050402_actual_parameters_085() runs on GeneralComp {
+    testcase TC_NegSem_050402_actual_parameters_147() runs on GeneralComp {
         var integer v_val := 5;
-        t.start;
-        a_test(10 + f_ret() - v_val); // tested parameter passing
+        f_test(10 + f_ret() - v_val);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_085());
+		execute(TC_NegSem_050402_actual_parameters_147());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: Reference to a variable or value parameter was expected for an `out' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_086 negative test
+:h3. NegSem_050402_actual_parameters_148 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_086 verify that template parameters cannot be used as inout formal template parameters of altsteps >
+<TC - 050402_148 verify that function calls cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_086 NegSem_050402_actual_parameters_086.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_148 NegSem_050402_actual_parameters_148.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of altsteps
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
-// parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_086 { 
+module NegSem_050402_actual_parameters_148 { 
 
     type component GeneralComp {
-        timer t := 0.0;
-	}	
-
-    template integer m_msg := 1;
-    
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
-        []t.timeout {
-            if (match(1, p_val)) { setverdict(pass); }
-            else { setverdict(fail); }
-        }
+    }
+       
+    function f_ret() return integer {
+        return 4;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_086() runs on GeneralComp {
-        t.start;
-        a_test(m_msg); // tested parameter passing
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_148() runs on GeneralComp {
+        f_test(f_ret());
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_086());
+		execute(TC_NegSem_050402_actual_parameters_148());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_086.m_msg'
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of function `@NegSem_050402_actual_parameters_148.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_087 negative test
+:h3. NegSem_050402_actual_parameters_149 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_087 verify that literals cannot be used as inout formal template parameters of test cases >
+<TC - 050402_149 verify that module parameters cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_087 NegSem_050402_actual_parameters_087.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_149 NegSem_050402_actual_parameters_149.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that literals cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_087 { 
+module NegSem_050402_actual_parameters_149 { 
 
     type component GeneralComp {
-	}	
+    }
+       
+    modulepar integer PX_VAL := 2;
 
-    testcase TC_NegSem_050402_actual_parameters_087(inout template integer p_val) runs on GeneralComp {
-        if (match(1, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_149() runs on GeneralComp {
+        f_test(PX_VAL);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_087(1)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_149());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of module parameter `@NegSem_050402_actual_parameters_149.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_088 negative test
+:h3. NegSem_050402_actual_parameters_150 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_088 verify that module parameters cannot be used as inout formal template parameters of test cases >
+<TC - 050402_150 verify that templates cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_088 NegSem_050402_actual_parameters_088.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_150 NegSem_050402_actual_parameters_150.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that module parameters cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that templates cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_088 { 
+module NegSem_050402_actual_parameters_150 { 
 
     type component GeneralComp {
-	}	
-
-    modulepar integer PX_VAL := 2;    
+    }
+       
+    template integer mw_msg := ?;
 
-    testcase TC_NegSem_050402_actual_parameters_088(inout template integer p_val) runs on GeneralComp {
-        if (match(2, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_150() runs on GeneralComp {
+        f_test(mw_msg);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_088(PX_VAL)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_150());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of module parameter `@NegSem_050402_actual_parameters_088.PX_VAL'
+ error: Reference to a variable or value parameter was expected for an `out' value parameter instead of template `@NegSem_050402_actual_parameters_150.mw_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_089 negative test
+:h3. NegSem_050402_actual_parameters_151 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_089 verify that constants cannot be used as inout formal template parameters of test cases >
+<TC - 050402_151 verify that constants cannot be used as actual out value parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_089 NegSem_050402_actual_parameters_089.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_151 NegSem_050402_actual_parameters_151.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that constants cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that constants cannot be used as actual out value parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_089 { 
+module NegSem_050402_actual_parameters_151 { 
 
     type component GeneralComp {
-	}	
-
-    const integer c_val := 3;
-
-    testcase TC_NegSem_050402_actual_parameters_089(inout template integer p_val) runs on GeneralComp {
-        if (match(3, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_151() runs on GeneralComp {
+        const integer c_val := 3;
+        f_test(c_val);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_089(c_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_151());
 	}
 }
 <END_MODULE>
 
+
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of constant `@NegSem_050402_actual_parameters_089.c_val'
+ error: Reference to a variable or value parameter was expected for an `out' value parameter instead of constant `c_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_090 negative test
+:h3. NegSem_050402_actual_parameters_152 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_090 verify that function calls cannot be used as inout formal template parameters of test cases >
+<TC - 050402_152 verify that literal cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_090 NegSem_050402_actual_parameters_090.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_152 NegSem_050402_actual_parameters_152.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that function calls cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that literal cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_090 { 
+module NegSem_050402_actual_parameters_152 { 
 
     type component GeneralComp {
     }
-    
-    function f_ret() return integer {
-        return 5;
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
     }
-
-    testcase TC_NegSem_050402_actual_parameters_090(inout template integer p_val) runs on GeneralComp {
-        if (match(5, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    
+    testcase TC_NegSem_050402_actual_parameters_152() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(1);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_090(f_ret())); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_152());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of function `@NegSem_050402_actual_parameters_090.f_ret'
+error: Reference to a variable or value parameter was expected for an `out' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_091 negative test
+:h3. NegSem_050402_actual_parameters_153 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_091 verify that expressions cannot be used as inout formal template parameters of test cases >
+<TC - 050402_153 verify that expression cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_091 NegSem_050402_actual_parameters_091.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_153 NegSem_050402_actual_parameters_153.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that expressions cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that expression cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_091 { 
+module NegSem_050402_actual_parameters_153 { 
 
     type component GeneralComp {
     }
-    
-    function f_ret() return integer {
-        return 4;
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
     }
     
-    testcase TC_NegSem_050402_actual_parameters_091(inout template integer p_val) runs on GeneralComp {
-        if (match(9, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    testcase TC_NegSem_050402_actual_parameters_153() runs on GeneralComp {
+        var integer v_val := 5;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(10 + f_ret() - v_val);
+        setverdict(pass);
 	}
 
 	control {
-        var integer v_val := 5;
-		execute(TC_NegSem_050402_actual_parameters_091(10 + f_ret() - v_val)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_153());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter
+error: Reference to a variable or value parameter was expected for an `out' value parameter
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_092 negative test
+:h3. NegSem_050402_actual_parameters_154 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_092 verify that template parameters cannot be used as inout formal template parameters of test cases >
+<TC - 050402_154 verify that function calls cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_092 NegSem_050402_actual_parameters_092.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_154 NegSem_050402_actual_parameters_154.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that template parameters cannot be used as inout formal template parameters of test cases
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal template parameters shall be variables, 
-// template variables, formal value or template parameters (of in, inout or out 
-// parameterization) of the current scope or references to elements of (template) variables 
-// or formal (template) parameters of structured types.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_092 { 
+module NegSem_050402_actual_parameters_154 { 
 
     type component GeneralComp {
-	}
-    
-    template integer m_msg := 1;
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
 
-    testcase TC_NegSem_050402_actual_parameters_092(inout template integer p_val) runs on GeneralComp {
-        if (match(1, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_154() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(f_ret());
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_092(m_msg)); // tested parameter passing
+		execute(TC_NegSem_050402_actual_parameters_154());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
- error: Reference to a template variable or template parameter was expected for an `inout' template parameter instead of template `@NegSem_050402_actual_parameters_092.m_msg'
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of function `@NegSem_050402_actual_parameters_154.f_ret'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_093 negative test
+:h3. NegSem_050402_actual_parameters_155 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_093 verify that referencing errors are detected in actual parameters passed to in formal value parameters >
+<TC - 050402_155 verify that module parameters cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
 
-<EXECUTE_PARALLEL>
-
-<MODULE TTCN NegSem_050402_actual_parameters_093 NegSem_050402_actual_parameters_093.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_155 NegSem_050402_actual_parameters_155.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to in formal value parameters
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When actual parameters that are passed to in formal value or template parameters 
-// contain a value or template reference, rules for using references on the right hand 
-// side of assignments apply. 
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_093 { 
+module NegSem_050402_actual_parameters_155 { 
 
     type component GeneralComp {
-	}
-    
-    type record R {
-        integer field1,
-        record {
-            integer subfield1,
-            integer subfield2
-        } field2 optional
-    }
-
-    function f_test(in integer p_val) {
-        if (p_val == 2) { setverdict(pass); }
-        else { setverdict(fail); }
     }
+       
+    modulepar integer PX_VAL := 2;
 
-    testcase TC_NegSem_050402_actual_parameters_093() runs on GeneralComp {
-        var R v_rec := {
-            field1 := 1,
-            field2 := omit
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
         }
-        f_test(v_rec.field2.subfield1); // tested parameter passing
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_155() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(PX_VAL);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_093());
+		execute(TC_NegSem_050402_actual_parameters_155());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-Dynamic test case error: Using the value of an optional field containing omit
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of module parameter `@NegSem_050402_actual_parameters_155.PX_VAL'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_094 negative test
+:h3. NegSem_050402_actual_parameters_156 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_094 verify that referencing errors are detected in actual parameters passed to in formal template parameters >
+<TC - 050402_156 verify that templates cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_094 NegSem_050402_actual_parameters_094.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_156 NegSem_050402_actual_parameters_156.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to in formal template parameters
+ ** @purpose  1:5.4.2, verify that templates cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When actual parameters that are passed to in formal value or template parameters 
-// contain a value or template reference, rules for using references on the right hand 
-// side of assignments apply. 
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_094 { 
+module NegSem_050402_actual_parameters_156 { 
 
     type component GeneralComp {
-	}
-    
-    type record R {
-        integer field1,
-        record {
-            integer subfield1,
-            integer subfield2
-        } field2 optional
-    }
-    
-    template R mw_rec := {
-        field1 := 1,
-        field2 := *
     }
+       
+    template integer mw_msg := ?;
 
-    function f_test(in template integer p_val) {
-        if (match(255, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
     }
-
-    testcase TC_NegSem_050402_actual_parameters_094() runs on GeneralComp {        
-        f_test(mw_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
+    
+    testcase TC_NegSem_050402_actual_parameters_156() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(mw_msg);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_094());
+		execute(TC_NegSem_050402_actual_parameters_156());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to field `subfield1' of any or omit `@NegSem_050402_actual_parameters_094.mw_rec.field2'
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of template `@NegSem_050402_actual_parameters_156.mw_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_095 negative test
+:h3. NegSem_050402_actual_parameters_157 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_095 verify that referencing errors are detected in actual parameters passed to in formal template parameters >
+<TC - 050402_157 verify that templates cannot be used as actual out value parameters of altsteps >
 
 <COMPILE>
-<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_050402_actual_parameters_095 NegSem_050402_actual_parameters_095.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_157 NegSem_050402_actual_parameters_157.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that referencing errors are detected in actual parameters passed to out formal template parameters
+ ** @purpose  1:5.4.2, verify that constants cannot be used as actual out value parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When actual parameters that are passed to inout and out formal value or template 
-// parameters contain a value or template reference, rules for using references on 
-// the left hand side of assignments apply.
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
 
-module NegSem_050402_actual_parameters_095 { 
+module NegSem_050402_actual_parameters_157 { 
 
     type component GeneralComp {
-	}
-    
-    type record R {
-        integer field1,
-        record {
-            integer subfield1,
-            integer subfield2
-        } field2 optional
     }
 
-    function f_test(out template integer p_val) {
-        p_val := 10;
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
     }
-
-    testcase TC_NegSem_050402_actual_parameters_095() runs on GeneralComp {
-        var template R v_rec := {
-            field1 := 1,
-            field2 := ({ subfield1 := 0, subfield2 := 1}, { subfield1 := 2, subfield2 := 3 })
-        };
-        f_test(v_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
-        if (valueof(v_rec.field2.subfield1) == 10 and match(0, v_rec.field2.subfield2)) { setverdict(pass); }
-        else { setverdict(fail); }
-
+    
+    testcase TC_NegSem_050402_actual_parameters_157() runs on GeneralComp {
+        const integer c_val := 3;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(c_val);
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_095());
+		execute(TC_NegSem_050402_actual_parameters_157());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-Dynamic test case error: Matching with an uninitialized/unsupported integer template.
+error: Reference to a variable or value parameter was expected for an `out' value parameter instead of constant `c_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_096 negative test
+:h3. NegSem_050402_actual_parameters_158 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_096 verify that referencing rules are correctly applied to actual parameters of inout formal template parameters >
+<TC - 050402_158 verify that function cannot have more actual than formal parameters >
 
 <COMPILE>
-<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_050402_actual_parameters_096 NegSem_050402_actual_parameters_096.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_158 NegSem_050402_actual_parameters_158.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that referencing rules are correctly applied to actual parameters of inout formal template parameters
+ ** @purpose  1:5.4.2, verify that function cannot have more actual than formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When actual parameters that are passed to inout and out formal value or template 
-// parameters contain a value or template reference, rules for using references on 
-// the left hand side of assignments apply.
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
 
-module NegSem_050402_actual_parameters_096 { 
+module NegSem_050402_actual_parameters_158 { 
 
     type component GeneralComp {
-	}
-    
-    type record R {
-        integer field1,
-        record {
-            integer subfield1,
-            integer subfield2
-        } field2 optional
-    }
+	}	
 
-    function f_test(inout template integer p_val) {
-        p_val := 10;
+    function f_test(in integer p_val) {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_096() runs on GeneralComp {
-        var template R v_rec := {
-            field1 := 1,
-            field2 := ({ subfield1 := 0, subfield2 := 1}, { subfield1 := 2, subfield2 := 3 })
-        };
-        // expected error since v_rec.field2.subfield1 not defined since v_rec.field2 is not *, ? or omit (see expansion rules)
-        f_test(v_rec.field2.subfield1); // tested parameter passing (using referencing rules specified at 15.6.2)
-        log(v_rec);
-        if (valueof(v_rec.field2.subfield1) == 10 and match(0, v_rec.field2.subfield2)) { setverdict(pass); }
-        else { setverdict(fail); } 
+    testcase TC_NegSem_050402_actual_parameters_158() runs on GeneralComp {
+        f_test(1, 2); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_096());
+		execute(TC_NegSem_050402_actual_parameters_158());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-Dynamic test case error: Matching with an uninitialized/unsupported integer template.
+error: Too many parameters: 1 was expected instead of 2
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_097 negative test
+:h3. NegSem_050402_actual_parameters_159 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_097 verify that string item references cannot be used as inout formal value parameters of functions >
+<TC - 050402_159 verify that templates cannot have more actual than formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_097 NegSem_050402_actual_parameters_097.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_159 NegSem_050402_actual_parameters_159.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that string item references cannot be used as inout formal value parameters of functions
+ ** @purpose  1:5.4.2, verify that templates cannot have more actual than formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to inout formal value parameters shall be variables 
-// or formal value parameters (of in, inout or out parameterization) or references to 
-// elements of variables or formal value parameters of structured types.
-// (see also the NOTE from 5.4.2)
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
 
-module NegSem_050402_actual_parameters_097 { 
+module NegSem_050402_actual_parameters_159 { 
 
     type component GeneralComp {
 	}	
-    
-    function f_test(inout charstring p_val) {
-        if (p_val == "t") { setverdict(pass); }
-        else { setverdict(fail); }
-        p_val := "r";
-    }
 
-    testcase TC_NegSem_050402_actual_parameters_097() runs on GeneralComp {
-        var charstring v_val := "test";
-        f_test(v_val[0]); // tested parameter passing
+    template integer mw_range (integer p_par) := (0..p_par);
+
+    testcase TC_NegSem_050402_actual_parameters_159() runs on GeneralComp {
+        log(mw_range(1, 2)); // tested parameter passing
+		setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_097());
+		execute(TC_NegSem_050402_actual_parameters_159());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a string element of type `charstring' cannot be used in this context
+error: Too many parameters: 1 was expected instead of 2
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_098 negative test
+:h3. NegSem_050402_actual_parameters_160 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_098 verify that ordinary values cannot be passed to timer parameters >
+<TC - 050402_160 verify that altstep cannot have more actual than formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_098 NegSem_050402_actual_parameters_098.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_160 NegSem_050402_actual_parameters_160.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that ordinary values cannot be passed to timer parameters
+ ** @purpose  1:5.4.2, verify that altstep cannot have more actual than formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to formal timer parameters shall be component 
-// timers, local timers or formal timer parameters of the current scope.
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
 
-module NegSem_050402_actual_parameters_098 { 
+module NegSem_050402_actual_parameters_160 { 
 
     type component GeneralComp {
-	}
-    
-    function f_test(timer t_par) {
-        t_par.start;
-        if (t_par.running) { setverdict(pass); }
-        else { setverdict(fail); }
+	}	
+
+    altstep a_test(in integer p_val) {
+		[] any timer.timeout {
+			if (p_val == 1) { setverdict(pass); }
+			else { setverdict(fail); }
+		}
     }
 
-    testcase TC_NegSem_050402_actual_parameters_098() runs on GeneralComp {
-        f_test(5.0); // tested parameter passing: it should not be possible to pass a float value to a timer parameter
+    testcase TC_NegSem_050402_actual_parameters_160() runs on GeneralComp {
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        a_test(1, 2); // tested parameter passing
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_098());
+		execute(TC_NegSem_050402_actual_parameters_160());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a timer or timer parameter was expected for a timer parameter
+error: Too many parameters: 1 was expected instead of 2
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_099 negative test
+:h3. NegSem_050402_actual_parameters_161 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_099 verify that values cannot be passed to port parameters >
+<TC - 050402_161 verify that testcase cannot have more actual than formal parameters >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_099 NegSem_050402_actual_parameters_099.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_161 NegSem_050402_actual_parameters_161.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that values cannot be passed to port parameters
+ ** @purpose  1:5.4.2, verify that testcase cannot have more actual than formal parameters
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to formal port parameters shall be component 
-// ports or formal port parameters of the current scope.
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
 
-module NegSem_050402_actual_parameters_099 { 
+module NegSem_050402_actual_parameters_161 { 
 
-    type port IntPort message {
-        inout integer;
-    }
-    
     type component GeneralComp {
-        port IntPort p;
 	}
-    
-    function f_test(IntPort p_port) {
-        p_port.stop;
-    }
 
-    testcase TC_NegSem_050402_actual_parameters_099() runs on GeneralComp {
-        var integer v_val := 5;
-        f_test(v_val); // tested parameter passing
-        setverdict(pass);
+    testcase TC_NegSem_050402_actual_parameters_161(in integer p_val) runs on GeneralComp {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_099());
+		execute(TC_NegSem_050402_actual_parameters_161(1, 2));
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a port or port parameter was expected for a port parameter instead of variable `v_val'
+error: Too many parameters: 1 was expected instead of 2
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_100 negative test
+:h3. NegSem_050402_actual_parameters_165 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_100 verify that list notation containing actual parameters in wrong order is not accepted >
+<TC - 050402_165 verify that value variables cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_100 NegSem_050402_actual_parameters_100.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_165 NegSem_050402_actual_parameters_165.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that list notation containing actual parameters in wrong order is not accepted
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When using list notation, the order of elements in the actual parameter list shall 
-// be the same as their order in the corresponding formal parameter list.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_100 { 
+module NegSem_050402_actual_parameters_165 { 
 
     type component GeneralComp {
 	}
-
-    function f_test (integer p_val1, charstring p_val2) {
-        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
-        else { setverdict(fail); }
+    
+    function f_test(out template integer p_val) {
+        p_val := 2;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_100() runs on GeneralComp {
-        f_test("test", 1);
+    testcase TC_NegSem_050402_actual_parameters_165() runs on GeneralComp {
+        var integer vm_msg;
+        f_test(vm_msg); // tested parameter passing
+        if (match(2, vm_msg)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_100());
+		execute(TC_NegSem_050402_actual_parameters_165());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: integer value was expected
-<END_RESULT>
-<RESULT COUNT 1>
-error: character string value was expected 
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `vm_msg'
 <END_RESULT>
+
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_101 negative test
+:h3. NegSem_050402_actual_parameters_166 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_101 verify that list notation containing less actual parameters than required is not accepted >
+<TC - 050402_166 verify that value in parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_101 NegSem_050402_actual_parameters_101.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_166 NegSem_050402_actual_parameters_166.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that list notation containing less actual parameters than required is not accepted
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// For each formal parameter without a default there shall be an actual parameter.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_101 { 
+module NegSem_050402_actual_parameters_166 { 
 
     type component GeneralComp {
-	}
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
 
-    function f_test (integer p_val1, charstring p_val2) {
-        if (p_val1 == 1) { setverdict(pass); }
+    function f_caller(in integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_101() runs on GeneralComp {
-        f_test(1);
+    
+    testcase TC_NegSem_050402_actual_parameters_166() runs on GeneralComp {
+        f_caller(3); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_101());
+		execute(TC_NegSem_050402_actual_parameters_166());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Too few parameters: 2 was expected instead of 1 
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_102 negative test
+:h3. NegSem_050402_actual_parameters_167 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_102 verify that parameter without default value cannot be skipped >
+<TC - 050402_167 verify that value in parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_102 NegSem_050402_actual_parameters_102.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_167 NegSem_050402_actual_parameters_167.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that parameter without default value cannot be skipped
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// For each formal parameter without a default there shall be an actual parameter.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_102 { 
+module NegSem_050402_actual_parameters_167 { 
 
     type component GeneralComp {
-	}
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
 
-    function f_test (integer p_val1, charstring p_val2) {
-        if (p_val1 == 1) { setverdict(pass); }
+    function f_caller(out integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_102() runs on GeneralComp {
-        f_test(1, -);
+    
+    testcase TC_NegSem_050402_actual_parameters_167() runs on GeneralComp {
+        var integer v_val;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_102());
+		execute(TC_NegSem_050402_actual_parameters_167());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Not used symbol \(`-'\) cannot be used for parameter that does not have default value
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `out' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_103 negative test
+:h3. NegSem_050402_actual_parameters_168 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_103 verify that mixing list and assignment notation is not allowed in parameterized calls (value as actual parameter) >
+<TC - 050402_168 verify that value inout parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_103 NegSem_050402_actual_parameters_103.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_168 NegSem_050402_actual_parameters_168.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that mixing list and assignment notation is not allowed in parameterized calls (value as actual parameter)
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Either list notation or assignment notation shall be used in a single parameter 
-// list. They shall not be mixed.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_103 { 
+module NegSem_050402_actual_parameters_168 { 
 
     type component GeneralComp {
-	}
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
 
-    function f_test (integer p_val1, charstring p_val2) {
-        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
+    function f_caller(inout integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_103() runs on GeneralComp {
-        f_test(p_val1 := 1, "test");
+    
+    testcase TC_NegSem_050402_actual_parameters_168() runs on GeneralComp {
+        var integer v_val := 5;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_103());
+		execute(TC_NegSem_050402_actual_parameters_168());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: at or before token `"': syntax error, unexpected Cstring
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `inout' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_104 negative test
+:h3. NegSem_050402_actual_parameters_169 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_104 verify that mixing list and assignment notation is not allowed in parameterized calls (skipped actual parameter) >
+<TC - 050402_169 verify that value variable element reference cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_104 NegSem_050402_actual_parameters_104.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_169 NegSem_050402_actual_parameters_169.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that mixing list and assignment notation is not allowed in parameterized calls (skipped actual parameter)
+ ** @purpose  1:5.4.2, verify that value variable element reference cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Either list notation or assignment notation shall be used in a single parameter 
-// list. They shall not be mixed.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_104 { 
+module NegSem_050402_actual_parameters_169 { 
 
     type component GeneralComp {
-	}
-
-    function f_test (integer p_val1, charstring p_val2 := "test") {
-        if ( match(p_val1, 1) and match(p_val2, "test")) { setverdict(pass); }
-        else { setverdict(fail); }
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
     }
 
-    testcase TC_NegSem_050402_actual_parameters_104() runs on GeneralComp {
-        f_test(p_val1 := 1, -);
+    testcase TC_NegSem_050402_actual_parameters_169() runs on GeneralComp {
+        var R v_val := { field1 := 10 };
+        f_test(v_val.field1); // tested parameter passing
+        if (match( { field1 := 0 }, v_val)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_104());
+		execute(TC_NegSem_050402_actual_parameters_169());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: at or before token `-': syntax error, unexpected '-'
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_105 negative test
+:h3. NegSem_050402_actual_parameters_170 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_105 verify that parameters cannot be assigned more than once in assignment notation >
+<TC - 050402_170 verify that reference to elements of formal value parameters cannot be used as out formal template parameters of functions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_105 NegSem_050402_actual_parameters_105.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_170 NegSem_050402_actual_parameters_170.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that parameters cannot be assigned more than once in assignment notation
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// When using assignment notation, each formal parameter shall be assigned an actual 
-// parameter at most once.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_105 { 
+module NegSem_050402_actual_parameters_170 { 
 
     type component GeneralComp {
-	}
-
-    function f_test (integer p_val1, charstring p_val2) {
-        if (match(p_val1 == 1 and p_val2 == "test") { setverdict(pass); }
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
+    }
+    
+    function f_caller(in R p_param) {
+        f_test(p_param.field1); // tested parameter passing
+        if (match( { field1 := 0 }, p_param)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_105() runs on GeneralComp {
-        f_test(p_val1 := 1, p_val2 := "test", p_val1 := 1);
+    testcase TC_NegSem_050402_actual_parameters_170() runs on GeneralComp {
+        f_caller({field1 := 11 });        
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_105());
+		execute(TC_NegSem_050402_actual_parameters_170());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: at or before token `\)': syntax error, unexpected '\)'
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_param'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_106 negative test
+:h3. NegSem_050402_actual_parameters_171 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_106 verify that assignment notation that doesn't contain all parameters is not accepted >
+<TC - 050402_171 verify that value variables cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_106 NegSem_050402_actual_parameters_106.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_171 NegSem_050402_actual_parameters_171.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that assignment notation that doesn't contain all parameters is not accepted
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// For each formal parameter without default value, there shall be an actual parameter.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_106 { 
+module NegSem_050402_actual_parameters_171 { 
 
     type component GeneralComp {
+        timer t := 0.0;
 	}
-
-    function f_test (integer p_val1, charstring p_val2, integer p_val3) {
-        if (match(p_val1, 1) and match(p_val2, "test") and match(p_val3, 3)) { setverdict(pass); }
-        else { setverdict(fail); }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_106() runs on GeneralComp {
-        f_test(p_val2 := "test", p_val3 := 3);
+    testcase TC_NegSem_050402_actual_parameters_171() runs on GeneralComp {
+        var integer vm_msg := 2;
+        t.start;
+        a_test(vm_msg); // tested parameter passing
+        if (match(0, vm_msg)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_106());
+		execute(TC_NegSem_050402_actual_parameters_171());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Parameter not specified
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `vm_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_107 negative test
+:h3. NegSem_050402_actual_parameters_172 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_107 verify that incompatible values cannot be passed to in formal parameters >
+<TC - 050402_172 verify that value in parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_107 NegSem_050402_actual_parameters_107.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_172 NegSem_050402_actual_parameters_172.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that incompatible values cannot be passed to in formal parameters
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// The type of each actual parameter shall be compatible with the type of each 
-// corresponding formal parameter.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_107 { 
+module NegSem_050402_actual_parameters_172 { 
 
     type component GeneralComp {
-	}
-    
-    type record R1 {
-        integer field1,
-        integer field2
+        timer t := 0.0;
     }
     
-    type record R2 {
-        integer elem1,
-        integer elem2 optional
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
     }
 
-    function f_test (R1 p_val) {
-        if (p_val == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+    function f_caller(in integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_107() runs on GeneralComp {
-        var R2 v_rec := { 1, 2 };
-        f_test(v_rec);
+    
+    testcase TC_NegSem_050402_actual_parameters_172() runs on GeneralComp {
+        t.start;
+        f_caller(3); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_107());
+		execute(TC_NegSem_050402_actual_parameters_172());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Type mismatch: `@NegSem_050402_actual_parameters_107.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_107.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_108 negative test
+:h3. NegSem_050402_actual_parameters_173 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_108 verify that incompatible values cannot be passed from out formal parameters >
+<TC - 050402_173 verify that value out parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_108 NegSem_050402_actual_parameters_108.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_173 NegSem_050402_actual_parameters_173.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that incompatible values cannot be passed from out formal parameters
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// The type of each actual parameter shall be compatible with the type of each 
-// corresponding formal parameter.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_108 { 
+module NegSem_050402_actual_parameters_173 { 
 
     type component GeneralComp {
-	}
-    
-    type record R1 {
-        integer field1,
-        integer field2 optional
+        timer t := 0.0;
     }
     
-    type record R2 {
-        integer elem1,
-        integer elem2
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
     }
 
-    function f_test (out R1 p_val) {
-        p_val.field1 := 1;
-        p_val.field2 := 2;
+    function f_caller(out integer p_val) runs on GeneralComp {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        a_test(p_val); // tested parameter passing
+        if (match(0 , p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_108() runs on GeneralComp {
-        var R2 v_rec;
-        f_test(v_rec);
-        if (v_rec == { elem1 := 1, elem2 := 2 }) { setverdict(pass); }
-        else { setverdict(fail); }
+    
+    testcase TC_NegSem_050402_actual_parameters_173() runs on GeneralComp {
+        var integer v_val;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_108());
+		execute(TC_NegSem_050402_actual_parameters_173());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Type mismatch: `@NegSem_050402_actual_parameters_108.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_108.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `out' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_109 negative test
+:h3. NegSem_050402_actual_parameters_174 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_109 verify that incompatible values cannot be passed to inout formal parameters >
+<TC - 050402_174 verify that value inout parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_109 NegSem_050402_actual_parameters_109.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_174 NegSem_050402_actual_parameters_174.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that incompatible values cannot be passed to inout formal parameters
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Strong typing is required for parameters passed by reference.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_109 { 
+module NegSem_050402_actual_parameters_174 { 
 
     type component GeneralComp {
-	}
-    
-    type record R1 {
-        integer field1,
-        integer field2 optional
+        timer t := 0.0;
     }
     
-    type record R2 {
-        integer elem1,
-        integer elem2
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
     }
 
-    function f_test (inout R1 p_val) {
-        if (p_val == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+    function f_caller(inout integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_109() runs on GeneralComp {
-        var R2 v_rec := { 1, 2 };
-        f_test(v_rec);
+    
+    testcase TC_NegSem_050402_actual_parameters_174() runs on GeneralComp {
+        var integer v_val := 5;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_109());
+		execute(TC_NegSem_050402_actual_parameters_174());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Type mismatch: `@NegSem_050402_actual_parameters_109.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_109.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `inout' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_111 negative test
+:h3. NegSem_050402_actual_parameters_175 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_111 verify that incompatible templates cannot be passed to template parameters with omit restriction >
+<TC - 050402_175 verify that value variable element reference cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_111 NegSem_050402_actual_parameters_111.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_175 NegSem_050402_actual_parameters_175.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that incompatible templates cannot be passed to template parameters with omit restriction
+ ** @purpose  1:5.4.2, verify that value variable element reference cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters passed to restricted formal template parameters shall obey 
-// the restrictions given in clause 15.8.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_111 { 
+module NegSem_050402_actual_parameters_175 { 
 
     type component GeneralComp {
-	}
-
-    function f_test (omit integer p_val) {
-        if (match(1, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
+        timer t := 0.0;
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 5; 
+        }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_111() runs on GeneralComp {
-        f_test((0..10));
+    testcase TC_NegSem_050402_actual_parameters_175() runs on GeneralComp {
+        var R v_val := { field1 := 10 };
+        t.start;
+        a_test(v_val.field1); // tested parameter passing
+        if (match({ field1 := 5 }, v_val)) { setverdict(pass); }
+        else { setverdict(fail); }
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_111());
+		execute(TC_NegSem_050402_actual_parameters_175());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Restriction on template formal parameter does not allow usage of value range match
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_112 negative test
+:h3. NegSem_050402_actual_parameters_176 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_112 verify that compatible templates can be passed to template parameters with value restriction >
+<TC - 050402_176 verify that reference to elements of formal value parameters cannot be used as out formal template parameters of altsteps >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_112 NegSem_050402_actual_parameters_112.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_176 NegSem_050402_actual_parameters_176.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that compatible templates can be passed to template parameters with value restriction
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters passed to restricted formal template parameters shall obey 
-// the restrictions given in clause 15.8.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_112 { 
+module NegSem_050402_actual_parameters_176 { 
 
     type component GeneralComp {
-	}
-
-    function f_test (template(value) integer p_val) {
-        if (match(1, p_val)) { setverdict(pass); }
+        timer t := 0.0;
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+           p_val := 5; 
+        }
+    }
+    
+    function f_caller(in R p_param) runs on GeneralComp {
+        a_test(p_param.field1); // tested parameter passing
+        if (match({ field1 := 5 }, p_param)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
-    testcase TC_NegSem_050402_actual_parameters_112() runs on GeneralComp {
-        f_test((1, 2, 3));
+    testcase TC_NegSem_050402_actual_parameters_176() runs on GeneralComp {
+        t.start;
+        f_caller({field1 := 11 });        
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_112());
+		execute(TC_NegSem_050402_actual_parameters_176());
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Restriction on template formal parameter does not allow usage of value list match
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_param'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_113 negative test
+:h3. NegSem_050402_actual_parameters_177 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_113 verify that compatible templates can be passed to template parameters with present restriction >
+<TC - 050402_177 verify that value variables cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_113 NegSem_050402_actual_parameters_113.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_177 NegSem_050402_actual_parameters_177.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that compatible templates can be passed to template parameters with present restriction
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters passed to restricted formal template parameters shall obey 
-// the restrictions given in clause 15.8.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_113 { 
+module NegSem_050402_actual_parameters_177 { 
 
     type component GeneralComp {
 	}
-
-    function f_test (template(present) integer p_val) {
-        if (match(1, p_val)) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
-
-    testcase TC_NegSem_050402_actual_parameters_113() runs on GeneralComp {
-        f_test(*);
+    
+    testcase TC_NegSem_050402_actual_parameters_177(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_113());
+        var integer vm_msg := 2;
+		execute(TC_NegSem_050402_actual_parameters_177(vm_msg)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Restriction on template formal parameter does not allow usage of any or omit
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `vm_msg'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_114 negative test
+:h3. NegSem_050402_actual_parameters_178 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_114 verify that compatible templates can be passed to template parameters with present restriction >
+<TC - 050402_178 verify that value in parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_114 NegSem_050402_actual_parameters_114.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_178 NegSem_050402_actual_parameters_178.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that parametrized entities used as actual parameter cannot be passed without parameter list
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// All parameterized entities specified as an actual parameter shall have their
-// own parameters resolved in the top-level actual parameter list.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_114 { 
+module NegSem_050402_actual_parameters_178 { 
 
     type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_178(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
     
-    type record R {
-        integer field1,
-        integer field2 optional
-    }
-        
-    template R mw_rec(template integer p_field2) := {
-        field1 := 1,
-        field2 := p_field2
+    function f_caller(in integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_178(p_val)); // tested parameter passing
     }
 
-    function f_test (template R p_match) {
-        if (match({1, omit}, p_match)) { setverdict(pass); }
-        else { setverdict(fail); }
-    }
-
-    testcase TC_NegSem_050402_actual_parameters_114() runs on GeneralComp {
-        f_test(mw_rec);
-	}
-
 	control {
-		execute(TC_NegSem_050402_actual_parameters_114());
+		f_caller(3); // this parameter passing is not a subject of the test
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to parameterized definition `mw_rec' without actual parameter list
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_115 negative test
+:h3. NegSem_050402_actual_parameters_179 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_115 verify that error is generated when no actual parameter list is used for functions with no parameters >
+<TC - 050402_179 verify that value out parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_115 NegSem_050402_actual_parameters_115.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_179 NegSem_050402_actual_parameters_179.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for functions with no parameters
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
-// altstep or external function is empty, then the empty parentheses shall be 
-// included both in the declaration and in the invocation of that object. In all 
-// other cases the empty parentheses shall be omitted.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_115 { 
+module NegSem_050402_actual_parameters_179 { 
 
     type component GeneralComp {
-	}
-
-    function f_test () return integer {
-        setverdict(pass);
-        return 1;
     }
-
-    testcase TC_NegSem_050402_actual_parameters_115() runs on GeneralComp {
-        log(f_test);
+    
+    testcase TC_NegSem_050402_actual_parameters_179(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
+    
+    function f_caller(out integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_179(p_val)); // tested parameter passing
+    }
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_115());
+        var integer vm_val;
+        f_caller(vm_val);
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to parameterized definition `f_test' without actual parameter list
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `out' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_116 negative test
+:h3. NegSem_050402_actual_parameters_180 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_116 verify that error is generated when no actual parameter list is used for test cases with no parameters >
+<TC - 050402_180 verify that value inout parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_116 NegSem_050402_actual_parameters_116.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_180 NegSem_050402_actual_parameters_180.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for test cases with no parameters
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
-// altstep or external function is empty, then the empty parentheses shall be 
-// included both in the declaration and in the invocation of that object. In all 
-// other cases the empty parentheses shall be omitted.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_116 { 
+module NegSem_050402_actual_parameters_180 { 
 
     type component GeneralComp {
-	}
-
-    testcase TC_NegSem_050402_actual_parameters_116() runs on GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_180(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
         setverdict(pass);
 	}
 
+    function f_caller(inout integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_180(p_val)); // tested parameter passing
+    }
+
 	control {
-		execute(TC_NegSem_050402_actual_parameters_116);
+        var integer vm_val := 5;
+		f_caller(vm_val);
 	}
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: at or before token `\)': syntax error, unexpected '\)', expecting '\('
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of `inout' value parameter `p_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_117 negative test
+:h3. NegSem_050402_actual_parameters_181 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_117 verify that error is generated when no actual parameter list is used for altsteps with no parameters >
+<TC - 050402_181 verify that variable element reference cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_117 NegSem_050402_actual_parameters_117.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_181 NegSem_050402_actual_parameters_181.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that error is generated when no actual parameter list is used for altsteps with no parameters
+ ** @purpose  1:5.4.2, verify that variable element reference cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
-// altstep or external function is empty, then the empty parentheses shall be 
-// included both in the declaration and in the invocation of that object. In all 
-// other cases the empty parentheses shall be omitted.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_117 { 
+module NegSem_050402_actual_parameters_181 { 
 
     type component GeneralComp {
-	}
-
-    altstep a_test () {
-        [] any timer.timeout { setverdict(pass); }
+    }
+    
+    type record R {
+        integer field1
     }
 
-    testcase TC_NegSem_050402_actual_parameters_117() runs on GeneralComp {
-        timer t_instant := 0.0;
-        t_instant.start;
-        alt {
-            [] a_test {
-                setverdict(pass);
-            }
-        }
+    testcase TC_NegSem_050402_actual_parameters_181(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
 	}
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_117());
+        var R v_val := { field1 := 10 };
+		execute(TC_NegSem_050402_actual_parameters_181(v_val.field1)); // tested parameter passing
 	}
 }
 <END_MODULE>
 
-
-<RESULT COUNT 1>
-error: at or before token `\{': syntax error, unexpected '\{'
-<END_RESULT>
 <RESULT COUNT 1>
-error: at or before token `control': syntax error, unexpected ControlKeyword, expecting \$end
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of variable `v_val'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_050402_actual_parameters_118 negative test
+:h3. NegSem_050402_actual_parameters_182 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 050402_118 verify that error is generated when empty actual parameter list is used for templates with no parameters >
+<TC - 050402_182 verify that reference to elements of formal value parameters cannot be used as out formal template parameters of test cases >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_050402_actual_parameters_118 NegSem_050402_actual_parameters_118.ttcn >
+<MODULE TTCN NegSem_050402_actual_parameters_182 NegSem_050402_actual_parameters_182.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:5.4.2, verify that error is generated when empty actual parameter list is used for templates with no parameters
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// If the formal parameter list of TTCN-3 objects function, testcase, signature, 
-// altstep or external function is empty, then the empty parentheses shall be 
-// included both in the declaration and in the invocation of that object. In all 
-// other cases the empty parentheses shall be omitted.
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
 
-module NegSem_050402_actual_parameters_118 { 
+module NegSem_050402_actual_parameters_182 { 
 
     type component GeneralComp {
-	}
-
-    template integer mw_allInt := ?;
+    }
+    
+    type record R {
+        integer field1
+    } 
 
-    testcase TC_NegSem_050402_actual_parameters_118() runs on GeneralComp {
-        if (match(1, mw_allInt())) { setverdict(pass); }
-        else { setverdict(fail); }
+    testcase TC_NegSem_050402_actual_parameters_182(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);            
 	}
+    
+    function f_caller(in R p_param) {
+        execute(TC_NegSem_050402_actual_parameters_182(p_param.field1)); // tested parameter passing
+    }
 
 	control {
-		execute(TC_NegSem_050402_actual_parameters_118());
+        var R mw_t := { field1 := 1 };
+		f_caller(mw_t);
 	}
 }
 <END_MODULE>
 
-
 <RESULT COUNT 1>
-error: The referenced template `@NegSem_050402_actual_parameters_118.mw_allInt' cannot have actual parameters
+error: Reference to a template variable or template parameter was expected for an `out' template parameter instead of value parameter `p_param'
 <END_RESULT>
 
 <END_TC>
diff --git a/conformance_test/core_language_tests/negative_tests/06_types_and_values.script b/conformance_test/core_language_tests/negative_tests/06_types_and_values.script
index c6e38350c..91cddd8d3 100644
--- a/conformance_test/core_language_tests/negative_tests/06_types_and_values.script
+++ b/conformance_test/core_language_tests/negative_tests/06_types_and_values.script
@@ -491,6 +491,309 @@ error: Invalid character `H' \(0x48\) in binary string
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_001 Accessing not individual elements of a bitstring >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_001 NegSem_06010101_AccessStringElements_001.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of a bitstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * Only single elements of the string may be accessed. 
+ * Trying to assign strings with length 0 or more than 1
+ * to a string element using the array-like syntax shall
+ * cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_001 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_001() runs on GeneralComp {
+        var bitstring v_b := '100010'B;
+        v_b[1] := '11'B;    //error: only individual elements can be accessed
+    	if (v_b == '100001'B){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_b:",v_b);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_001());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The length of the string to be assigned to a string element of type `bitstring' should be 1 instead of 2
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_002 Access bitstring element out of range >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_002 NegSem_06010101_AccessStringElements_002.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access bitstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_002 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_002() runs on GeneralComp {
+        var bitstring v_b := '100010'B;
+        v_b[7] := '0'B;    //error: index outside of range
+    	if (v_b == '100001'B){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_b:",v_b);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_002());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: Index overflow when accessing a bitstring element: The index is 7, but the string has only 6 bits.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_003 Accessing not individual elements of a hexstring >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_003 NegSem_06010101_AccessStringElements_003.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of a hexstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_003 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_003() runs on GeneralComp {
+        var hexstring v_h := '100010'H;
+        v_h[1] := '01'H;    //error: only individual elements can be accessed
+    	if (v_h == '100001'H){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_h:",v_h);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_003());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The length of the string to be assigned to a string element of type `hexstring' should be 1 instead of 2
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_004 Access hexstring element out of range >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_004 NegSem_06010101_AccessStringElements_004.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access hexstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_004 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_004() runs on GeneralComp {
+        var hexstring v_h := '100010'H;
+        v_h[7] := '0'H;    //error: index outside of range
+    	if (v_h == '100001'H){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_h:",v_h);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_004());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: Index overflow when accessing a hexstring element: The index is 7, but the string has only 6 hexadecimal digits.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_005 Accessing not individual elements of an octetstring >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_005 NegSem_06010101_AccessStringElements_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of an octetstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_005 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_005() runs on GeneralComp {
+        var octetstring v_o := '100010'O;
+        v_o[1] := '0120'O;    //error: only individual elements can be accessed
+    	if (v_o == '100001'O){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_o:",v_o);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_005());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The length of the string to be assigned to a string element of type `octetstring' should be 1 instead of 2
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06010101_AccessStringElements_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06010101_006 Accessing not individual elements of an octetstring >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_06010101_AccessStringElements_006 NegSem_06010101_AccessStringElements_006.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access hexstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_006 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_006() runs on GeneralComp {
+        var octetstring v_o := '100010'O;
+        v_o[4] := '01'O;    //error: only individual elements can be accessed
+    	if (v_o == '100001'O){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_o:",v_o);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_006());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: Index overflow when accessing a octetstring element: The index is 4, but the string has only 3 octets.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_06010201_ListOfValues_001 negative test
 .*---------------------------------------------------------------------*
@@ -2835,6 +3138,216 @@ error: at or before token `"': syntax error, unexpected Cstring
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSyn_0602_TopLevel_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 0602_004 Combined value list and assignment notation not allowed in the same (immediate) context. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_0602_TopLevel_004 NegSyn_0602_TopLevel_004.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ *The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_004 {
+    type record MyRecord {
+        integer field1,
+        charstring field2 optional,
+        float field3
+    }
+    const MyRecord c_rec := {
+        field1 := 5,
+        field1 := 6,    // error: already appeared field
+        field3 := 3.14
+    };
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Duplicate record field `field1'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_0602_TopLevel_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 0602_005 Combined value list and assignment notation not allowed in the same (immediate) context. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_0602_TopLevel_005 NegSyn_0602_TopLevel_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index notation can be used for record of and setof value notations and for arrays.
+ * In this notation each index shall not appear more than once and shall conform to the range of indices allowed by the type definition. 
+*/
+
+module NegSyn_0602_TopLevel_005 {
+
+    type set of integer MySetOfType;
+        type component GeneralComp {
+    }
+    
+testcase TC_NegSyn_0602_TopLevel_005() runs on GeneralComp {
+
+      var MySetOfType v_set := {
+        [0] := 1,
+        [1] := 2,
+        [1] := 3    // error already indexed
+    };
+
+        if ( match(v_set, {1,3})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_005());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Duplicate index value `1' for components `3' and `2'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_0602_TopLevel_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 0602_006 Combined value list and assignment notation not allowed in the same (immediate) context. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_0602_TopLevel_006 NegSyn_0602_TopLevel_006.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_006 {
+
+    type set MySetType{	
+		integer	field1,
+		charstring	field2 
+	}
+    
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSyn_0602_TopLevel_006() runs on GeneralComp {
+
+      var MySetType v_set := {
+        field1 := 5,
+        field1 := 6,    // error: already appeared field
+        field2 := "abc"
+      };
+
+        if ( match(v_set, {5,"abc"})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_006());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Duplicate set field `field1'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_0602_TopLevel_007 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 0602_007 Combined value list and assignment notation not allowed in the same (immediate) context. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_0602_TopLevel_007 NegSyn_0602_TopLevel_007.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_007 {
+
+    type record of integer MyRecordOfType;
+        type component GeneralComp {
+    }
+    
+testcase TC_NegSyn_0602_TopLevel_007() runs on GeneralComp {
+
+      var MyRecordOfType v_RoI := {
+        [0] := 1,
+        [1] := 2,
+        [1] := 3    // error already indexed
+    };
+
+        if ( match(v_RoI, {1,3})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_007());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Duplicate index value `1' for components `3' and `2'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSyn_060201_RecordTypeValues_001 negative test
 .*---------------------------------------------------------------------*
@@ -4585,6 +5098,91 @@ error: Cannot determine the type of the operands in operation `!='
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_060204_enumerated_type_and_values_012 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 060204_012 using enumerated value number integer conversion >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_060204_enumerated_type_and_values_012 NegSem_060204_enumerated_type_and_values_012.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2.4, using enumerated value number integer conversion
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// enumerated values with a specific integer value assigned shall not use the associated integer
+
+module NegSem_060204_enumerated_type_and_values_012 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday(-1), Tuesday(1), Wednesday(2), Thursday(3), Friday(5)
+    };
+    
+    testcase TC_NegSem_060204_enumerated_type_and_values_012() runs on GeneralComp {
+        var EDays v_enum := Friday(5);    // error: shall not use the associated integer
+     
+        if (match(enum2int(v_enum),5)) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_NegSem_060204_enumerated_type_and_values_012());
+	}
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: There is no local or imported definition with name `Friday'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_060204_enumerated_type_and_values_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 060204_001 expression as user-assigned enumerated value >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_060204_enumerated_type_and_values_001 NegSyn_060204_enumerated_type_and_values_001.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2.4, expression as user-assigned enumerated value
+ ** @verdict  pass reject, noexecutino
+ ***************************************************/
+
+// The following requirement is tested:
+// ach enumerated value may optionally have a user-assigned integer value or non-empty list of integer literal values or ranges of integer literal values
+
+module NegSyn_060204_enumerated_type_and_values_001 {
+
+    type enumerated MyFirstEnumType {
+        Monday, Tuesday(), Thursday, Friday
+    };    // error: non-empty integer literal required
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `\)': syntax error, unexpected '\)'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_060205_top_level_001 negative test
 .*---------------------------------------------------------------------*
@@ -6927,6 +7525,39 @@ error: A value or expression of type integer was expected
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSyn_060207_arrays_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 060207_005 Ensure that arrays upper value shall not be lesser than the corresponding lower value >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_060207_arrays_005 NegSyn_060207_arrays_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2.7, Ensure that arrays upper value shall not be lesser than the corresponding lower value
+ ** @verdict  pass reject
+ ***************************************************/
+/*The following requirement is tested:
+ * The upper value shall not be lesser than the corresponding lower value.
+ */
+module NegSyn_060207_arrays_005 {
+
+    control {
+        var integer v_arr[5..1];    // error: . The upper value shall not be lesser than the corresponding lower value
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The lower bound of array index \(5\) is greater than the upper bound \(1\)
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_060209_CommunicationPortTypes_004 negative test
 .*---------------------------------------------------------------------*
@@ -7335,6 +7966,76 @@ error: at or before token `!': syntax error, unexpected '!'
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_06021301_LengthSubtyping_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06021301_005 The length subtyping check for 'record of' or 'set of' types >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_06021301_LengthSubtyping_005 NegSem_06021301_LengthSubtyping_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types
+ ** @verdict  pass reject
+ ***************************************************/
+/*The following requirement is tested:
+ * In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+ */
+module NegSem_06021301_LengthSubtyping_005 {
+   type set length(0..10) of integer SetOfLengthLessThan10;
+
+   type SetOfLengthLessThan10 SetOfLength5 length(5..2);	
+   //Error: In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The upper boundary of the length restriction \(2\) cannot be smaller than the lower boundary \(5\)
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_06021301_LengthSubtyping_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 06021301_006 The length subtyping check for 'record of' or 'set of' types >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_06021301_LengthSubtyping_006 NegSem_06021301_LengthSubtyping_006.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types
+ ** @verdict  pass reject
+ ***************************************************/
+
+/*The following requirement is tested:
+ * In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+*/
+
+module NegSem_06021301_LengthSubtyping_006 {
+   type record length(0..10) of integer RecordOfLengthLessThan10;
+
+   type RecordOfLengthLessThan10 RecordOfLengthLessThan5 length(5..2);	
+   //Error: In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The upper boundary of the length restriction \(2\) cannot be smaller than the lower boundary \(5\)
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_06021302_ListSubtyping_001 negative test
 .*---------------------------------------------------------------------*
@@ -7688,7 +8389,7 @@ error: Type mismatch: `@NegSem_060302_structured_types_004.SetType.b' of type `i
  ** @verdict  pass reject
  ***************************************************/
 
-module NegSem_060302_structured_types_009 { 
+module NegSem_060302_structured_types_009 language "TTCN-3:2016"{ 
 
 	type enumerated EnumeratedType {e_black, e_white};
 	type enumerated EnumeratedRedefinition {e_black, e_white};
diff --git a/conformance_test/core_language_tests/negative_tests/07-14_folder.script b/conformance_test/core_language_tests/negative_tests/07-14_folder.script
index 4d5b5499d..111fcba61 100644
--- a/conformance_test/core_language_tests/negative_tests/07-14_folder.script
+++ b/conformance_test/core_language_tests/negative_tests/07-14_folder.script
@@ -746,6 +746,287 @@ error: Right operand of operation `&' should be a string, `record of' or `set of
 :h2. 08_modules folder
 .*---------------------------------------------------------------------*
 
+*---------------------------------------------------------------------*
+:h3. NegSem_080201_ModuleParameters_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_001 Ensure that a port, default or component types cannot be module parameters. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_080201_ModuleParameters_001 NegSem_080201_ModuleParameters_001.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a port, default or component types cannot be module parameters.
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_001 {
+
+   type port MyMessagePortType message {
+		inout	integer
+	} with {extension "internal"}
+
+	modulepar MyMessagePortType MY_PORT;    // not allowed
+	
+	type component GeneralComp {
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_001() runs on GeneralComp {
+		if (MY_PORT.checkstate("Started")) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_001());
+	}
+	
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Type of module parameter cannot be or embed port type `@NegSem_080201_ModuleParameters_001.MyMessagePortType'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_080201_ModuleParameters_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_004 Ensure that module parameters remain constant. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_080201_ModuleParameters_004 NegSem_080201_ModuleParameters_004.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameters remain constant.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_004 {
+
+	modulepar integer MY_INT := 2; 
+	
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_004() runs on GeneralComp {
+		MY_INT := 3;    // not allowed to change module parameter
+		if (MY_INT == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_004());
+	}
+	
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a variable or template variable was expected instead of module parameter `@NegSem_080201_ModuleParameters_004.MY_INT'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_080201_ModuleParameters_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_005 Ensure that a reference to plain module parameter with a default value delivers the default value unless it is overwritten. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_080201_ModuleParameters_005 NegSem_080201_ModuleParameters_005.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a reference to plain module parameter with a default value delivers the default value unless it is overwritten.
+ ** @verdict  pass reject
+ *****************************************************************/
+// A module parameter shall only be of type address if the address type is explicitly defined within the associated module
+
+module NegSem_080201_ModuleParameters_005 {
+
+	modulepar address MY_ADDRESS_MODULE_PARAMETER := 2;    // error: address type not defined
+	
+	type component GeneralComp {
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_005() runs on GeneralComp {
+		if (MY_ADDRESS_MODULE_PARAMETER == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_005());
+	}
+	
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Type `address' is not defined in this module
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_080201_ModuleParameters_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_006 Ensure that a module parameter is not allowed to be used in arrays >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_080201_ModuleParameters_006 NegSem_080201_ModuleParameters_006.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a module parameter is not allowed to be used in arrays
+ ** @verdict  pass reject
+ *****************************************************************/
+//Module parameters shall not be used in type or array definitions.
+
+module NegSem_080201_ModuleParameters_006 {
+
+	modulepar integer MY_INT_MODULE_PARAMETER := 2;  
+		
+	type component GeneralComp {	    	    
+	}
+
+	type integer MyArrayType[MY_INT_MODULE_PARAMETER];
+	// error: Module parameters shall not be used in type or array definitions.
+
+	testcase TC_NegSem_080201_ModuleParameters_006() runs on GeneralComp {
+	
+		var MyArrayType v_arr := {2,3};
+
+		if (v_arr[0] == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_006());
+	}
+	
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to an \(evaluable\) constant value was expected instead of module parameter `@NegSem_080201_ModuleParameters_006.MY_INT_MODULE_PARAMETER'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_080201_ModuleParameters_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_001 Ensure that module parameter can be declared within the module definition part only. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_080201_ModuleParameters_001 NegSyn_080201_ModuleParameters_001.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameter can be declared within the module definition part only.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+module NegSyn_080201_ModuleParameters_001 {
+
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSyn_080201_ModuleParameters_001() runs on GeneralComp {
+		modulepar integer MY_MODULE_PAR := 1;    // not allowed to declared here
+		setverdict(fail);
+	}
+	
+	control {
+		execute(TC_NegSyn_080201_ModuleParameters_001());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `modulepar': syntax error, unexpected ModuleParKeyword
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_080201_ModuleParameters_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 080201_002 Ensure that module parameter can be declared within the module definition part only. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_080201_ModuleParameters_002 NegSyn_080201_ModuleParameters_002.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameter can be declared within the module definition part only.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+module NegSyn_080201_ModuleParameters_002 {
+	modulepar integer MY_MODULE_PAR := 1; 
+	modulepar integer MY_MODULE_PAR := 2;    //error: not allowed to redeclare
+
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSyn_080201_ModuleParameters_002() runs on GeneralComp {
+		setverdict(fail);
+	}
+	
+	control {
+		execute(TC_NegSyn_080201_ModuleParameters_002());
+	}
+    
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Duplicate definition with name `MY_MODULE_PAR'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_08020301_GeneralFormatOfImport_002 negative test
 .*---------------------------------------------------------------------*
@@ -2274,6 +2555,49 @@ error: any value is not allowed in this context
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_1101_ValueVars_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 1101_005 Variables should be assigned only by initialized variables >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_1101_ValueVars_005 NegSem_1101_ValueVars_005.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:11.1, Variables should be assigned only by initialized variables
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The expression shall evaluate to a value, which is at least partially initialized.
+
+module NegSem_1101_ValueVars_005 {
+    type component GeneralComp {}
+    
+	testcase TC_NegSem_1101_ValueVars_005() runs on GeneralComp {
+  		var integer v_i;
+        var integer v_j := v_i + 2;    // error: v_i is uninitialized            
+
+        setverdict(pass);
+	}
+    
+    control {
+        execute(TC_NegSem_1101_ValueVars_005());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: Unbound left operand of integer addition.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+
 *---------------------------------------------------------------------*
 :h3. NegSyn_1101_ValueVars_001 negative test
 .*---------------------------------------------------------------------*
@@ -2367,6 +2691,49 @@ error: at or before token `var': syntax error, unexpected VarKeyword
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSyn_1102_TemplateVars_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 1102_002 Template variables should be assigned with unitialized variables >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_1102_TemplateVars_002 NegSyn_1102_TemplateVars_002.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:11.2, Template variables should be assigned with unitialized variables
+ ** @verdict  pass reject
+ ***************************************************/
+
+/* The following requirements are tested:
+Restriction l) The template body at the right-hand side of the  assignment symbol shall evaluate to a value or template, which is type compatible with the variable being declared.
+*/
+
+module NegSyn_1102_TemplateVars_002 {
+    type component GeneralComp {}
+    
+	testcase TC_NegSyn_1102_TemplateVars_002() runs on GeneralComp {
+  		var integer v_i1 := 1;
+        var template float v_i2 := v_i1; // error: v_i1 is integer, meanwhile template type is float
+  		
+        setverdict(pass);
+	}
+    
+    control {
+        execute(TC_NegSyn_1102_TemplateVars_002());
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Type mismatch: a value or template of type `float' was expected instead of `integer'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h2. 12_timers folder
 .*---------------------------------------------------------------------*
diff --git a/conformance_test/core_language_tests/negative_tests/08_empty_modules.script b/conformance_test/core_language_tests/negative_tests/08_empty_modules.script
index 7dfc200d7..f04578711 100644
--- a/conformance_test/core_language_tests/negative_tests/08_empty_modules.script
+++ b/conformance_test/core_language_tests/negative_tests/08_empty_modules.script
@@ -282,6 +282,34 @@ error
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. Syn_0801_DefinitionOfAModule_010 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 0801_010 Ensure that a module definition with ed4.8.1 language and package is accepted. >
+
+<COMPILE>
+
+<MODULE TTCN Syn_0801_DefinitionOfAModule_010 Syn_0801_DefinitionOfAModule_010.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:8.1, Ensure that a module definition with ed4.8.1 language and package is accepted.
+ ** @verdict  pass accept, noexecution
+ *****************************************************************/
+
+module Syn_0801_DefinitionOfAModule_010 language "TTCN-3:2016" {
+
+}
+<END_MODULE>
+
+<RESULT IF_PASS NEGATIVE>
+error
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. Syn_0803_ModuleControlPart_003 negative test
 .*---------------------------------------------------------------------*
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 a6c85ceab..7c874d025 100644
--- a/conformance_test/core_language_tests/negative_tests/15_templates.script
+++ b/conformance_test/core_language_tests/negative_tests/15_templates.script
@@ -56,6 +56,47 @@ This TD contains negative tests from ETSI TTCN3 Conformance Test's 15_templates
 :h1.REQUIREMENT-BASED TESTS
 .*---------------------------------------------------------------------*
 .*---------------------------------------------------------------------*
+:h2. 15_top_level folder
+.*---------------------------------------------------------------------*
+*---------------------------------------------------------------------*
+:h3. NegSyn_15_TopLevel_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 15_001 Ensure that the expression or template body initializing a template shall evaluate to a value or template, which is type compatible with the template being declared. >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_15_TopLevel_001 NegSyn_15_TopLevel_001.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15, Ensure that the expression or template body initializing a template shall evaluate to a value or template, which is type compatible with the template being declared. 
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+
+// The following requirement is tested:
+//Restriction C: the expression or template body initializing a template shall evaluate to a value or template, which is type compatible with the template being declared. 
+
+module NegSyn_15_TopLevel_001 {
+
+	type record MyRecord {
+		integer myInt
+	}
+
+	template MyRecord mw_myRecord := {
+    	myInt := 2.1    // error: incompatible type (int req., float is given)
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: integer value was expected
+<END_RESULT>
+
+<END_TC>
+:exmp
+.*---------------------------------------------------------------------*
 :h2. 1503_global_and_local_templates folder
 .*---------------------------------------------------------------------*
 *---------------------------------------------------------------------*
@@ -3589,7 +3630,7 @@ error: Formal parameter with template restriction `present' not allowed here
 <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)
+ ** @purpose  1:15.8, Ensure that template cannot be parameter to template(omit)
  ** @verdict  pass reject
  *****************************************************************/
 
@@ -4202,6 +4243,55 @@ error: Reference to a value was expected instead of template `@NegSem_1509_Match
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_1509_MatchOperation_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 1509_003 Ensure that the match operation works correctly with enums. >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_1509_MatchOperation_003 NegSem_1509_MatchOperation_003.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation works correctly with enums.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1509_MatchOperation_003 {
+
+	type component GeneralComp { }
+
+	type enumerated A_enum { A, B, C, D, E };
+	type enumerated B_enum { A, F, G };
+
+	testcase TC_NegSem_1509_MatchOperation_003() runs on GeneralComp {
+		
+		var A_enum v_value := A;
+
+		
+		if (match(v_value, B_enum:G)) { // error: different enum type
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+
+	control{
+		execute(TC_NegSem_1509_MatchOperation_003());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Type mismatch: a value of type `@NegSem_1509_MatchOperation_003.B_enum' was expected instead of `@NegSem_1509_MatchOperation_003.A_enum'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 .*---------------------------------------------------------------------*
 :h2. 1510_valueof_operation folder
 .*---------------------------------------------------------------------*
diff --git a/conformance_test/core_language_tests/negative_tests/16-20_folders.script b/conformance_test/core_language_tests/negative_tests/16-20_folders.script
index 9a8c63fcf..c66c3ba68 100644
--- a/conformance_test/core_language_tests/negative_tests/16-20_folders.script
+++ b/conformance_test/core_language_tests/negative_tests/16-20_folders.script
@@ -2802,6 +2802,68 @@ error: The 'intOption' is already present in the 1. branch of select union
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_190302_select_union_statement_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 190302_006 verify that it is possible to use a select union statement with several branches >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_190302_select_union_statement_006 NegSem_190302_select_union_statement_006.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:19.3.2, verify that it is possible to use a select union statement with several branches
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// c) No two cases in a select union statement shall have the same caseIdentifier or TypeIdentifier.
+module NegSem_190302_select_union_statement_006 { 
+
+    type component GeneralComp {
+	}	
+
+    testcase TC_NegSem_190302_select_union_statement_006() runs on GeneralComp {
+        var anytype v_any;
+        v_any.integer := 2;
+        v_any.charstring := "abc";
+        v_any.float := 1.2;
+        
+        select union (v_any) {
+            case (charstring) {
+                if(match(v_any.charstring,"abc")) 
+                {setverdict(pass, v_any.charstring);}
+            } case (integer) {
+                if(match(v_any.integer,2)) 
+                {setverdict(pass, v_any.integer);}
+            } case (charstring) {    // error
+                  if(match(v_any.charstring,"abc")) 
+                {setverdict(fail, v_any.charstring);}
+            }
+               case else {
+                setverdict(fail);
+            }
+        }
+	}
+
+	control {
+		execute(TC_NegSem_190302_select_union_statement_006());
+	}
+}
+with {
+	extension "anytype integer, charstring, float"
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The 'charstring' is already present in the 1. branch of select union
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_1904_for_statement_001 negative test
 .*---------------------------------------------------------------------*
diff --git a/conformance_test/core_language_tests/negative_tests/21_configuration_operations.script b/conformance_test/core_language_tests/negative_tests/21_configuration_operations.script
index 0e56412ad..5bc2895a9 100644
--- a/conformance_test/core_language_tests/negative_tests/21_configuration_operations.script
+++ b/conformance_test/core_language_tests/negative_tests/21_configuration_operations.script
@@ -2481,6 +2481,67 @@ error: The operand of operation `alive': Type mismatch: component array referenc
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_210305_alive_operation_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 210305_002 Verify that error occurs when any from alive is applied to 1D array and index target is array >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_210305_alive_operation_002 NegSem_210305_alive_operation_002.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:21.3.5, Verify that error occurs when any from alive is applied to 1D array and index target is array
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction d
+// If the index redirection is used for single-dimensional component arrays, the type
+// of the integer variable shall allow storing the highest index of the respective array.
+module NegSem_210305_alive_operation_002 {
+
+    type component GeneralComp {}
+
+	function f() runs on GeneralComp {
+		timer t := 100.0;
+		t.start;
+		t.timeout;
+	}
+
+    testcase TC_NegSem_210305_alive_operation_002() runs on GeneralComp system GeneralComp {
+		var boolean v_isAlive;
+		const integer c_size := 4;
+        var GeneralComp v_ptc[c_size];
+		var integer v_index[1];
+		for (var integer i := 0; i < c_size; i := i + 1) {
+			v_ptc[i] := GeneralComp.create; // created components are inactive
+			if (i mod 2 == 0) { v_ptc[i].kill; } //kill components on even indices
+			else { v_ptc[i].start(f());} // activate v_ptc
+		}
+
+        v_isAlive := any from v_ptc.alive -> @index value v_index;
+        if(v_index[0] == 1){
+            setverdict(pass);
+        } else {
+            setverdict(fail, "The any from alive operation didn't find alive components");
+        }
+    }
+
+    control {
+        execute(TC_NegSem_210305_alive_operation_002(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Indices of one-dimensional component arrays can only be redirected to an integer
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_210305_alive_operation_003 negative test
 .*---------------------------------------------------------------------*
@@ -2510,8 +2571,6 @@ module NegSem_210305_alive_operation_003 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_003() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -2519,7 +2578,7 @@ module NegSem_210305_alive_operation_003 {
 		var float v_index;
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } //quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } //kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
         v_isAlive := any from v_ptc.alive -> @index value v_index;
@@ -2574,8 +2633,6 @@ module NegSem_210305_alive_operation_004 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_004() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 3;
@@ -2584,7 +2641,7 @@ module NegSem_210305_alive_operation_004 {
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			for (var integer j := 0; j < c_size; j := j + 1) {				
 				v_ptc[i][j] := GeneralComp.create; // created components are inactive
-				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].start(f_done()); } //quick done components on even i or odd j
+				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i].kill; } //kill components on even i or odd j
 				else { v_ptc[i][j].start(f());} // activate v_ptc
 			}
 		}
@@ -2643,8 +2700,6 @@ module NegSem_210305_alive_operation_005 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_005() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 3;
@@ -2653,7 +2708,7 @@ module NegSem_210305_alive_operation_005 {
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			for (var integer j := 0; j < c_size; j := j + 1) {				
 				v_ptc[i][j] := GeneralComp.create; // created components are inactive
-				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].start(f_done()); } //quick done components on even i or odd j
+				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i].kill; } //kill components on even i or odd j
 				else { v_ptc[i][j].start(f());} // activate v_ptc
 			}
 		}
diff --git a/conformance_test/core_language_tests/negative_tests/22_communication_operations.script b/conformance_test/core_language_tests/negative_tests/22_communication_operations.script
index ba6303a54..5c1320064 100644
--- a/conformance_test/core_language_tests/negative_tests/22_communication_operations.script
+++ b/conformance_test/core_language_tests/negative_tests/22_communication_operations.script
@@ -661,7 +661,8 @@ error: Cannot determine the type of the outgoing message
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220201_SendOperation_010 {
 	
@@ -3262,7 +3263,8 @@ error: Catching of `timeout' exception is not allowed because the previous `call
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220301_CallOperation_003 {
 
@@ -3298,501 +3300,434 @@ Dynamic test case error: The second argument of connect operation contains the n
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_001 negative test
+:h3. NegSem_220301_CallOperation_005 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_001 Ensure that getcall operations are only used on procedure based ports  >
+<TC - 220301_005 incompatible template in the to clause of the call operation >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_001 NegSem_220302_GetcallOperation_001.ttcn >
-/***************************************************
+<MODULE TTCN NegSem_220301_CallOperation_005 NegSem_220301_CallOperation_005.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Ensure that getcall operations are only used on procedure based ports 
+ ** @purpose  1:22.3.1, incompatible template in the to clause of the call operation
  ** @verdict  pass reject
- ***************************************************/
+ *****************************************************************/
 
-module NegSem_220302_GetcallOperation_001 {
+// The following requirements are tested:
+// f) All AddressRef items in the to clause and all VariableRef items in the sender clause
+// shall be of type address, component or of the address type bound to the port type (see 
+// section 6.2.9) of the port instance referenced in the call operation.
 
-    type port loopbackPort message {
-        inout integer
-    } with {extension "internal"}
+module NegSem_220301_CallOperation_005 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
 	
     type component GeneralComp {
-        port loopbackPort messagePort
+		port P p;
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_005() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait) to v_addr;
+        setverdict(pass);
     }
 
-    testcase TC_NegSem_220302_GetcallOperation_001() runs on GeneralComp {
+    control {
+        execute(TC_NegSem_220301_CallOperation_005(), 5.0);
+    }
+}
+<END_MODULE>
 
-		connect(self:messagePort, self:messagePort);
+<RESULT COUNT 1>
+error: Type mismatch: The type of the operand should be a component type instead of `charstring'
+<END_RESULT>
 
-        messagePort.send(2);
+<END_TC>
+:exmp
 
-        alt {
-            [] messagePort.getcall {		//cannot use getcall on a message based port
-                setverdict(pass);
-            }
-            [] messagePort.receive {
-                setverdict(fail);
-            }
-        }
+*---------------------------------------------------------------------*
+:h3. NegSem_220301_CallOperation_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220301_006 verify that non-blocking calls cannot have a response and exception handling part >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220301_CallOperation_006 NegSem_220301_CallOperation_006.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that non-blocking calls cannot have a response and exception handling part
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of non-blocking procedure-based communication the handling of exceptions 
+// to call operations is done by using catch (see clause 22.3.6) operations as 
+// alternatives in alt statements.
+// A non-blocking procedure has no out and inout parameters, no return value and the 
+// non-blocking property is indicated in the corresponding signature definition by means 
+// of a noblock keyword. Possible exceptions raised by non-blocking procedures have to be 
+// removed from the port queue by using catch operations in subsequent alt or interleave 
+// statements.
+
+module NegSem_220301_CallOperation_006 {
+
+    signature S() noblock;
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:?);
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_006() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+		v_ptc.start(f_called);
+        p.call(S:{}) {
+			[] p.getreply(S:{}) {}
+		}
+        setverdict(pass);
     }
 
     control{
-        execute(TC_NegSem_220302_GetcallOperation_001());
+        execute(TC_NegSem_220301_CallOperation_006(), 5.0);
     }
 
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Procedure-based operation `getcall' is not applicable to a message-based port of type `@NegSem_220302_GetcallOperation_001.loopbackPort'
+error: A call of non-blocking signature `@NegSem_220301_CallOperation_006.S' cannot have response and exception handling part
+<END_RESULT>
+<RESULT COUNT 1>
+error: Operation `getreply' is not applicable to non-blocking signature `@NegSem_220301_CallOperation_006.S'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_002 negative test
+:h3. NegSem_220301_CallOperation_007 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_002 Ensure that getcall operation does not allow value assignment >
+<TC - 220301_007 verify that signature that are not listed in the port inout and out list cannot be used in call operations >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_002 NegSem_220302_GetcallOperation_002.ttcn >
+<MODULE TTCN NegSem_220301_CallOperation_007 NegSem_220301_CallOperation_007.ttcn >
 /*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Ensure that getcall operation does not allow value assignment
+ ** @purpose  1:22.3.1, verify that signature that are not listed in the port inout and out list cannot be used in call operations
  ** @verdict  pass reject
  *****************************************************************/
 
-module NegSem_220302_GetcallOperation_002 {
+// The following requirements are tested:
+// a) The call operation shall only be used on procedure-based ports. The type definition 
+// of the port at which the call operation takes place shall include the procedure name 
+// in its out or inout list i.e. it shall be allowed to call this procedure at this port.
 
-    /**
-    * @desc testing of inline return template for remote procedure call
-    * @param p_par1 only input parameter
-    * @param p_par2 must have value 4 at return
-    * @param p_par3 must have value 5 at return
-    * @return must return value 1
-    */
-    signature p_NegSem_220302_GetcallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer;
+module NegSem_220301_CallOperation_007 {
 
-    template p_NegSem_220302_GetcallOperation_002 s_returnTemplate := {
-        p_par1 := 0, // p_par1 := -, core dump
-        p_par2 := 4,
-        p_par3 := 5
-    }
+    signature S1() noblock;
+	signature S2() noblock;
 
-    template p_NegSem_220302_GetcallOperation_002 s_wrongTemplate := {
-        p_par1 := 0, // p_par1 := -, core dump
-        p_par2 := 2,
-        p_par3 := 3
+    type port P procedure {
+        inout S1;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+		
+    testcase TC_NegSem_220301_CallOperation_007() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(S2:{}); // error expected
+        setverdict(pass);
     }
 
-    template p_NegSem_220302_GetcallOperation_002 s_callTemplate := {
-        p_par1 := 1,
-        p_par2 := 0, // p_par2 := -, core dump
-        p_par3 := 3
+    control{
+        execute(TC_NegSem_220301_CallOperation_007(), 5.0);
     }
 
-    type port remotePort procedure {
-        inout p_NegSem_220302_GetcallOperation_002;
-    } with {extension "internal"}
+}
+<END_MODULE>
 
-    type component GeneralComp {
-        port remotePort PCO;
-    } 
+<RESULT COUNT 1>
+error: Incompatible explicit type specification: `@NegSem_220301_CallOperation_007.S1' was expected instead of `@NegSem_220301_CallOperation_007.S2'
+<END_RESULT>
 
-    function f_ClientQuery() runs on GeneralComp {
-	  	var integer v_zero:=0;
-	  	var integer v_one:=1;
-	
-        PCO.call(p_NegSem_220302_GetcallOperation_002:s_callTemplate, 5.0) {
-	
-            [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_wrongTemplate value 1) {
-                setverdict(fail);
-            }
-            [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 2) {
-                setverdict(fail);
-            }
-            [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 1) 				{ //check that boolean guard is correctly evaluated
-                setverdict(pass);
-            }
-            [] PCO.catch (timeout) {
-                setverdict(fail);
-            }
-        }
-    }
+<END_TC>
+:exmp
 
-    function f_ServerResponses() runs on GeneralComp {
-	
-		var integer v_par1;
-		var integer v_par3;
-		var integer v_return;
-		timer t_timeout:=30.0;
+*---------------------------------------------------------------------*
+:h3. NegSem_220301_CallOperation_008 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
 
- 		template p_NegSem_220302_GetcallOperation_002 s_acceptTemplate := {
-        	p_par1 := ?,
-        	p_par2 := ?,
-        	p_par3 := ?
-    	};
+<TC - 220301_008 verify that in parameters of a signature used in a call operation cannot contain matching symbols >
 
-			
-		t_timeout.start;
-	
-		alt {
-     		[] PCO.getcall(p_NegSem_220302_GetcallOperation_001:s_acceptTemplate) -> value v_return { 
-				//not allowed assignment
-      		}
-      		[] t_timeout.timeout {
-      		}
-	 	}	
-	 
-    }
+<COMPILE>
+<EXECUTE_PARALLEL>
 
-	
-	testcase TC_NegSem_220302_GetcallOperation_002() runs on GeneralComp system GeneralComp {
-       	var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
-       	var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
-       	timer t_wait:=1.0;
-       
 
-       connect(server:PCO, client:PCO);
+<MODULE TTCN NegSem_220301_CallOperation_008 NegSem_220301_CallOperation_008.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that in parameters of a signature used in a call operation cannot contain matching symbols
+ ** @verdict  pass reject
+ *****************************************************************/
 
-       server.start(f_ServerResponses());
-       client.start(f_ClientQuery());
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
 
-       alt {
-           [] client.done {
-             t_wait.start;
-             while(t_wait.running) {	
-				//this gives a chance for server to still test for second getcall match
-             }
-               server.stop;
-           }
-       }
+module NegSem_220301_CallOperation_008 {
 
-       alt {
-           [] all component.done {}
-       }
+    signature S(in integer p_par) noblock;
 
-       disconnect(server:PCO, client:PCO);
-   }
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := ? };
+	
+    testcase TC_NegSem_220301_CallOperation_008() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1);
+        setverdict(pass);
+    }
 
     control{
-        execute(TC_NegSem_220302_GetcallOperation_002());
+        execute(TC_NegSem_220301_CallOperation_008(), 5.0);
     }
 
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: at or before token `value': syntax error, unexpected ValueKeyword, expecting ParamKeyword or SenderKeyword
-<END_RESULT>
-<RESULT COUNT 1>
-error: at or before token `testcase': syntax error, unexpected TestcaseKeyword, expecting \$end
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_003 negative test
+:h3. NegSem_220301_CallOperation_009 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_003 Ensure that getcall for any call does not allow param assignment >
+<TC - 220301_009 verify that in parameters of a signature used in a call operation cannot be omitted >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_003 NegSem_220302_GetcallOperation_003.ttcn >
+
+<MODULE TTCN NegSem_220301_CallOperation_009 NegSem_220301_CallOperation_009.ttcn >
 /*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Ensure that getcall for any call does not allow param assignment
+ ** @purpose  1:22.3.1, verify that in parameters of a signature used in a call operation cannot be omitted
  ** @verdict  pass reject
  *****************************************************************/
 
-module NegSem_220302_GetcallOperation_003 {
-
-    /**
-    * @desc testing of inline return template for remote procedure call
-    * @param p_par1 only input parameter
-    * @param p_par2 must have value 4 at return
-    * @param p_par3 must have value 5 at return
-    * @return must return value 1
-    */
-    signature p_NegSem_220302_GetcallOperation_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer;
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
 
-    template p_NegSem_220302_GetcallOperation_003 s_returnTemplate := {
-        p_par1 := 0, // p_par1 := -, core dump
-        p_par2 := 4,
-        p_par3 := 5
-    }
+module NegSem_220301_CallOperation_009 {
 
-    template p_NegSem_220302_GetcallOperation_003 s_wrongTemplate := {
-        p_par1 := 0, // p_par1 := -, core dump
-        p_par2 := 2,
-        p_par3 := 3
-    }
+    signature S(in integer p_par) noblock;
 
-    template p_NegSem_220302_GetcallOperation_003 s_callTemplate := {
-        p_par1 := 1,
-        p_par2 := 0, // p_par2 := -, core dump
-        p_par3 := 3
-    }
-
-    type port remotePort procedure {
-        inout p_NegSem_220302_GetcallOperation_003;
+    type port P procedure {
+        inout S;
     } with {extension "internal"}
 
     type component GeneralComp {
-        port remotePort PCO;
-    }
-
-    function f_ClientQuery() runs on GeneralComp {
-	  var integer v_zero:=0;
-	  var integer v_one:=1;
-	
-        PCO.call(p_NegSem_220302_GetcallOperation_003:s_callTemplate, 5.0) {
-	
-            [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_wrongTemplate value 1) {
-                setverdict(fail);
-            }
-            [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 2) {
-                setverdict(fail);
-            }
-            [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 1) {		//check that boolean guard is correctly evaluated
-                setverdict(pass);
-            }
-            [] PCO.catch (timeout) {
-                setverdict(fail);
-            }
-        }
+        port P p;
     }
-
-    function f_ServerResponses() runs on GeneralComp {
 	
-		var integer v_par1;
-		var integer v_par3;
-		timer t_timeout:=30.0;
-
- 		template p_NegSem_220302_GetcallOperation_003 s_acceptTemplate := {
-        	p_par1 := ?,
-        	p_par2 := ?,
-        	p_par3 := ?
-    	};
-
-			
-		t_timeout.start;
+	template S s_signature1 := { p_par := - };
 	
-	 	alt {
-      		[] PCO.getcall -> param(v_par1, v_par3) {  //not allowed param assignment for any call
-      		}
-      		[] t_timeout.timeout {
-      		}
-	 	}
-	 
+    testcase TC_NegSem_220301_CallOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1);
+        setverdict(pass);
     }
 
-	
-	testcase TC_NegSem_220302_GetcallOperation_003() runs on GeneralComp system GeneralComp {
-       	var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
-       	var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
-       	timer t_wait:=1.0;
-       
-       // map the PTCs to the system port
-       connect(server:PCO, client:PCO);
-
-       server.start(f_ServerResponses());
-       client.start(f_ClientQuery());
-
-       alt {
-           [] client.done {
-             t_wait.start;
-             while(t_wait.running) {	
-				//this gives a chance for server to still test for second getcall match
-             }
-               server.stop;
-           }
-       }
-
-       alt {
-           [] all component.done {}
-       }
-
-       disconnect(server:PCO, client:PCO);
-   }
-
     control{
-        execute(TC_NegSem_220302_GetcallOperation_003());
+        execute(TC_NegSem_220301_CallOperation_009(), 5.0);
     }
 
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Parameter redirect cannot be used without signature template
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_004 negative test
+:h3. NegSem_220301_CallOperation_010 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_004 Verify that error occurs when any from getcall is applied to single port >
+<TC - 220301_010 verify that inout parameters of a signature used in a call operation cannot contain matching symbols >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_004 NegSem_220302_GetcallOperation_004.ttcn >
-/******************************************************************************
+
+<MODULE TTCN NegSem_220301_CallOperation_010 NegSem_220301_CallOperation_010.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to single port
+ ** @purpose  1:22.3.1, verify that inout parameters of a signature used in a call operation cannot contain matching symbols
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction g 
-// The PortArrayRef shall be a reference to a port array variable identifier.
-module NegSem_220302_GetcallOperation_004 {
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220301_CallOperation_010 {
+
+    signature S(inout integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
 
-	signature S();
-	
-	type port P procedure {
-		inout S;
-	} with {extension "internal"}
-	
     type component GeneralComp {
-		port P p;
-	}
+        port P p;
+    }
 	
-	function f() runs on GeneralComp
-	{
-		var integer v_index;
-        alt
-		{
-        	[] any from p.getcall { setverdict(pass); }
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason"); } 
-		}		
-	}
+	template S s_signature1 := { p_par := ? };
 	
-    testcase TC_NegSem_220302_GetcallOperation_004() runs on GeneralComp system GeneralComp {
-        var GeneralComp v_ptc := GeneralComp.create;
-		connect(self:p, v_ptc:p);
-		p.call(S:{}, nowait);
-		v_ptc.start(f());
-		v_ptc.done;
+    testcase TC_NegSem_220301_CallOperation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_004(), 5.0);
+    control{
+        execute(TC_NegSem_220301_CallOperation_010(), 5.0);
     }
+
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Reference to a port array was expected instead of a port
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_005 negative test
+:h3. NegSem_220301_CallOperation_011 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_005 Verify that error occurs when any from getcall is applied to 1D array and index target is array >
+<TC - 220301_011 verify that inout parameters of a signature used in a call operation cannot be omitted >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_005 NegSem_220302_GetcallOperation_005.ttcn >
-/******************************************************************************
+
+<MODULE TTCN NegSem_220301_CallOperation_011 NegSem_220301_CallOperation_011.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to 1D array and index target is array
+ ** @purpose  1:22.3.1, verify that inout parameters of a signature used in a call operation cannot be omitted
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction i
-// If the index redirection is used for single-dimensional port arrays, the type
-// of the integer variable shall allow storing the highest index of the respective array.
-module NegSem_220302_GetcallOperation_005 {
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
 
-	signature S();
-	
-	type port P procedure {
-		inout S;
-	}
-	
-	const integer c_portCount := 4;
+module NegSem_220301_CallOperation_011 {
+
+    signature S(inout integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
 
     type component GeneralComp {
-		port P p[c_portCount];
-	}
+        port P p;
+    }
 	
-	function f() runs on GeneralComp
-	{
-		var integer v_index[1];
-        alt
-		{
-        	[] any from p.getcall(S:{}) -> @index value v_index { 
-				if(v_index[0] == 1){
-		            setverdict(pass);
-		        } else {
-		            setverdict(fail, "Index or parameter value incorrectly assigned");
-		        }
-			}
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
-		}		
-	}
+	template S s_signature1 := { p_par := - };
 	
-    testcase TC_NegSem_220302_GetcallOperation_005() runs on GeneralComp system GeneralComp {
-		var GeneralComp v_ptc := GeneralComp.create;
-		for(var integer i := 0; i < c_portCount; i := i + 1) {
-			connect(self:p[i], v_ptc:p[i]);
-			if (i mod 2 > 0) { p[i].call(S:{}, nowait); }
-		}
-		v_ptc.start(f());
-		v_ptc.done;	    
+    testcase TC_NegSem_220301_CallOperation_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_005(), 5.0);
+    control{
+        execute(TC_NegSem_220301_CallOperation_011(), 5.0);
     }
+
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Indices of one-dimensional port arrays can only be redirected to an integer
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_006 negative test
+:h3. NegSem_220301_CallOperation_012 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_006 Verify that error occurs when any from getcall is applied to 1D array and index target has wrong type >
+<TC - 220301_012 missing to clause in case of one-to-many connections >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_006 NegSem_220302_GetcallOperation_006.ttcn >
-/******************************************************************************
+
+<MODULE TTCN NegSem_220301_CallOperation_012 NegSem_220301_CallOperation_012.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to 1D array and index target has wrong type
+ ** @purpose  1:22.3.1, missing to clause in case of one-to-many connections
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction i
-// If the index redirection is used for single-dimensional port arrays, the type
-// of the integer variable shall allow storing the highest index of the respective array.
-module NegSem_220302_GetcallOperation_006 {
+// e) A to clause shall be present in case of one-to-many connections.
+
+module NegSem_220301_CallOperation_012 {
 
 	signature S();
 	
@@ -3800,367 +3735,324 @@ module NegSem_220302_GetcallOperation_006 {
 		inout S;
 	} with {extension "internal"}
 	
-	const integer c_portCount := 4;
-
     type component GeneralComp {
-		port P p[c_portCount];
+		port P p;
 	}
 	
-	function f() runs on GeneralComp
-	{
-		var float v_index;
-        alt
-		{
-        	[] any from p.getcall(S:{}) -> @index value v_index { 
-				if(v_index == 1.0){
-		            setverdict(pass);
-		        } else {
-		            setverdict(fail, "Index or parameter value incorrectly assigned");
-		        }
-			}
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
-		}		
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
 	}
 	
-    testcase TC_NegSem_220302_GetcallOperation_006() runs on GeneralComp system GeneralComp {
-		var GeneralComp v_ptc := GeneralComp.create;
-		for(var integer i := 0; i < c_portCount; i := i + 1) {
-			connect(self:p[i], v_ptc:p[i]);
-			if (i mod 2 > 0) { p[i].call(S:{}, nowait); }
+    testcase TC_NegSem_220301_CallOperation_012() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create;
+
+		var integer v_counter := 0;
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+
+		p.call(S:{}) { // error expected as the to clause is missing
+			[] p.getreply(S:{}) { 
+				v_counter := v_counter + 1;
+				if (v_counter < 2) {
+					repeat;
+				} else {
+					setverdict(pass, "Both replies received"); }
+				}
 		}
-		v_ptc.start(f());
-		v_ptc.done;
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_006(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_012(), 5.0);
     }
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Indices of port arrays can only be redirected to an integer, an integer array or a record of integers
+Dynamic test case error: Port p has more than one active connections. Message can be sent on it only with explicit addressing.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_007 negative test
+:h3. NegSem_220301_CallOperation_013 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_007 Verify that any from getcall index redirection for multi-D arrays requires arrays of correct size >
+<TC - 220301_013 verify that type mismatch error is issued for incorrect call timer values >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_007 NegSem_220302_GetcallOperation_007.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220301_CallOperation_013 NegSem_220301_CallOperation_013.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that any from getcall index redirection for multi-D arrays requires arrays of correct size
+ ** @purpose  1:22.3.1, verify that type mismatch error is issued for incorrect call timer values
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction j:
-// If the index redirection is used for multi-dimensional component arrays, the size 
-// of the integer array or record of integer type shall exactly be the same as the dimension 
-// of the respective array, and its type shall allow storing the highest index (from all 
-// dimensions) of the array.
-module NegSem_220302_GetcallOperation_007 {
+// g) CallTimerValue shall be of type float. 
 
-	signature S(integer p_par);
+module NegSem_220301_CallOperation_013 {
+
+	signature S();
 	
 	type port P procedure {
 		inout S;
 	} with {extension "internal"}
 	
-	const integer c_portCount := 3;
     type component GeneralComp {
-		port P p[c_portCount][c_portCount];
+		port P p;
 	}
 	
-	function f() runs on GeneralComp
-	{
-		var integer v_index[1], v_parValue;
-		var GeneralComp v_src;
-        alt
-		{
-        	[] any from p.getcall(S:{p_par := (0..c_portCount)}) -> sender v_src @index value v_index { 
-				if(v_index[0] == 1 and v_index[1] == 2 and v_parValue == v_index[0] + 1){
-		            setverdict(pass);
-		        } else {
-		            setverdict(fail, "Indices or parameter value incorrectly assigned");
-		        }				
-			}
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
-		}
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
 	}
 	
-	
-    testcase TC_NegSem_220302_GetcallOperation_007() runs on GeneralComp system GeneralComp {
-		var GeneralComp v_ptc := GeneralComp.create;
-		for(var integer i := 0; i < c_portCount; i := i + 1) {
-			for(var integer j := 0; j < c_portCount; j := j + 1) {
-				connect(self:p[i][j], v_ptc:p[i][j]);
-				if (i == 1 and j == 2 or i == 2 and j == 1) { p[i][j].call(S:{ p_par := i + 1 }, nowait); }
-			}
+    testcase TC_NegSem_220301_CallOperation_013() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, 2) {  // error expected as 2 is an integer literal
+			[] p.getreply(S:{}) {}
+			[] p.catch(timeout) {}				
 		}
-		v_ptc.start(f());
-		v_ptc.done;
+		setverdict(pass);
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_007(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_013(), 5.0);
     }
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Size of integer array is invalid: the port array has 2 dimensions, but the integer array has 1 element
-<END_RESULT>
-<RESULT COUNT 1>
-error: Array index overflow: the index value must be at most `0' instead of `1'
+error: A value or expression of type float was expected
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_008 negative test
+:h3. NegSem_220301_CallOperation_014 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_008 Verify that any from getcall index redirection for multi-D arrays requires arrays >
+<TC - 220301_014 verify that getreply signature mismatch in the response and exception handling causes an error >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_008 NegSem_220302_GetcallOperation_008.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220301_CallOperation_014 NegSem_220301_CallOperation_014.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that any from getcall index redirection for multi-D arrays requires arrays
+ ** @purpose  1:22.3.1, verify that getreply signature mismatch in the response and exception handling causes an error
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction j:
-// If the index redirection is used for multi-dimensional component arrays, the size 
-// of the integer array or record of integer type shall exactly be the same as the dimension 
-// of the respective array, and its type shall allow storing the highest index (from all 
-// dimensions) of the array.
-module NegSem_220302_GetcallOperation_008 {
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
 
-    signature S(integer p_par);
+module NegSem_220301_CallOperation_014 {
+
+	signature S1();
+	signature S2();
 	
 	type port P procedure {
-		inout S;
+		inout S1, S2;
 	} with {extension "internal"}
 	
-	const integer c_portCount := 3;
     type component GeneralComp {
-		port P p[c_portCount][c_portCount];
+		port P p;
 	}
 	
-	function f() runs on GeneralComp
-	{
-		var integer v_index, v_parValue;
-		var GeneralComp v_src;
-        alt
-		{
-        	[] any from p.getcall(S:{p_par := (0..c_portCount)}) -> param (v_parValue := p_par) sender v_src @index value v_index { 
-				if(v_index == 1 and v_parValue == v_index + 1){
-		            setverdict(pass);
-		        } else {
-		            setverdict(fail, "Indices or parameter value incorrectly assigned");
-		        }				
-			}
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
-		}
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.reply(S1:{});
 	}
 	
-    testcase TC_NegSem_220302_GetcallOperation_008() runs on GeneralComp system GeneralComp {
-		var GeneralComp v_ptc := GeneralComp.create;
-		for(var integer i := 0; i < c_portCount; i := i + 1) {
-			for(var integer j := 0; j < c_portCount; j := j + 1) {
-				connect(self:p[i][j], v_ptc:p[i][j]);
-				if (i == 1 and j == 2 or i == 2 and j == 1) { p[i][j].call(S:{ p_par := i + 1 }, nowait); }
-			}
+    testcase TC_NegSem_220301_CallOperation_014() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S1:{}) {
+			[] p.getreply(S1:{}) { setverdict(pass, "Reply accepted"); }
+			[] p.getreply(S2:{}) {} // error expected
 		}
-		v_ptc.start(f());
-		v_ptc.done;	 
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_008(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_014(), 5.0);
     }
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Indices of multi-dimensional port arrays can only be redirected to an integer array or a record of integers
+error: The `getreply' operation refers to a different signature than the previous `call' statement: `@NegSem_220301_CallOperation_014.S1' was expected instead of `@NegSem_220301_CallOperation_014.S2'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_009 negative test
+:h3. NegSem_220301_CallOperation_015 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_009 null component in the from clause of the getcall operation >
+<TC - 220301_015 verify that exception signature mismatch in the response and exception handling causes an error >
 
 <COMPILE>
-<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_009 NegSem_220302_GetcallOperation_009.ttcn >
+<MODULE TTCN NegSem_220301_CallOperation_015 NegSem_220301_CallOperation_015.ttcn >
 /*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, null component in the from clause of the getcall operation
+ ** @purpose  1:22.3.1, verify that exception signature mismatch in the response and exception handling causes an error
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
 
-module NegSem_220302_GetcallOperation_009 {
+module NegSem_220301_CallOperation_015 {
 
-	signature S();
+	signature S1() exception(integer);
+	signature S2() exception(charstring);
 	
 	type port P procedure {
-		inout S;
+		inout S1, S2;
 	} with {extension "internal"}
 	
     type component GeneralComp {
 		port P p;
 	}
 	
-	function f() runs on GeneralComp
-	{
-        var GeneralComp v_compRef := null;
-		connect(self:p, v_compRef:p);
-
-        alt {
-	        [] p.getcall(S:{}) from v_compRef { setverdict(pass, "first branch");} // error expected
-            [] p.getcall(S:{}) { setverdict(fail, "second branch"); }
-        }
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.raise(S1, 1);
 	}
 	
-    testcase TC_NegSem_220302_GetcallOperation_009() runs on GeneralComp system GeneralComp {
+    testcase TC_NegSem_220301_CallOperation_015() runs on GeneralComp system GeneralComp {
         var GeneralComp v_ptc := GeneralComp.create;
 		connect(self:p, v_ptc:p);
-		p.call(S:{}, nowait);
-		v_ptc.start(f());
-		v_ptc.done;
-        setverdict(pass);
+		v_ptc.start(f_called());
+		p.call(S1:{}) {
+			[] p.catch(S1, integer:?) { setverdict(pass, "Exception caught!"); }
+			[] p.catch(S2, charstring:?) {} // expected error
+		}
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_009(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_015(), 5.0);
     }
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-Dynamic test case error: The second argument of connect operation contains the null component reference.
+error: The `catch' operation refers to a different signature than the previous `call' statement: `@NegSem_220301_CallOperation_015.S1' was expected instead of `@NegSem_220301_CallOperation_015.S2'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_011 negative test
+:h3. NegSem_220301_CallOperation_018 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_011 applying @decoded to a forbidden field >
+<TC - 220301_018 verify that exception signature mismatch in the response and exception handling causes an error >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_011 NegSem_220302_GetcallOperation_011.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220301_CallOperation_018 NegSem_220301_CallOperation_018.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, applying @decoded to a forbidden field
+ ** @purpose  1:22.3.1, verify that non-blocking procedure calls cannot contain timeout values
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirements are tested:
-// When assigning individual fields of a message, encoded payload fields can be 
-// decoded prior to assignment using the @decoded modifier. In this case, the 
-// referenced field on the right hand sided of the assignment shall be one of the 
-// bitstring, hexstring, octetstring, charstring or universal charstring types. It 
-// shall be decoded into a value of the same type as the variable on the left hand 
-// side of the assignment.
+// l) The call operation for a non-blocking procedure shall have no response and exception 
+// handling part, shall raise no timeout exception and shall not use the nowait keyword.
 
-module NegSem_220302_GetcallOperation_011 {
-    type record of integer RoI (0..255);
-    
-	signature S(RoI p_par);
-    
+module NegSem_220301_CallOperation_018 {
+
+	signature S() noblock;
+	
 	type port P procedure {
 		inout S;
-	} with {extension "internal"}
+	}
 	
     type component GeneralComp {
 		port P p;
 	}
-    
-    function f_server() runs on GeneralComp {
-        var integer v_res;      
-        alt {
-            [] p.getcall(S: {p_par := ?} ) -> param (v_res := @decoded p_par) { 
-                setverdict (pass);
-            }
-            [] p.getcall { setverdict(fail); }
-        }        
-    }
-    
-    testcase TC_NegSem_220302_GetcallOperation_011() runs on GeneralComp system GeneralComp {
-        var GeneralComp v_ptc := GeneralComp.create("PTC");
-        connect(self:p, v_ptc:p);
-        v_ptc.start(f_server());
-        p.call(S:{ p_par := { 0, 0, 0, 0 } }, nowait);
-        v_ptc.done;
-        setverdict(pass);
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_018() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, 1.0);
+		alt {
+			[] p.getreply(S:{})
+				{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_011(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_018(), 5.0);
     }
-} with {encode "RAW"}
+}
 <END_MODULE>
 
-<RESULT COUNT>
-error: The '@decoded' modifier is only available to parameter redirects of string types.
+<RESULT COUNT 1>
+error: Operation `reply' is not applicable to non-blocking signature `@NegSem_220301_CallOperation_018.S'
+<END_RESULT>
+<RESULT COUNT 1>
+error: A call of non-blocking signature `@NegSem_220301_CallOperation_018.S' cannot have call timer
+<END_RESULT>
+<RESULT COUNT 1>
+error: Operation `getreply' is not applicable to non-blocking signature `@NegSem_220301_CallOperation_018.S'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
-
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_012 negative test
+:h3. NegSem_220301_CallOperation_019 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_012 decoding error in @decoded redirect assignment >
+<TC - 220301_019 verify that non-blocking procedure calls cannot contain nowait parameter >
 
 <COMPILE>
-<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_012 NegSem_220302_GetcallOperation_012.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220301_CallOperation_019 NegSem_220301_CallOperation_019.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, decoding error in @decoded redirect assignment
+ ** @purpose  1:22.3.1, verify that non-blocking procedure calls cannot contain nowait parameter
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirements are tested:
-// Failure of this decoding shall cause a test case error. 
+// l) The call operation for a non-blocking procedure shall have no response and exception 
+// handling part, shall raise no timeout exception and shall not use the nowait keyword.
 
-module NegSem_220302_GetcallOperation_012 {
-	signature S(charstring p_par);
+module NegSem_220301_CallOperation_019 {
 
-	type integer I with { variant "32 bit"};
-    
+	signature S() noblock;
+	
 	type port P procedure {
 		inout S;
 	} with {extension "internal"}
@@ -4168,68 +4060,61 @@ module NegSem_220302_GetcallOperation_012 {
     type component GeneralComp {
 		port P p;
 	}
-    
-    function f_server() runs on GeneralComp {
-        var I v_res;        
-        alt {
-            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded p_par) { 
-                setverdict (pass);
-            }
-            [] p.getcall { setverdict(pass); }
-        }        
-    }
 	
-    testcase TC_NegSem_220302_GetcallOperation_012() runs on GeneralComp system GeneralComp {
-        var I v_src := 1953719668;
-        var charstring v_str := oct2char(bit2oct(encvalue(v_src))) & "abcdefgij";
-
-        var GeneralComp v_ptc := GeneralComp.create("PTC");
-        connect(self:p, v_ptc:p);
-        v_ptc.start(f_server());
-
-        p.call(S:{ p_par := v_str }, nowait);
-
-        v_ptc.done;
-        setverdict(pass);
+	function f_called() runs on GeneralComp {
+		//p.getcall(S:{});
+		//p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_019() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, nowait);
+		/*alt {
+			[] p.getreply(S:{})
+				{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}*/
     }
 
     control {
-        execute(TC_NegSem_220302_GetcallOperation_012(), 5.0);
+        execute(TC_NegSem_220301_CallOperation_019(), 5.0);
     }
-} with { encode "RAW"}
+}
 <END_MODULE>
 
-<RESULT COUNT>
-Dynamic test case error: Parameter redirect \(for parameter 'p__par'\) failed, because the buffer was not empty after decoding. Remaining octets: 9.
+<RESULT COUNT 1>
+error: A call of non-blocking signature `@NegSem_220301_CallOperation_019.S' cannot use the `nowait' keyword
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_013 negative test
+:h3. NegSem_220301_CallOperation_020 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_013 invalid format value in @decoded redirect assignment >
+<TC - 220301_020 verify that calls cannot be used on disconnected ports >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_013 NegSem_220302_GetcallOperation_013.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220301_CallOperation_020 NegSem_220301_CallOperation_020.ttcn >
+/*****************************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, invalid format value in @decoded redirect assignment
+ ** @purpose  1:22.3.1, verify that calls cannot be used on disconnected ports
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirements are tested:
-// Any other value shall cause an error.
+// m) Applying a call operation to an unmapped or disconnected port shall cause a test 
+// case error.
 
-module NegSem_220302_GetcallOperation_013 {
-	signature S(universal charstring p_par);
+module NegSem_220301_CallOperation_020 {
 
-	type integer I with { variant "32 bit"};
-    
+	signature S() noblock;
+	
 	type port P procedure {
 		inout S;
 	} with {extension "internal"}
@@ -4237,398 +4122,1967 @@ module NegSem_220302_GetcallOperation_013 {
     type component GeneralComp {
 		port P p;
 	}
-    
-    function f_server() runs on GeneralComp {
-        var I v_res;        
-        alt {
-            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded("proprietary") p_par) { 
-                setverdict(pass);
-            }
-            [] p.getcall { setverdict(pass); }
-        }        
+		
+    testcase TC_NegSem_220301_CallOperation_020() runs on GeneralComp system GeneralComp {
+		p.call(S:{});
     }
-	
-    testcase TC_NegSem_220302_GetcallOperation_013() runs on GeneralComp system GeneralComp {
-        var I v_src := 1953719668;
-        var universal charstring v_str := encvalue_unichar(v_src);
 
-        var GeneralComp v_ptc := GeneralComp.create("PTC");
+    control {
+        execute(TC_NegSem_220301_CallOperation_020(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: Port p has neither connections nor mappings. Message cannot be sent on it.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_220301_CallOperation_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220301_001 verify that the response and exception handling part cannot contain an else clause >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_220301_CallOperation_001 NegSyn_220301_CallOperation_001.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that the response and exception handling part cannot contain an else clause
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The use of else branches and the invocation of altsteps is not allowed.
+
+module NegSyn_220301_CallOperation_001 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSyn_220301_CallOperation_001() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[] p.getreply(S:{}) { setverdict(pass); }
+			[else] {} // expected error
+		}
+    }
+
+    control {
+        execute(TC_NegSyn_220301_CallOperation_001(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `else': syntax error, unexpected ElseKeyword
+<END_RESULT>
+<RESULT COUNT 1>
+error: at or before token `control': syntax error, unexpected ControlKeyword, expecting \$end
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_220301_CallOperation_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220301_002 verify that the response and exception handling part cannot contain an altstep >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_220301_CallOperation_002 NegSyn_220301_CallOperation_002.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that the response and exception handling part cannot contain an altstep
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The use of else branches and the invocation of altsteps is not allowed.
+
+module NegSyn_220301_CallOperation_002 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+	altstep a_handleReply() runs on GeneralComp {
+		[] p.getreply {}
+	}
+	
+    testcase TC_NegSyn_220301_CallOperation_002() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[] p.getreply(S:{}) { setverdict(pass); }
+			[] a_handleReply() {} // expected error
+		}
+    }
+
+    control {
+        execute(TC_NegSyn_220301_CallOperation_002(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `\(': syntax error, unexpected '\(', expecting DotCatchOpKeyword or DotGetReplyOpKeyword
+<END_RESULT>
+<RESULT COUNT 1>
+error: at or before token `control': syntax error, unexpected ControlKeyword, expecting \$end
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_001 Ensure that getcall operations are only used on procedure based ports  >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_001 NegSem_220302_GetcallOperation_001.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Ensure that getcall operations are only used on procedure based ports 
+ ** @verdict  pass reject
+ ***************************************************/
+
+module NegSem_220302_GetcallOperation_001 {
+
+    type port loopbackPort message {
+        inout integer
+    } with {extension "internal"}
+	
+    type component GeneralComp {
+        port loopbackPort messagePort
+    }
+
+    testcase TC_NegSem_220302_GetcallOperation_001() runs on GeneralComp {
+
+		connect(self:messagePort, self:messagePort);
+
+        messagePort.send(2);
+
+        alt {
+            [] messagePort.getcall {		//cannot use getcall on a message based port
+                setverdict(pass);
+            }
+            [] messagePort.receive {
+                setverdict(fail);
+            }
+        }
+    }
+
+    control{
+        execute(TC_NegSem_220302_GetcallOperation_001());
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Procedure-based operation `getcall' is not applicable to a message-based port of type `@NegSem_220302_GetcallOperation_001.loopbackPort'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_002 Ensure that getcall operation does not allow value assignment >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_002 NegSem_220302_GetcallOperation_002.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Ensure that getcall operation does not allow value assignment
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_220302_GetcallOperation_002 {
+
+    /**
+    * @desc testing of inline return template for remote procedure call
+    * @param p_par1 only input parameter
+    * @param p_par2 must have value 4 at return
+    * @param p_par3 must have value 5 at return
+    * @return must return value 1
+    */
+    signature p_NegSem_220302_GetcallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer;
+
+    template p_NegSem_220302_GetcallOperation_002 s_returnTemplate := {
+        p_par1 := 0, // p_par1 := -, core dump
+        p_par2 := 4,
+        p_par3 := 5
+    }
+
+    template p_NegSem_220302_GetcallOperation_002 s_wrongTemplate := {
+        p_par1 := 0, // p_par1 := -, core dump
+        p_par2 := 2,
+        p_par3 := 3
+    }
+
+    template p_NegSem_220302_GetcallOperation_002 s_callTemplate := {
+        p_par1 := 1,
+        p_par2 := 0, // p_par2 := -, core dump
+        p_par3 := 3
+    }
+
+    type port remotePort procedure {
+        inout p_NegSem_220302_GetcallOperation_002;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port remotePort PCO;
+    } 
+
+    function f_ClientQuery() runs on GeneralComp {
+	  	var integer v_zero:=0;
+	  	var integer v_one:=1;
+	
+        PCO.call(p_NegSem_220302_GetcallOperation_002:s_callTemplate, 5.0) {
+	
+            [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_wrongTemplate value 1) {
+                setverdict(fail);
+            }
+            [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 2) {
+                setverdict(fail);
+            }
+            [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 1) 				{ //check that boolean guard is correctly evaluated
+                setverdict(pass);
+            }
+            [] PCO.catch (timeout) {
+                setverdict(fail);
+            }
+        }
+    }
+
+    function f_ServerResponses() runs on GeneralComp {
+	
+		var integer v_par1;
+		var integer v_par3;
+		var integer v_return;
+		timer t_timeout:=30.0;
+
+ 		template p_NegSem_220302_GetcallOperation_002 s_acceptTemplate := {
+        	p_par1 := ?,
+        	p_par2 := ?,
+        	p_par3 := ?
+    	};
+
+			
+		t_timeout.start;
+	
+		alt {
+     		[] PCO.getcall(p_NegSem_220302_GetcallOperation_001:s_acceptTemplate) -> value v_return { 
+				//not allowed assignment
+      		}
+      		[] t_timeout.timeout {
+      		}
+	 	}	
+	 
+    }
+
+	
+	testcase TC_NegSem_220302_GetcallOperation_002() runs on GeneralComp system GeneralComp {
+       	var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
+       	var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
+       	timer t_wait:=1.0;
+       
+
+       connect(server:PCO, client:PCO);
+
+       server.start(f_ServerResponses());
+       client.start(f_ClientQuery());
+
+       alt {
+           [] client.done {
+             t_wait.start;
+             while(t_wait.running) {	
+				//this gives a chance for server to still test for second getcall match
+             }
+               server.stop;
+           }
+       }
+
+       alt {
+           [] all component.done {}
+       }
+
+       disconnect(server:PCO, client:PCO);
+   }
+
+    control{
+        execute(TC_NegSem_220302_GetcallOperation_002());
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: at or before token `value': syntax error, unexpected ValueKeyword, expecting ParamKeyword or SenderKeyword
+<END_RESULT>
+<RESULT COUNT 1>
+error: at or before token `testcase': syntax error, unexpected TestcaseKeyword, expecting \$end
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_003 Ensure that getcall for any call does not allow param assignment >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_003 NegSem_220302_GetcallOperation_003.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Ensure that getcall for any call does not allow param assignment
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_220302_GetcallOperation_003 {
+
+    /**
+    * @desc testing of inline return template for remote procedure call
+    * @param p_par1 only input parameter
+    * @param p_par2 must have value 4 at return
+    * @param p_par3 must have value 5 at return
+    * @return must return value 1
+    */
+    signature p_NegSem_220302_GetcallOperation_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer;
+
+    template p_NegSem_220302_GetcallOperation_003 s_returnTemplate := {
+        p_par1 := 0, // p_par1 := -, core dump
+        p_par2 := 4,
+        p_par3 := 5
+    }
+
+    template p_NegSem_220302_GetcallOperation_003 s_wrongTemplate := {
+        p_par1 := 0, // p_par1 := -, core dump
+        p_par2 := 2,
+        p_par3 := 3
+    }
+
+    template p_NegSem_220302_GetcallOperation_003 s_callTemplate := {
+        p_par1 := 1,
+        p_par2 := 0, // p_par2 := -, core dump
+        p_par3 := 3
+    }
+
+    type port remotePort procedure {
+        inout p_NegSem_220302_GetcallOperation_003;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port remotePort PCO;
+    }
+
+    function f_ClientQuery() runs on GeneralComp {
+	  var integer v_zero:=0;
+	  var integer v_one:=1;
+	
+        PCO.call(p_NegSem_220302_GetcallOperation_003:s_callTemplate, 5.0) {
+	
+            [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_wrongTemplate value 1) {
+                setverdict(fail);
+            }
+            [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 2) {
+                setverdict(fail);
+            }
+            [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 1) {		//check that boolean guard is correctly evaluated
+                setverdict(pass);
+            }
+            [] PCO.catch (timeout) {
+                setverdict(fail);
+            }
+        }
+    }
+
+    function f_ServerResponses() runs on GeneralComp {
+	
+		var integer v_par1;
+		var integer v_par3;
+		timer t_timeout:=30.0;
+
+ 		template p_NegSem_220302_GetcallOperation_003 s_acceptTemplate := {
+        	p_par1 := ?,
+        	p_par2 := ?,
+        	p_par3 := ?
+    	};
+
+			
+		t_timeout.start;
+	
+	 	alt {
+      		[] PCO.getcall -> param(v_par1, v_par3) {  //not allowed param assignment for any call
+      		}
+      		[] t_timeout.timeout {
+      		}
+	 	}
+	 
+    }
+
+	
+	testcase TC_NegSem_220302_GetcallOperation_003() runs on GeneralComp system GeneralComp {
+       	var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
+       	var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
+       	timer t_wait:=1.0;
+       
+       // map the PTCs to the system port
+       connect(server:PCO, client:PCO);
+
+       server.start(f_ServerResponses());
+       client.start(f_ClientQuery());
+
+       alt {
+           [] client.done {
+             t_wait.start;
+             while(t_wait.running) {	
+				//this gives a chance for server to still test for second getcall match
+             }
+               server.stop;
+           }
+       }
+
+       alt {
+           [] all component.done {}
+       }
+
+       disconnect(server:PCO, client:PCO);
+   }
+
+    control{
+        execute(TC_NegSem_220302_GetcallOperation_003());
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Parameter redirect cannot be used without signature template
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_004 Verify that error occurs when any from getcall is applied to single port >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_004 NegSem_220302_GetcallOperation_004.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to single port
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction g 
+// The PortArrayRef shall be a reference to a port array variable identifier.
+module NegSem_220302_GetcallOperation_004 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var integer v_index;
+        alt
+		{
+        	[] any from p.getcall { setverdict(pass); }
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason"); } 
+		}		
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_004() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait);
+		v_ptc.start(f());
+		v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_004(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Reference to a port array was expected instead of a port
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_005 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_005 Verify that error occurs when any from getcall is applied to 1D array and index target is array >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_005 NegSem_220302_GetcallOperation_005.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to 1D array and index target is array
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction i
+// If the index redirection is used for single-dimensional port arrays, the type
+// of the integer variable shall allow storing the highest index of the respective array.
+module NegSem_220302_GetcallOperation_005 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	}
+	
+	const integer c_portCount := 4;
+
+    type component GeneralComp {
+		port P p[c_portCount];
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var integer v_index[1];
+        alt
+		{
+        	[] any from p.getcall(S:{}) -> @index value v_index { 
+				if(v_index[0] == 1){
+		            setverdict(pass);
+		        } else {
+		            setverdict(fail, "Index or parameter value incorrectly assigned");
+		        }
+			}
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
+		}		
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_005() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		for(var integer i := 0; i < c_portCount; i := i + 1) {
+			connect(self:p[i], v_ptc:p[i]);
+			if (i mod 2 > 0) { p[i].call(S:{}, nowait); }
+		}
+		v_ptc.start(f());
+		v_ptc.done;	    
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_005(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Indices of one-dimensional port arrays can only be redirected to an integer
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_006 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_006 Verify that error occurs when any from getcall is applied to 1D array and index target has wrong type >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_006 NegSem_220302_GetcallOperation_006.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that error occurs when any from getcall is applied to 1D array and index target has wrong type
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction i
+// If the index redirection is used for single-dimensional port arrays, the type
+// of the integer variable shall allow storing the highest index of the respective array.
+module NegSem_220302_GetcallOperation_006 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+	const integer c_portCount := 4;
+
+    type component GeneralComp {
+		port P p[c_portCount];
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var float v_index;
+        alt
+		{
+        	[] any from p.getcall(S:{}) -> @index value v_index { 
+				if(v_index == 1.0){
+		            setverdict(pass);
+		        } else {
+		            setverdict(fail, "Index or parameter value incorrectly assigned");
+		        }
+			}
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
+		}		
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_006() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		for(var integer i := 0; i < c_portCount; i := i + 1) {
+			connect(self:p[i], v_ptc:p[i]);
+			if (i mod 2 > 0) { p[i].call(S:{}, nowait); }
+		}
+		v_ptc.start(f());
+		v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_006(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Indices of port arrays can only be redirected to an integer, an integer array or a record of integers
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_007 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_007 Verify that any from getcall index redirection for multi-D arrays requires arrays of correct size >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_007 NegSem_220302_GetcallOperation_007.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that any from getcall index redirection for multi-D arrays requires arrays of correct size
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction j:
+// If the index redirection is used for multi-dimensional component arrays, the size 
+// of the integer array or record of integer type shall exactly be the same as the dimension 
+// of the respective array, and its type shall allow storing the highest index (from all 
+// dimensions) of the array.
+module NegSem_220302_GetcallOperation_007 {
+
+	signature S(integer p_par);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+	const integer c_portCount := 3;
+    type component GeneralComp {
+		port P p[c_portCount][c_portCount];
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var integer v_index[1], v_parValue;
+		var GeneralComp v_src;
+        alt
+		{
+        	[] any from p.getcall(S:{p_par := (0..c_portCount)}) -> sender v_src @index value v_index { 
+				if(v_index[0] == 1 and v_index[1] == 2 and v_parValue == v_index[0] + 1){
+		            setverdict(pass);
+		        } else {
+		            setverdict(fail, "Indices or parameter value incorrectly assigned");
+		        }				
+			}
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
+		}
+	}
+	
+	
+    testcase TC_NegSem_220302_GetcallOperation_007() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		for(var integer i := 0; i < c_portCount; i := i + 1) {
+			for(var integer j := 0; j < c_portCount; j := j + 1) {
+				connect(self:p[i][j], v_ptc:p[i][j]);
+				if (i == 1 and j == 2 or i == 2 and j == 1) { p[i][j].call(S:{ p_par := i + 1 }, nowait); }
+			}
+		}
+		v_ptc.start(f());
+		v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_007(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Size of integer array is invalid: the port array has 2 dimensions, but the integer array has 1 element
+<END_RESULT>
+<RESULT COUNT 1>
+error: Array index overflow: the index value must be at most `0' instead of `1'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_008 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_008 Verify that any from getcall index redirection for multi-D arrays requires arrays >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_008 NegSem_220302_GetcallOperation_008.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that any from getcall index redirection for multi-D arrays requires arrays
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction j:
+// If the index redirection is used for multi-dimensional component arrays, the size 
+// of the integer array or record of integer type shall exactly be the same as the dimension 
+// of the respective array, and its type shall allow storing the highest index (from all 
+// dimensions) of the array.
+module NegSem_220302_GetcallOperation_008 {
+
+    signature S(integer p_par);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+	const integer c_portCount := 3;
+    type component GeneralComp {
+		port P p[c_portCount][c_portCount];
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var integer v_index, v_parValue;
+		var GeneralComp v_src;
+        alt
+		{
+        	[] any from p.getcall(S:{p_par := (0..c_portCount)}) -> param (v_parValue := p_par) sender v_src @index value v_index { 
+				if(v_index == 1 and v_parValue == v_index + 1){
+		            setverdict(pass);
+		        } else {
+		            setverdict(fail, "Indices or parameter value incorrectly assigned");
+		        }				
+			}
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason");  } 
+		}
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_008() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		for(var integer i := 0; i < c_portCount; i := i + 1) {
+			for(var integer j := 0; j < c_portCount; j := j + 1) {
+				connect(self:p[i][j], v_ptc:p[i][j]);
+				if (i == 1 and j == 2 or i == 2 and j == 1) { p[i][j].call(S:{ p_par := i + 1 }, nowait); }
+			}
+		}
+		v_ptc.start(f());
+		v_ptc.done;	 
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_008(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Indices of multi-dimensional port arrays can only be redirected to an integer array or a record of integers
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_009 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_009 null component in the from clause of the getcall operation >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_009 NegSem_220302_GetcallOperation_009.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, null component in the from clause of the getcall operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
+
+module NegSem_220302_GetcallOperation_009 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        var GeneralComp v_compRef := null;
+		connect(self:p, v_compRef:p);
+
+        alt {
+	        [] p.getcall(S:{}) from v_compRef { setverdict(pass, "first branch");} // error expected
+            [] p.getcall(S:{}) { setverdict(fail, "second branch"); }
+        }
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait);
+		v_ptc.start(f());
+		v_ptc.done;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_009(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: The second argument of connect operation contains the null component reference.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_011 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_011 applying @decoded to a forbidden field >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_011 NegSem_220302_GetcallOperation_011.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, applying @decoded to a forbidden field
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// When assigning individual fields of a message, encoded payload fields can be 
+// decoded prior to assignment using the @decoded modifier. In this case, the 
+// referenced field on the right hand sided of the assignment shall be one of the 
+// bitstring, hexstring, octetstring, charstring or universal charstring types. It 
+// shall be decoded into a value of the same type as the variable on the left hand 
+// side of the assignment.
+
+module NegSem_220302_GetcallOperation_011 {
+    type record of integer RoI (0..255);
+    
+	signature S(RoI p_par);
+    
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+    
+    function f_server() runs on GeneralComp {
+        var integer v_res;      
+        alt {
+            [] p.getcall(S: {p_par := ?} ) -> param (v_res := @decoded p_par) { 
+                setverdict (pass);
+            }
+            [] p.getcall { setverdict(fail); }
+        }        
+    }
+    
+    testcase TC_NegSem_220302_GetcallOperation_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{ p_par := { 0, 0, 0, 0 } }, nowait);
+        v_ptc.done;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_011(), 5.0);
+    }
+} with {encode "RAW"}
+<END_MODULE>
+
+<RESULT COUNT>
+error: The '@decoded' modifier is only available to parameter redirects of string types.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_012 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_012 decoding error in @decoded redirect assignment >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_012 NegSem_220302_GetcallOperation_012.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, decoding error in @decoded redirect assignment
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// Failure of this decoding shall cause a test case error. 
+
+module NegSem_220302_GetcallOperation_012 {
+	signature S(charstring p_par);
+
+	type integer I with { variant "32 bit"};
+    
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+    
+    function f_server() runs on GeneralComp {
+        var I v_res;        
+        alt {
+            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded p_par) { 
+                setverdict (pass);
+            }
+            [] p.getcall { setverdict(pass); }
+        }        
+    }
+	
+    testcase TC_NegSem_220302_GetcallOperation_012() runs on GeneralComp system GeneralComp {
+        var I v_src := 1953719668;
+        var charstring v_str := oct2char(bit2oct(encvalue(v_src))) & "abcdefgij";
+
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+
+        p.call(S:{ p_par := v_str }, nowait);
+
+        v_ptc.done;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_012(), 5.0);
+    }
+} with { encode "RAW"}
+<END_MODULE>
+
+<RESULT COUNT>
+Dynamic test case error: Parameter redirect \(for parameter 'p__par'\) failed, because the buffer was not empty after decoding. Remaining octets: 9.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_013 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_013 invalid format value in @decoded redirect assignment >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_013 NegSem_220302_GetcallOperation_013.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, invalid format value in @decoded redirect assignment
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// Any other value shall cause an error.
+
+module NegSem_220302_GetcallOperation_013 {
+	signature S(universal charstring p_par);
+
+	type integer I with { variant "32 bit"};
+    
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+    
+    function f_server() runs on GeneralComp {
+        var I v_res;        
+        alt {
+            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded("proprietary") p_par) { 
+                setverdict(pass);
+            }
+            [] p.getcall { setverdict(pass); }
+        }        
+    }
+	
+    testcase TC_NegSem_220302_GetcallOperation_013() runs on GeneralComp system GeneralComp {
+        var I v_src := 1953719668;
+        var universal charstring v_str := encvalue_unichar(v_src);
+
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+
+        p.call(S:{ p_par := v_str }, nowait);
+        v_ptc.done;
+
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_013(), 5.0);
+    }
+} with { encode "RAW"}
+<END_MODULE>
+
+<RESULT COUNT >
+error: 'proprietary' is not a valid encoding format
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_014 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_014 value of wrong type in @decoded redirect assignment >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_014 NegSem_220302_GetcallOperation_014.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, value of wrong type in @decoded redirect assignment
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// Any other value shall cause an error.
+
+module NegSem_220302_GetcallOperation_014 {
+	signature S(universal charstring p_par);
+
+	type integer I with { variant "32 bit"};
+    
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+    
+    function f_server() runs on GeneralComp {
+        var I v_res, v_enc := 32;        
+        alt {
+            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded(v_enc) p_par) { 
+                setverdict (pass);
+            }
+            [] p.getcall { setverdict(pass); }
+        }        
+    }
+	
+    testcase TC_NegSem_220302_GetcallOperation_014() runs on GeneralComp system GeneralComp {
+        var I v_src := 1953719668;
+        var universal charstring v_str := encvalue_unichar(v_src);
+
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+
+        p.call(S:{ p_par := v_str }, nowait);
+        v_ptc.done;
+
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_014(), 5.0);
+    }
+}  with { encode "RAW"}
+<END_MODULE>
+
+<RESULT COUNT >
+error: Type mismatch: a value of type `charstring' was expected instead of `integer'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_015 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_015 encoding parameter of @decoded redirect assignment applied to incorrect type >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_015 NegSem_220302_GetcallOperation_015.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, encoding parameter of @decoded redirect assignment applied to incorrect type
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case the referenced field is not a universal charstring, the optional
+// parameter shall not be present.
+
+module NegSem_220302_GetcallOperation_015 {
+	signature S(octetstring p_par);
+
+	type charstring CS with { variant ""};
+    
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	} 
+    
+    function f_server() runs on GeneralComp {
+        var CS v_res;        
+        alt {
+            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded("UTF-8") p_par) { 
+                setverdict(pass);
+            }
+            [] p.getcall { setverdict(pass); }
+        }        
+    }
+	
+    testcase TC_NegSem_220302_GetcallOperation_015() runs on GeneralComp system GeneralComp {
+        var CS v_src := "abc";
+        var octetstring v_os := bit2oct(encvalue(v_src));
+
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+
+        p.call(S:{ p_par := v_os }, nowait);
+        v_ptc.done;
+
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_015(), 5.0);
+    }
+} with { encode "RAW"}
+<END_MODULE>
+
+<RESULT COUNT >
+error: The encoding formal parameter for the '@decoded' modifier is only available to parameter redirects of universal charstrings
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220302_GetcallOperation_016 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_016 incompatible from and sender clause in getcall operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220302_GetcallOperation_016 NegSem_220302_GetcallOperation_016.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, incompatible from and sender clause in getcall operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// If the getcall operation contains both from and sender clause, the variable or parameter 
+// referenced in the sender clause shall be type compatible with the template in the from 
+// clause.
+
+module NegSem_220302_GetcallOperation_016 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+        var integer vc_int;
+		port P p;
+	}
+    
+    type component AltComp {
+		var charstring vc_str;
+        port P px;
+	}
+	
+	function f() runs on GeneralComp {
+        var GeneralComp v_compRef := null;
+        alt {
+	        [] p.getcall(S:{}) from AltComp:? -> sender v_compRef { } // error expected
+            [] p.getcall(S:{}) { }
+        }
+        setverdict (pass);
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_016() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait);
+		v_ptc.start(f());
+		v_ptc.done;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_016(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: The types in `from' clause and `sender' redirect are not the same: `@NegSem_220302_GetcallOperation_016.AltComp' was expected instead of `@NegSem_220302_GetcallOperation_016.GeneralComp'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSyn_220302_GetcallOperation_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220302_001 Verify that error occurs when using index redirection in port.getcall operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSyn_220302_GetcallOperation_001 NegSyn_220302_GetcallOperation_001.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, Verify that error occurs when using index redirection in port.getcall operation
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+// Restriction h
+// The index redirection shall only be used when the operation is used on an any from 
+// port array construct.
+module NegSyn_220302_GetcallOperation_001 {
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+		var integer v_index;
+        alt
+		{
+        	[] p.getcall -> @index value v_index { setverdict(pass); }
+			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason"); } 
+		}		
+	}
+	
+    testcase TC_NegSyn_220302_GetcallOperation_001() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait);
+		v_ptc.start(f());
+		v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSyn_220302_GetcallOperation_001(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Index redirect cannot be used without the 'any from' clause
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220303_ReplyOperation_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220303_001 Ensure that reply operations are only used on procedure based ports >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220303_ReplyOperation_001 NegSem_220303_ReplyOperation_001.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, Ensure that reply operations are only used on procedure based ports 
+ ** @verdict  pass reject
+ ***************************************************/
+
+module NegSem_220303_ReplyOperation_001 { 
+
+    type port loopbackPort message {
+	  	inout integer
+	} with {extension "internal"}
+	
+
+	type component GeneralComp {	    	    
+	  	port loopbackPort messagePort
+	}	
+
+	testcase TC_NegSem_220303_ReplyOperation_001() runs on GeneralComp {
+
+		connect(self:messagePort, self:messagePort);
+
+ 		messagePort.send(2);  
+
+    	alt {
+     		[] messagePort.receive(2) {	 
+        		messagePort.reply(3);		//cannot use reply on a message based port
+        		setverdict(pass);
+     		}
+     		[] messagePort.receive {
+        		setverdict(fail);
+     		}
+    	}
+	}
+
+	control{
+		execute(TC_NegSem_220303_ReplyOperation_001());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: Procedure-based operation `reply' is not applicable to a message-based port of type `@NegSem_220303_ReplyOperation_001.loopbackPort'
+<END_RESULT>
+<RESULT COUNT 1>
+error: The type of parameter is `integer', which is not a signature
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220303_ReplyOperation_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220303_002 null component in the to clause of the reply operation >
+
+<COMPILE>
+<EXECUTE_PARALLEL>
+
+<MODULE TTCN NegSem_220303_ReplyOperation_002 NegSem_220303_ReplyOperation_002.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, null component in the to clause of the reply operation
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
+
+module NegSem_220303_ReplyOperation_002 { 
+
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+        var GeneralComp v_compRef := null;
+		connect(self:p, v_compRef:p);
+        p.getcall(S:{});
+        p.reply(S:{}) to v_compRef;
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_002() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
         connect(self:p, v_ptc:p);
         v_ptc.start(f_server());
+        p.call(S:{}, 1.0) {
+            [] p.getreply(S:{}) { }
+            [] p.catch(timeout) { }
+        }
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_002(), 5.0);
+    }
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+Dynamic test case error: The second argument of connect operation contains the null component reference.
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_220303_ReplyOperation_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220303_004 null component in the to clause of the reply operation >
 
-        p.call(S:{ p_par := v_str }, nowait);
-        v_ptc.done;
+<COMPILE>
+
+<MODULE TTCN NegSem_220303_ReplyOperation_004 NegSem_220303_ReplyOperation_004.ttcn >
+/***************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that reply operation cannot be used on a message port
+ ** @verdict  pass reject
+ ***************************************************/
 
+// The following requirements are tested:
+// a) A reply operation shall only be used at a procedure-based port.
+
+module NegSem_220303_ReplyOperation_004 { 
+
+    signature S() return integer;
+
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_004() runs on GeneralComp {
+        p.reply(S:{} value 1);
         setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_013(), 5.0);
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_004(), 5.0);
     }
-} with { encode "RAW"}
+
+}
 <END_MODULE>
 
-<RESULT COUNT >
-error: 'proprietary' is not a valid encoding format
+<RESULT COUNT 1>
+error: Procedure-based operation `reply' is not applicable to a message-based port of type `@NegSem_220303_ReplyOperation_004.P'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_014 negative test
+:h3. NegSem_220303_ReplyOperation_005 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_014 value of wrong type in @decoded redirect assignment >
+<TC - 220303_005 verify that signature not listed in the port definition cannot be used in the reply operation >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_014 NegSem_220302_GetcallOperation_014.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220303_ReplyOperation_005 NegSem_220303_ReplyOperation_005.ttcn >
+/***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, value of wrong type in @decoded redirect assignment
+ ** @purpose  1:22.3.3, verify that signature not listed in the port definition cannot be used in the reply operation
  ** @verdict  pass reject
- *****************************************************************/
+ ***************************************************/
 
 // The following requirements are tested:
-// Any other value shall cause an error.
+// The type definition of the port shall include the name of the procedure 
+// to which the reply operation belongs. 
 
-module NegSem_220302_GetcallOperation_014 {
-	signature S(universal charstring p_par);
+module NegSem_220303_ReplyOperation_005 { 
+
+    signature S();
+	signature SNotListed();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
 
-	type integer I with { variant "32 bit"};
-    
-	type port P procedure {
-		inout S;
-	} with {extension "internal"}
-	
     type component GeneralComp {
-		port P p;
-	}
-    
-    function f_server() runs on GeneralComp {
-        var I v_res, v_enc := 32;        
-        alt {
-            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded(v_enc) p_par) { 
-                setverdict (pass);
-            }
-            [] p.getcall { setverdict(pass); }
-        }        
+        port P p;
     }
-	
-    testcase TC_NegSem_220302_GetcallOperation_014() runs on GeneralComp system GeneralComp {
-        var I v_src := 1953719668;
-        var universal charstring v_str := encvalue_unichar(v_src);
 
-        var GeneralComp v_ptc := GeneralComp.create("PTC");
+    function f_server() runs on GeneralComp {
+        p.getcall;
+        p.reply(SNotListed:{});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_005() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
         connect(self:p, v_ptc:p);
         v_ptc.start(f_server());
-
-        p.call(S:{ p_par := v_str }, nowait);
-        v_ptc.done;
-
+        p.call(S:{}, nowait);
+		alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
         setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_014(), 5.0);
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_005(), 5.0);
     }
-}  with { encode "RAW"}
+
+}
 <END_MODULE>
 
-<RESULT COUNT >
-error: Type mismatch: a value of type `charstring' was expected instead of `integer'
+<RESULT COUNT 1>
+error: Incompatible explicit type specification: `@NegSem_220303_ReplyOperation_005.S' was expected instead of `@NegSem_220303_ReplyOperation_005.SNotListed'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_015 negative test
+:h3. NegSem_220303_ReplyOperation_006 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_015 encoding parameter of @decoded redirect assignment applied to incorrect type >
+<TC - 220303_006 verify that matching symbols cannot be used in out signature parameters in reply operations >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_015 NegSem_220302_GetcallOperation_015.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220303_ReplyOperation_006 NegSem_220303_ReplyOperation_006.ttcn >
+/***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, encoding parameter of @decoded redirect assignment applied to incorrect type
+ ** @purpose  1:22.3.3, verify that matching symbols cannot be used in out signature parameters in reply operations
  ** @verdict  pass reject
- *****************************************************************/
+ ***************************************************/
 
 // The following requirements are tested:
-// In case the referenced field is not a universal charstring, the optional
-// parameter shall not be present.
+// b) All out and inout parameters of the signature shall have a specific value i.e. 
+// the use of matching mechanisms such as AnyValue is not allowed.
 
-module NegSem_220302_GetcallOperation_015 {
-	signature S(octetstring p_par);
+module NegSem_220303_ReplyOperation_006 { 
 
-	type charstring CS with { variant ""};
-    
-	type port P procedure {
-		inout S;
-	} with {extension "internal"}
+	type record R {
+		integer field1,
+		integer field2
+	}
 	
+    signature S(out R par1);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
     type component GeneralComp {
-		port P p;
-	} 
-    
-    function f_server() runs on GeneralComp {
-        var CS v_res;        
-        alt {
-            [] p.getcall(S:{ p_par := ?}) -> param (v_res := @decoded("UTF-8") p_par) { 
-                setverdict(pass);
-            }
-            [] p.getcall { setverdict(pass); }
-        }        
+        port P p;
     }
-	
-    testcase TC_NegSem_220302_GetcallOperation_015() runs on GeneralComp system GeneralComp {
-        var CS v_src := "abc";
-        var octetstring v_os := bit2oct(encvalue(v_src));
 
+    function f_server() runs on GeneralComp {
+		var template R v_rec := { field1 := 0, field2 := ? };
+        p.getcall(S:{-});
+        p.reply(S:{par1 := v_rec});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_006() runs on GeneralComp system GeneralComp {
         var GeneralComp v_ptc := GeneralComp.create("PTC");
         connect(self:p, v_ptc:p);
         v_ptc.start(f_server());
-
-        p.call(S:{ p_par := v_os }, nowait);
-        v_ptc.done;
-
+        p.call(S:{-}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
         setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_015(), 5.0);
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_006(), 5.0);
     }
-} with { encode "RAW"}
+
+}
 <END_MODULE>
 
-<RESULT COUNT >
-error: The encoding formal parameter for the '@decoded' modifier is only available to parameter redirects of universal charstrings
+<RESULT COUNT 1>
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220302_GetcallOperation_016 negative test
+:h3. NegSem_220303_ReplyOperation_007 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_016 incompatible from and sender clause in getcall operation >
+<TC - 220303_007 verify that matching symbols cannot be used in inout signature parameters in reply operations >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220302_GetcallOperation_016 NegSem_220302_GetcallOperation_016.ttcn >
-/*****************************************************************
+<MODULE TTCN NegSem_220303_ReplyOperation_007 NegSem_220303_ReplyOperation_007.ttcn >
+/***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, incompatible from and sender clause in getcall operation
+ ** @purpose  1:22.3.3, verify that matching symbols cannot be used in inout signature parameters in reply operations
  ** @verdict  pass reject
- *****************************************************************/
+ ***************************************************/
 
 // The following requirements are tested:
-// If the getcall operation contains both from and sender clause, the variable or parameter 
-// referenced in the sender clause shall be type compatible with the template in the from 
-// clause.
+// b) All out and inout parameters of the signature shall have a specific value i.e. 
+// the use of matching mechanisms such as AnyValue is not allowed.
 
-module NegSem_220302_GetcallOperation_016 {
+module NegSem_220303_ReplyOperation_007 { 
 
-	signature S();
-	
-	type port P procedure {
-		inout S;
-	} with {extension "internal"}
+	type record R {
+		integer field1,
+		integer field2
+	}
 	
+    signature S(inout R par1);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
     type component GeneralComp {
-        var integer vc_int;
-		port P p;
-	}
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var template R v_rec := { field1 := 0, field2 := ? }
+        p.getcall(S:{par1 := {field1 := 0, field2 := 5}});
+        p.reply(S:{par1 := v_rec});
+    }
     
-    type component AltComp {
-		var charstring vc_str;
-        port P px;
-	}
-	
-	function f() runs on GeneralComp {
-        var GeneralComp v_compRef := null;
+    testcase TC_NegSem_220303_ReplyOperation_007() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{par1 := {field1 := 0, field2 := 5} }, nowait);
         alt {
-	        [] p.getcall(S:{}) from AltComp:? -> sender v_compRef { } // error expected
-            [] p.getcall(S:{}) { }
-        }
-        setverdict (pass);
-	}
-	
-    testcase TC_NegSem_220302_GetcallOperation_016() runs on GeneralComp system GeneralComp {
-        var GeneralComp v_ptc := GeneralComp.create;
-		connect(self:p, v_ptc:p);
-		p.call(S:{}, nowait);
-		v_ptc.start(f());
-		v_ptc.done;
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
         setverdict(pass);
     }
 
-    control {
-        execute(TC_NegSem_220302_GetcallOperation_016(), 5.0);
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_007(), 5.0);
     }
+
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: The types in `from' clause and `sender' redirect are not the same: `@NegSem_220302_GetcallOperation_016.AltComp' was expected instead of `@NegSem_220302_GetcallOperation_016.GeneralComp'
+Dynamic test case error: Performing a valueof or send operation on a non-specific integer template.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSyn_220302_GetcallOperation_001 negative test
+:h3. NegSem_220303_ReplyOperation_008 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220302_001 Verify that error occurs when using index redirection in port.getcall operation >
+<TC - 220303_008 verify that error is issued for a missing to clause in a reply operation in case of one-to-many connections >
 
 <COMPILE>
+<EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSyn_220302_GetcallOperation_001 NegSyn_220302_GetcallOperation_001.ttcn >
-/******************************************************************************
+<MODULE TTCN NegSem_220303_ReplyOperation_008 NegSem_220303_ReplyOperation_008.ttcn >
+/***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.2, Verify that error occurs when using index redirection in port.getcall operation
+ ** @purpose  1:22.3.3, verify that error is issued for a missing to clause in a reply operation in case of one-to-many connections
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// Restriction h
-// The index redirection shall only be used when the operation is used on an any from 
-// port array construct.
-module NegSyn_220302_GetcallOperation_001 {
-	signature S();
-	
-	type port P procedure {
-		inout S;
-	} with {extension "internal"}
+// c) A to clause shall be present in case of one-to-many connections.
+
+module NegSem_220303_ReplyOperation_008 {
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_ClientQuery() runs on GeneralComp {
 	
-    type component GeneralComp 
-	{
-		port P p;
-	}
+        p.call(S:{}, 1.0) {
 	
-	function f() runs on GeneralComp
-	{
-		var integer v_index;
-        alt
-		{
-        	[] p.getcall -> @index value v_index { setverdict(pass); }
-			[else] { setverdict(fail, "The any from getcall operation didn't match for some reason"); } 
-		}		
-	}
+            [] p.getreply(S:{}) {
+            }
+            [] p.catch (timeout) {
+            }
+        }
+		setverdict(pass);
+    }
+
+    function f_ServerResponses() runs on GeneralComp {
+        var GeneralComp v_client1 := null, v_client2 := null;
 	
-    testcase TC_NegSyn_220302_GetcallOperation_001() runs on GeneralComp system GeneralComp {
-        var GeneralComp v_ptc := GeneralComp.create;
-		connect(self:p, v_ptc:p);
-		p.call(S:{}, nowait);
-		v_ptc.start(f());
-		v_ptc.done;
+        alt {
+            [v_client1 == null] p.getcall(S:{}) -> sender v_client1 {
+                if (v_client2 == null) { repeat; }
+            }
+            [v_client2 == null] p.getcall(S:{}) -> sender v_client2 {
+                if (v_client1 == null) { repeat; }
+            }
+        }
+        p.reply(S:{}); // to clause missing, but there are 2 clients!
+		setverdict(pass);
     }
+		
+    testcase TC_NegSem_220303_ReplyOperation_008() runs on GeneralComp system GeneralComp {
+        var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
+        var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
+        var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client");
+        // map the PTCs to the system port
+        connect(server:p, client:p);
+        connect(server:p, client2:p);
+
+        server.start(f_ServerResponses());
+       
+        client2.start(f_ClientQuery());
+        client.start(f_ClientQuery());
 
-    control {
-        execute(TC_NegSyn_220302_GetcallOperation_001(), 5.0);
+        interleave {
+            [] client.done {}
+            [] client2.done {}
+        }
+        server.stop;
+
+        alt {
+            [] all component.done {}
+        }
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_008());
     }
+
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Index redirect cannot be used without the 'any from' clause
+Dynamic test case error: Port p has more than one active connections. Message can be sent on it only with explicit addressing.
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220303_ReplyOperation_001 negative test
+:h3. NegSem_220303_ReplyOperation_009 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220303_001 Ensure that reply operations are only used on procedure based ports >
+<TC - 220303_009 verify that error is issued for a missing to clause in a reply operation in case of one-to-many connections >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_220303_ReplyOperation_001 NegSem_220303_ReplyOperation_001.ttcn >
+<MODULE TTCN NegSem_220303_ReplyOperation_009 NegSem_220303_ReplyOperation_009.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.3, Ensure that reply operations are only used on procedure based ports 
+ ** @purpose  1:22.3.3, verify that values that are not addresses or components cannot be used in the to clause of the reply operation
  ** @verdict  pass reject
  ***************************************************/
 
-module NegSem_220303_ReplyOperation_001 { 
-
-    type port loopbackPort message {
-	  	inout integer
-	} with {extension "internal"}
-	
+// The following requirements are tested:
+// d) All AddressRef items in the to clause shall be of type address, component or of the address
+// type bound to the port type (see clause 6.2.9) of the port instance referenced in the reply 
+// operation.
 
-	type component GeneralComp {	    	    
-	  	port loopbackPort messagePort
-	}	
+module NegSem_220303_ReplyOperation_009 { 
 
-	testcase TC_NegSem_220303_ReplyOperation_001() runs on GeneralComp {
+    signature S();
 
-		connect(self:messagePort, self:messagePort);
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
 
- 		messagePort.send(2);  
+    type component GeneralComp {
+        port P p;
+    }
 
-    	alt {
-     		[] messagePort.receive(2) {	 
-        		messagePort.reply(3);		//cannot use reply on a message based port
-        		setverdict(pass);
-     		}
-     		[] messagePort.receive {
-        		setverdict(fail);
-     		}
-    	}
-	}
+    function f_server() runs on GeneralComp {
+		var integer v_addr := 10;
+        p.getcall(S:{});
+        p.reply(S:{}) to v_addr;
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
 
-	control{
-		execute(TC_NegSem_220303_ReplyOperation_001());
-	}
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_009(), 5.0);
+    }
 
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-error: Procedure-based operation `reply' is not applicable to a message-based port of type `@NegSem_220303_ReplyOperation_001.loopbackPort'
-<END_RESULT>
-<RESULT COUNT 1>
-error: The type of parameter is `integer', which is not a signature
+error: Type mismatch: The type of the operand should be a component type instead of `integer'
 <END_RESULT>
 
 <END_TC>
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_220303_ReplyOperation_002 negative test
+:h3. NegSem_220303_ReplyOperation_010 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - 220303_002 null component in the to clause of the reply operation >
+<TC - 220303_010 verify that reply operation on a disconnected port causes an error >
 
 <COMPILE>
 <EXECUTE_PARALLEL>
 
-<MODULE TTCN NegSem_220303_ReplyOperation_002 NegSem_220303_ReplyOperation_002.ttcn >
+<MODULE TTCN NegSem_220303_ReplyOperation_010 NegSem_220303_ReplyOperation_010.ttcn >
 /***************************************************
  ** @version  0.0.1
- ** @purpose  1:22.3.3, null component in the to clause of the reply operation
+ ** @purpose  1:22.3.3, verify that reply operation on a disconnected port causes an error
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
-
-module NegSem_220303_ReplyOperation_002 { 
+// f) Applying a reply operation to an unmapped or disconnected port shall cause a test
+// case error.
 
+module NegSem_220303_ReplyOperation_010 { 
 
     signature S();
 
@@ -4641,32 +6095,32 @@ module NegSem_220303_ReplyOperation_002 {
     }
 
     function f_server() runs on GeneralComp {
-        var GeneralComp v_compRef := null;
-		connect(self:p, v_compRef:p);
         p.getcall(S:{});
-        p.reply(S:{}) to v_compRef;
+		disconnect(self:p, mtc:p);
+        p.reply(S:{});
     }
     
-    testcase TC_NegSem_220303_ReplyOperation_002() runs on GeneralComp system GeneralComp {
+    testcase TC_NegSem_220303_ReplyOperation_010() runs on GeneralComp system GeneralComp {
         var GeneralComp v_ptc := GeneralComp.create("PTC");        
         connect(self:p, v_ptc:p);
         v_ptc.start(f_server());
-        p.call(S:{}, 1.0) {
-            [] p.getreply(S:{}) { }
-            [] p.catch(timeout) { }
-        }
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
         setverdict(pass);
     }
 
     control{
-        execute(TC_NegSem_220303_ReplyOperation_002(), 5.0);
+        execute(TC_NegSem_220303_ReplyOperation_010(), 5.0);
     }
 
 }
 <END_MODULE>
 
 <RESULT COUNT 1>
-Dynamic test case error: The second argument of connect operation contains the null component reference.
+Dynamic test case error: Port p has neither connections nor mappings. Message cannot be sent on it.
 <END_RESULT>
 
 <END_TC>
@@ -5085,7 +6539,8 @@ error: Indices of multi-dimensional port arrays can only be redirected to an int
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220304_getreply_operation_006 {
 
@@ -5151,7 +6606,8 @@ Dynamic test case error: The second argument of connect operation contains the n
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220304_getreply_operation_007 {
 
@@ -5979,6 +7435,70 @@ error: The encoding format parameter for the '@decoded' modifier is only availab
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_220304_getreply_operation_021 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220304_021 incompatible template in the from clause of the getreply operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220304_getreply_operation_021 NegSem_220304_getreply_operation_021.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, incompatible template in the from clause of the getreply operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the from clause and all VariableRef items in the sender clause
+// shall be of type address, component or of the address type bound to the port type (see 
+// section 6.2.9) of the port instance referenced in the getcall operation.
+
+module NegSem_220304_getreply_operation_021 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{} value 1);
+	}
+	
+    testcase TC_NegSem_220304_getreply_operation_021() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		p.call(S:{}) {
+            [] p.getreply(S:{}) from v_addr {} // error expected
+            [] p.getreply {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220304_getreply_operation_021(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT >
+error: The type of the template should be a component type instead of `charstring'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+
 *---------------------------------------------------------------------*
 :h3. NegSyn_220304_getreply_operation_001 negative test
 .*---------------------------------------------------------------------*
@@ -6061,10 +7581,10 @@ error: Index redirect cannot be used without the 'any from' clause
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_001 {
 	signature S() exception(charstring, octetstring);
@@ -6125,10 +7645,10 @@ error: Type `integer' is not present on the exception list of signature `@NegSem
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_002 {
 	signature S();
@@ -6189,10 +7709,10 @@ error: Signature `@NegSem_220305_raise_operation_002.S' does not have exceptions
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_003 {
     type integer MyInt1 (1..10);
@@ -6446,9 +7966,11 @@ error: Signature `@NegSem_220305_raise_operation_006.S2' is not present on the i
  ** @purpose  1:22.3.5, value of incorrect type in the to clause of the raise operation
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// AddressRef shall be of type address, component or of the type provided in the address 
-// declaration of the port type of the port instance referenced in the raise operation.
+// All AddressRef items in the to clause shall be of type address, component or of the 
+// address type bound to the port type (see clause 6.2.9) of the port instance referenced
+// in the raise operation.
 
 module NegSem_220305_raise_operation_007 {
 	signature S() exception(integer);
@@ -6509,8 +8031,10 @@ error: A component reference was expected as operand
  ** @purpose  1:22.3.5, null in the to clause of the raise operation
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220305_raise_operation_008 {
 	signature S() exception(integer);
@@ -6617,6 +8141,63 @@ Dynamic test case error: Port p has neither connections nor mappings. Message ca
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_220305_raise_operation_010 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220305_010 raise operation on disconnected and unmapped ports >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220305_raise_operation_010 NegSem_220305_raise_operation_010.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.5, exception template not conforming to template(value) restriction
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) The TemplateInstance shall conform to the template(value) restriction (see clause 15.8).
+
+module NegSem_220305_raise_operation_010 {
+	signature S() exception(charstring, octetstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+		p.getcall(S:{});
+		p.raise(S, charstring:?);
+        setverdict(pass);
+	}
+	
+    testcase TC_NegSem_220305_raise_operation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+        v_ptc.start(f());
+	    p.call(S:{}, nowait); // no processing of the exception to avoid possible errors in the catch operation
+        v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSem_220305_raise_operation_010(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: A specific value was expected instead of any value
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_220306_catch_operation_001 negative test
 .*---------------------------------------------------------------------*
@@ -7029,7 +8610,8 @@ error: Indices of multi-dimensional port arrays can only be redirected to an int
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220306_catch_operation_006 {
 
@@ -7094,7 +8676,8 @@ Dynamic test case error: The second argument of connect operation contains the n
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220306_catch_operation_007 {
 
@@ -7576,6 +9159,71 @@ error: The types in `from' clause and `sender' redirect are not the same: `@NegS
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_220306_catch_operation_015 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - 220306_015 incompatible template in the from clause of the catch operation >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_220306_catch_operation_015 NegSem_220306_catch_operation_015.ttcn >
+/*****************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, incompatible template in the from clause of the catch operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the from clause and all VariableRef items in the sender clause 
+// shall be of type address, component or of the address type bound to the port type (see 
+// clause 6.2.9) of the port instance referenced in the catch operation.
+
+module NegSem_220306_catch_operation_015 {
+
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+	
+    testcase TC_NegSem_220306_catch_operation_015() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		p.call(S:{}) {
+            [] p.catch(S, charstring:?) from v_addr {} // error expected
+            [] p.catch {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220306_catch_operation_015(), 5.0);
+    }
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+ error: The type of the template should be a component type instead of `charstring'
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSyn_220306_catch_operation_001 negative test
 .*---------------------------------------------------------------------*
diff --git a/conformance_test/core_language_tests/negative_tests/23-27-B_folders.script b/conformance_test/core_language_tests/negative_tests/23-27-B_folders.script
index 078ec0ac1..9d255b4d3 100644
--- a/conformance_test/core_language_tests/negative_tests/23-27-B_folders.script
+++ b/conformance_test/core_language_tests/negative_tests/23-27-B_folders.script
@@ -4281,6 +4281,280 @@ error: `omit' value is not allowed in this context
 <END_TC>
 :exmp
 
+*---------------------------------------------------------------------*
+:h3. NegSem_B010201_value_list_001 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - B010201_001 Ensure that the IUT correctly handles template matching with all from clause >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_B010201_value_list_001 NegSem_B010201_value_list_001.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+//The type of the template list and the member type of the template in the all from clause shall be compatible.
+// Restriction B
+
+module NegSem_B010201_value_list_001 { 
+
+	type set of integer SoI;
+
+    template SoI m_SoI := {1,2,3,4};
+    template float mw_SoI := (all from m_SoI);    //error: m_SoI is integer, mw_SoI is float
+
+	type port loopbackPort message {
+		inout float
+	} with {extension "internal"}
+	
+
+	type component GeneralComp {	    	    
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_NegSem_B010201_value_list_001() runs on GeneralComp {
+
+		var float v_testMessage := 2.0;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(mw_SoI) {
+				setverdict(pass);
+			}
+			[] messagePort.receive {
+				setverdict(fail);
+			}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_001());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 4>
+error: float value was expected
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_B010201_value_list_002 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - B010201_002 Ensure that the IUT correctly handles template matching with all from clause >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_B010201_value_list_002 NegSem_B010201_value_list_002.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// Restriction D,E: Individual members of the template in the all from clause shall not resolve to any of the following matching mechanisms: AnyElementsOrNone, permutation.
+
+module NegSem_B010201_value_list_002 { 
+
+	type set of integer SoI;
+
+    template SoI m_SoI := {1,*,4};
+    template integer mw_SoI := (all from m_SoI);    //error: m_SoI contains AnyElementsOrNone
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}
+
+	testcase TC_NegSem_B010201_value_list_002() runs on GeneralComp {
+
+		var integer v_testMessage;
+		v_testMessage:= 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+		 	[] messagePort.receive(mw_SoI) {
+		    	setverdict(pass);
+		 	}
+		 	[] messagePort.receive {
+		    	setverdict(fail);
+		 	}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_002());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: 'all from' can not refer to permutation or AnyElementsOrNone
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_B010201_value_list_003 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - B010201_003 Ensure that the IUT correctly handles template matching with all from clause >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_B010201_value_list_003 NegSem_B010201_value_list_003.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// Restriction D,E: Individual members of the template in the all from clause shall not resolve to any of the following matching mechanisms: AnyElementsOrNone, permutation.
+
+module NegSem_B010201_value_list_003 { 
+
+	type record of integer RoI;
+
+    template RoI m_RoI := {permutation(0,1,3,*),2};
+    template integer mw_RoI := (all from m_RoI);    //error: m_RoI contains permutation
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_NegSem_B010201_value_list_003() runs on GeneralComp {
+
+		var integer v_testMessage;
+		v_testMessage:= 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(mw_RoI) {
+				setverdict(pass);
+		 }
+		 	[] messagePort.receive {
+		    	setverdict(fail);
+		 }
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_003());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: 'all from' can not refer to permutation or AnyElementsOrNone
+<END_RESULT>
+
+<END_TC>
+:exmp
+
+*---------------------------------------------------------------------*
+:h3. NegSem_B010201_value_list_004 negative test
+.*---------------------------------------------------------------------*
+:xmp tab=0.
+
+<TC - B010201_004 Ensure that the IUT correctly handles template matching with all from clause >
+
+<COMPILE>
+
+<MODULE TTCN NegSem_B010201_value_list_004 NegSem_B010201_value_list_004.ttcn >
+/******************************************************************************
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template list corretly
+ ** @verdict  pass accept reject
+ ***************************************************/
+
+// The following requirements are tested:
+// e) Templates in the template list shall obey the template (present) restriction
+
+module NegSem_B010201_value_list_004 { 
+
+	type record MessageType {
+		integer		field1,
+		charstring	field2 
+	}
+
+	template integer t_omit := omit; 
+
+	template MessageType t_mes := {
+		field1 := (1, 2, t_omit), // present restriction does not allow omit
+		field2 := ("abc", "bc")
+	}
+
+    type port loopbackPort message {
+		inout MessageType
+	} with {extension "internal"}
+
+	type component GeneralComp {	    	    
+		port loopbackPort messagePort
+	}
+
+	testcase TC_NegSem_B010201_value_list_004() runs on GeneralComp {
+
+		var MessageType v_testMessage := {
+	  	         field1:= 1,
+		         field2:= "abc"
+		}
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(t_mes) {
+				setverdict(pass);
+			}
+			[] messagePort.receive {
+				setverdict(fail);
+			}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_004());
+	}
+
+}
+<END_MODULE>
+
+<RESULT COUNT 1>
+error: `omit' value is not allowed in this context
+<END_RESULT>
+
+<END_TC>
+:exmp
+
 *---------------------------------------------------------------------*
 :h3. NegSem_B010204_any_value_or_none_001 negative test
 .*---------------------------------------------------------------------*
@@ -6228,22 +6502,22 @@ error: permutation match cannot be used for type `integer'
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_B010401_length_restrictions_002 negative test
+:h3. NegSem_B010401_length_restrictions_001 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
-<TC - B010401_002 Ensure that the IUT correctly handles template matching of value length definitions >
+<TC - B010401_001 Ensure that the IUT correctly handles template matching of value length definitions >
 
 <COMPILE>
 
-<MODULE TTCN NegSem_B010401_length_restrictions_002 NegSem_B010401_length_restrictions_002.ttcn >
+<MODULE TTCN NegSem_B010401_length_restrictions_001 NegSem_B010401_length_restrictions_001.ttcn >
 /***************************************************
  ** @version  0.0.1
  ** @purpose  1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions
  ** @verdict  pass reject
  ***************************************************/
 
-module NegSem_B010401_length_restrictions_002 { 
+module NegSem_B010401_length_restrictions_001 { 
 
 
 	type record MessageType {
@@ -6264,7 +6538,7 @@ module NegSem_B010401_length_restrictions_002 {
 	  	port loopbackPort messagePort
 	}	
 
-	testcase TC_NegSem_B010401_length_restrictions_002() runs on GeneralComp {
+	testcase TC_NegSem_B010401_length_restrictions_001() runs on GeneralComp {
 
     	var MessageType v_testMessage;
 
@@ -6300,7 +6574,7 @@ module NegSem_B010401_length_restrictions_002 {
 	}
 	
 	control{
-		execute(TC_NegSem_B010401_length_restrictions_002());
+		execute(TC_NegSem_B010401_length_restrictions_001());
 	}
 
 }
@@ -6315,7 +6589,7 @@ error: There are fewer \(5\) elements in the string than it is allowed by the le
 :exmp
 
 *---------------------------------------------------------------------*
-:h3. NegSem_B010401_length_restrictions_004 negative test
+:h3. NegSem_B010401_length_restrictions_002 negative test
 .*---------------------------------------------------------------------*
 :xmp tab=0.
 
@@ -6323,14 +6597,14 @@ error: There are fewer \(5\) elements in the string than it is allowed by the le
 
 <COMPILE>
 
-<MODULE TTCN NegSem_B010401_length_restrictions_004 NegSem_B010401_length_restrictions_004.ttcn >
+<MODULE TTCN NegSem_B010401_length_restrictions_002 NegSem_B010401_length_restrictions_002.ttcn >
 /***************************************************
  ** @version  0.0.1
  ** @purpose  1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions
  ** @verdict  pass reject
  ***************************************************/
 
-module NegSem_B010401_length_restrictions_004 { 
+module NegSem_B010401_length_restrictions_002 { 
 
 
 	type record MessageType {
@@ -6350,7 +6624,7 @@ module NegSem_B010401_length_restrictions_004 {
 	  	port loopbackPort messagePort
 	}	
 
-	testcase TC_NegSem_B010401_length_restrictions_004() runs on GeneralComp {
+	testcase TC_NegSem_B010401_length_restrictions_002() runs on GeneralComp {
 
     	var MessageType v_testMessage;
 
@@ -6382,7 +6656,7 @@ module NegSem_B010401_length_restrictions_004 {
 	}
 
 	control{
-		execute(TC_NegSem_B010401_length_restrictions_004());
+		execute(TC_NegSem_B010401_length_restrictions_002());
 	}
 
 }
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn
new file mode 100644
index 000000000..43d05b6bf
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.2.2, Ensure that identifiers for fields of structured types, enumerated values and groups do not have to be globally unique.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+/* The following requirements are tested:
+ * Within the same module,they shall only be reused for enumerated values within other enumerated types or as identifiers for fields of structured types. In addition, enumeration values shall not be used as names of value or 
+ * template definitions of imported enumeration types, defining the given enumeration value
+ */
+
+module Sem_050202_Uniqueness_004 {
+	type component GeneralComp {
+	}
+
+	type enumerated MyFirstEnumType {MyFirstEnumValue, MySecondEnumValue}
+    type enumerated MySecondEnumType {MyFirstEnumValue, MySecondEnumValue}
+    //enumerated values within other enumerated types or as identifiers for fields of structured types
+	
+    testcase TC_Sem_050202_Uniqueness_004() runs on GeneralComp {
+
+        var MyFirstEnumType     v_enum    :=  MySecondEnumValue;
+        var MySecondEnumType    v_enum_2  :=  MySecondEnumValue;
+		
+        if (match(v_enum, MyFirstEnumType:MySecondEnumValue) and match(v_enum_2, MySecondEnumType:MySecondEnumValue)) { // local value
+			setverdict(pass);
+		} else {
+		    setverdict(fail);
+		}
+	}
+
+	control {
+		execute(TC_Sem_050202_Uniqueness_004());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn
new file mode 100644
index 000000000..9c0777ba5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.2.2, Ensure that identifiers for fields of structured types, enumerated values and groups do not have to be globally unique.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the same module,they shall only be reused for enumerated values within other enumerated types or as identifiers for fields of structured types. In addition, enumeration values shall not be used as names of value or 
+ * template definitions of imported enumeration types, defining the given enumeration value
+ */
+
+module Sem_050202_Uniqueness_005 {
+	type component GeneralComp {
+	}
+    
+	type enumerated MyFirstEnumType {MyInt,MySecondEnumValue}; 
+    
+    type record MyRec {
+        integer Myint
+    }
+    
+    testcase TC_Sem_050202_Uniqueness_005() runs on GeneralComp {
+
+        var MyFirstEnumType v_enum :=  MySecondEnumValue;
+        var MyRec v_rec;
+       
+        v_rec.Myint := 1;
+		
+        if (match(v_enum, MyFirstEnumType:MySecondEnumValue) and match(v_rec.Myint,1)) { 
+			setverdict(pass);
+		} else {
+		    setverdict(fail);
+		}
+	}
+	control {
+		execute(TC_Sem_050202_Uniqueness_005());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_008.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_008.ttcn
index ec9fc9f6b..8b2301425 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_008.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_008.ttcn
@@ -23,7 +23,7 @@
 // Restriction e)
 // The template instance shall not refer to elements of the component type in a runs on clause.
 
-module NegSem_05040102_parameters_of_kind_template_008 { 
+module NegSem_05040102_parameters_of_kind_template_008 language "TTCN-3:2016" { 
 	type component GeneralComp {
         var template integer vc_int := ?;
 	}	
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn
new file mode 100644
index 000000000..cdd0bbdd1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.2, Verify that template parameter of an activated altstep cannot be an out parameter
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_05040102_parameters_of_kind_template_018 {
+
+    type component C {
+		var template integer v_int := ?;
+    }
+
+    altstep a_test(out template integer p_par) runs on C {
+        [] any timer.timeout {
+            p_par := ?;
+        }
+    }
+    
+    testcase TC_NegSem_05040102_parameters_of_kind_template_018() runs on C {
+        //var integer v_int := ?; //original line
+        activate(a_test(v_int));  
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040102_parameters_of_kind_template_018());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn
new file mode 100644
index 000000000..28bb48b3b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.2, Verify that template parameter of an activated altstep cannot be an inout parameter
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_05040102_parameters_of_kind_template_019 {
+
+    type component C {
+		var template integer v_int := ?;
+    }
+
+    altstep a_test(inout template integer p_par) runs on C {
+        [] any timer.timeout {
+            p_par := ?;
+        }
+    }
+    
+    testcase TC_NegSem_05040102_parameters_of_kind_template_019() runs on C {
+        //var integer v_int := ?; //original line
+        activate(a_test(v_int));  
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040102_parameters_of_kind_template_019());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn
new file mode 100644
index 000000000..de9d79e63
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that functions with timer parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_001 {    
+    
+    type component C {
+    }
+    
+    function f_test(inout timer p_tmr) runs on C {
+        p_tmr.timeout;
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_001() runs on C system C {
+    	timer t_tmr := 0.1; 
+        var C v_ptc := C.create;
+        t_tmr.start;
+        v_ptc.start(f_test(t_tmr));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_001());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn
new file mode 100644
index 000000000..a4bf1cbad
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that altsteps with timer parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_002 {
+    
+    type component C {
+    }
+    
+    altstep f_test(inout timer p_tmr) runs on C {
+        [] p_tmr.timeout {
+			setverdict(pass);
+		}
+    }
+    
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_002() runs on C system C {
+    	timer t_tmr := 0.1; 
+        var C v_ptc := C.create;
+        t_tmr.start;
+        v_ptc.start(f_test(t_tmr));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn
new file mode 100644
index 000000000..dd10f2e13
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that test cases cannot have timer parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_003 {    
+    
+    type component C {
+    }
+    
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_003(timer p_tmr) runs on C {
+        p_tmr.timeout;
+        setverdict(pass);
+    }
+    
+    control {
+		timer t_tmr := 0.1; 
+        t_tmr.start;
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_003(t_tmr));
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn
new file mode 100644
index 000000000..30f8fee7a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that templates cannot have timer parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040103_parameters_of_kind_timer_004 {    
+    
+    type component C {
+    }
+    
+	template boolean m_msg (timer p_tmr) := p_tmr.running;
+	   
+    testcase TC_NegSem_05040103_parameters_of_kind_timer_004() runs on C system C {
+    	timer t_tmr := 0.1; 
+        t_tmr.start;
+		log(m_msg(t_tmr));
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040103_parameters_of_kind_timer_004());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn
new file mode 100644
index 000000000..dded5798b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that in timer parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSyn_05040103_parameters_of_kind_timer_001 {    
+    
+    type component C {
+    }
+    
+    function f_test(in timer p_tmr) {
+        p_tmr.timeout;
+    }
+    
+    testcase TC_NegSyn_05040103_parameters_of_kind_timer_001() runs on C {
+        timer t_tmr := 1.0;
+        t_tmr.start;
+        f_test(t_tmr);    
+        setverdict(pass);    
+    }
+    
+    control {
+        execute(TC_NegSyn_05040103_parameters_of_kind_timer_001());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn
new file mode 100644
index 000000000..09d71fb07
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that out timer parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSyn_05040103_parameters_of_kind_timer_002 {    
+    
+    type component C {
+
+    }
+
+    function f_test(out timer p_tmr) {
+
+        p_tmr.start(1.0);
+
+    }
+
+   
+    testcase TC_NegSyn_05040103_parameters_of_kind_timer_002() runs on C{
+
+    	timer t_tmr;    
+
+        f_test(t_tmr);        
+
+        t_tmr.timeout;
+        setverdict(pass);
+
+    }
+
+   
+    control {
+
+        execute(TC_NegSyn_05040103_parameters_of_kind_timer_002());
+
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn
new file mode 100644
index 000000000..188a9f3d1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that inout prefix can be used for timer parameters
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module Sem_05040103_parameters_of_kind_timer_002 {    
+    
+    type component C {
+    }
+    
+    function f_test(inout timer p_tmr) {
+        p_tmr.timeout;
+        setverdict(pass);
+    }
+    
+    testcase TC_Sem_05040103_parameters_of_kind_timer_002() runs on C {
+    	timer t_tmr := 0.1; 
+        t_tmr.start;
+        f_test(t_tmr);
+    }
+    
+    control {
+        execute(TC_Sem_05040103_parameters_of_kind_timer_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn
new file mode 100644
index 000000000..7b5b26d1d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.3, Verify that altstep can have timer parameters
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal timer parameters, with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module Sem_05040103_parameters_of_kind_timer_003 {    
+    
+    type component C {
+    }
+    
+    altstep a_test(timer p_tmr) {
+        [] p_tmr.timeout {
+			setverdict(pass);
+		}
+    }
+    
+    testcase TC_Sem_05040103_parameters_of_kind_timer_003() runs on C {
+    	timer t_tmr := 0.1; 
+        t_tmr.start;
+        a_test(t_tmr);
+    }
+    
+    control {
+        execute(TC_Sem_05040103_parameters_of_kind_timer_003());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn
new file mode 100644
index 000000000..4b276f842
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that functions with port parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_001 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+    
+    function f_test(P p_port) runs on C {
+        p_port.send(1);
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_001() runs on C system C {
+        var C v_ptc := C.create;
+		connect(mtc:p,v_ptc:p);
+        v_ptc.start(f_test(p));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_001());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn
new file mode 100644
index 000000000..795f50c8d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that altsteps with port parameters cannot be used in component.start operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_002 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+    
+    altstep a_test(P p_port) runs on C {
+        [] p_port.receive(integer:?) {
+            setverdict(pass);
+        }
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_002() runs on C system C {
+        var C v_ptc := C.create;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        v_ptc.start(a_test(p));
+        v_ptc.done;
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn
new file mode 100644
index 000000000..add40fb90
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that in port parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+ 
+module NegSem_05040104_parameters_of_kind_port_003 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+    
+    type component C {
+        port P p;
+    }
+    
+    function f_test(in P p_port) {
+        p_port.send(1);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_003() runs on C {
+		connect(self:p,self:p);
+        f_test(p);    
+        setverdict(pass);    
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_003());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn
new file mode 100644
index 000000000..7f8ba7239
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that out port parameters are not allowed
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+
+module NegSem_05040104_parameters_of_kind_port_004 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+    
+    type component C {
+        port P p;
+    }
+    
+    function f_test(out P p_port) {
+        setverdict(pass);
+    }
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_004() runs on C {
+		connect(self:p,self:p);
+        f_test(p);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_004());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn
new file mode 100644
index 000000000..674f1848c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that test cases cannot have port parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_005 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+        
+	testcase TC_Test(P p_port) runs on C { // should cause a compilation error
+		p_port.send(1);
+        setverdict(pass);
+    }
+	
+    testcase TC_NegSem_05040104_parameters_of_kind_port_005(P p_port) runs on C {
+		connect(self:p,self:p);
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_005());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn
new file mode 100644
index 000000000..ee2430171
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that templates cannot contain port parameters
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// Only function and altstep definitions may have formal port parameters, - with the exception of functions or 
+// altsteps started as test component behaviour (see clause 21.3.2).
+
+module NegSem_05040104_parameters_of_kind_port_006 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+
+    type component C {
+        port P p;
+    }
+    
+    template boolean m_msg(P p_par) := p_par.checkstate("Started");
+    
+    testcase TC_NegSem_05040104_parameters_of_kind_port_006() runs on C system C {
+		log(m_msg(p));
+        setverdict(pass);
+    }
+    
+    control {
+        execute(TC_NegSem_05040104_parameters_of_kind_port_006());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn
new file mode 100644
index 000000000..370c36685
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.1.4, Verify that inout prefix can be used for port parameters
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirement is tested:
+// Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout.
+ 
+module Sem_05040104_parameters_of_kind_port_002 {    
+    
+    type port P message {
+        inout integer
+    } with {extension "internal"}
+    
+    type component C {
+        port P p;
+    }
+    
+    function f_test(inout P p_port) {
+        p_port.send(1);
+        setverdict(pass);
+    }
+    
+    testcase TC_Sem_05040104_parameters_of_kind_port_002() runs on C {
+		connect(self:p,self:p);
+        f_test(p);
+    }
+    
+    control {
+        execute(TC_Sem_05040104_parameters_of_kind_port_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_057.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_057.ttcn
index f04af6eb2..0beabdc3f 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_057.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_057.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_057 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_058.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_058.ttcn
index 31ae0c129..bf680ef4a 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_058.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_058.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_058 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_059.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_059.ttcn
index aa7a70991..f8f34b71d 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_059.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_059.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_059 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_060.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_060.ttcn
index 72939bcaf..842924ef1 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_060.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_060.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_060 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_061.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_061.ttcn
index 5b603fb38..704f023ae 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_061.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_061.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_061 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_062.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_062.ttcn
index 85019a369..0ab6053c0 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_062.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_062.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of functions
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_062 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_063.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_063.ttcn
index 492bdcb26..35857e90b 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_063.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_063.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_063 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_064.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_064.ttcn
index 4080aa0e5..e6201a83b 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_064.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_064.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_064 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_065.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_065.ttcn
index 9ed5cbfd8..5cc442e2a 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_065.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_065.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that constants cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_065 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_066.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_066.ttcn
index 34af805b4..165e30067 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_066.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_066.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_066 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_067.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_067.ttcn
index e9182dc35..4faa5362c 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_067.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_067.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_067 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_068.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_068.ttcn
index 31e8cd726..2ed19272d 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_068.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_068.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template parameters cannot be used as out formal template parameters of altsteps
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_068 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_069.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_069.ttcn
index 264c8ca5f..649753586 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_069.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_069.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that literals cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_069 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_070.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_070.ttcn
index 2561ab594..bec99bbf2 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_070.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_070.ttcn
@@ -14,17 +14,15 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that module parameters cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
-
 module NegSem_050402_actual_parameters_070 { 
 
     type component GeneralComp {
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_071.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_071.ttcn
index da0bdd62e..b974e36ad 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_071.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_071.ttcn
@@ -20,9 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_071 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_072.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_072.ttcn
index 620eeeffd..aaccf24d5 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_072.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_072.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that function calls cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_072 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_073.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_073.ttcn
index 405901486..cc19d27a9 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_073.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_073.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that expressions cannot be used as out formal template parameters of test cases
  ** @verdict  pass reject
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_073 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_074.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_074.ttcn
index 184027d3c..e3c43356e 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_074.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_074.ttcn
@@ -20,9 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module NegSem_050402_actual_parameters_074 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn
new file mode 100644
index 000000000..f1e754625
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that literal cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_146 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_146() runs on GeneralComp {
+        f_test(1);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_146());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn
new file mode 100644
index 000000000..13f437e97
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that expression cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_147 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_ret() return integer {
+        return 4;
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_147() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(10 + f_ret() - v_val);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_147());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn
new file mode 100644
index 000000000..25602c511
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @author   STF 521
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_148 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_ret() return integer {
+        return 4;
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_148() runs on GeneralComp {
+        f_test(f_ret());
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_148());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn
new file mode 100644
index 000000000..67fde68f9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_149 { 
+
+    type component GeneralComp {
+    }
+       
+    modulepar integer PX_VAL := 2;
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_149() runs on GeneralComp {
+        f_test(PX_VAL);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_149());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn
new file mode 100644
index 000000000..2926e1751
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that templates cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_150 { 
+
+    type component GeneralComp {
+    }
+       
+    template integer mw_msg := ?;
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_150() runs on GeneralComp {
+        f_test(mw_msg);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_150());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn
new file mode 100644
index 000000000..7db808996
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that constants cannot be used as actual out value parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_151 { 
+
+    type component GeneralComp {
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_151() runs on GeneralComp {
+        const integer c_val := 3;
+        f_test(c_val);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_151());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn
new file mode 100644
index 000000000..3e39de03b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that literal cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_152 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_152() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(1);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_152());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn
new file mode 100644
index 000000000..1498d119a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that expression cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_153 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_153() runs on GeneralComp {
+        var integer v_val := 5;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(10 + f_ret() - v_val);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_153());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn
new file mode 100644
index 000000000..ffaa6efcf
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that function calls cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_154 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+
+    function f_ret() return integer {
+        return 4;
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_154() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(f_ret());
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_154());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn
new file mode 100644
index 000000000..5b09ce575
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that module parameters cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_155 { 
+
+    type component GeneralComp {
+    }
+       
+    modulepar integer PX_VAL := 2;
+
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_155() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(PX_VAL);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_155());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn
new file mode 100644
index 000000000..dcf2f6ae8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that templates cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_156 { 
+
+    type component GeneralComp {
+    }
+       
+    template integer mw_msg := ?;
+
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_156() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(mw_msg);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_156());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn
new file mode 100644
index 000000000..f12cc6ae0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that constants cannot be used as actual out value parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module NegSem_050402_actual_parameters_157 { 
+
+    type component GeneralComp {
+    }
+
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_157() runs on GeneralComp {
+        const integer c_val := 3;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(c_val);
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_157());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn
new file mode 100644
index 000000000..3da92c731
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that function cannot have more actual than formal parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
+
+module NegSem_050402_actual_parameters_158 { 
+
+    type component GeneralComp {
+	}	
+
+    function f_test(in integer p_val) {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_158() runs on GeneralComp {
+        f_test(1, 2); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_158());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn
new file mode 100644
index 000000000..fe877f1af
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that templates cannot have more actual than formal parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
+
+module NegSem_050402_actual_parameters_159 { 
+
+    type component GeneralComp {
+	}	
+
+    template integer mw_range (integer p_par) := (0..p_par);
+
+    testcase TC_NegSem_050402_actual_parameters_159() runs on GeneralComp {
+        log(mw_range(1, 2)); // tested parameter passing
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_159());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn
new file mode 100644
index 000000000..5e66c90eb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that altstep cannot have more actual than formal parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
+
+module NegSem_050402_actual_parameters_160 { 
+
+    type component GeneralComp {
+	}	
+
+    altstep a_test(in integer p_val) {
+		[] any timer.timeout {
+			if (p_val == 1) { setverdict(pass); }
+			else { setverdict(fail); }
+		}
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_160() runs on GeneralComp {
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        a_test(1, 2); // tested parameter passing
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_160());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn
new file mode 100644
index 000000000..ce90c416e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn
@@ -0,0 +1,39 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that testcase cannot have more actual than formal parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// The number of actual parameters in the list notation shall not exceed the number of parameters 
+// in the formal parameter list.
+
+module NegSem_050402_actual_parameters_161 { 
+
+    type component GeneralComp {
+	}
+
+    testcase TC_NegSem_050402_actual_parameters_161(in integer p_val) runs on GeneralComp {
+        if (p_val == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_161(1, 2));
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn
new file mode 100644
index 000000000..b59c1043c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that restricted template variables cannot be passed to unrestricted inout template parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// For inout formal template parameters, the template restriction of the actual and the formal parameter must be the same.
+
+module NegSem_050402_actual_parameters_162 { 
+
+    type component GeneralComp {
+	}
+    
+    type record R1 {
+        integer field1,
+        integer field2 optional
+    }    
+
+    function f_test (inout template R1 p_val) {
+        if (valueof(p_val) == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_162() runs on GeneralComp {
+        var template(value) R1 v_rec := { 1, 2 };
+        f_test(v_rec);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_162());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn
new file mode 100644
index 000000000..f3ec20574
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that unrestricted template variables cannot be passed to restricted inout template parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// For inout formal template parameters, the template restriction of the actual and the formal parameter must be the same.
+
+module NegSem_050402_actual_parameters_163 { 
+
+    type component GeneralComp {
+	}
+    
+    type record R1 {
+        integer field1,
+        integer field2 optional
+    }    
+
+    function f_test (inout template(value) R1 p_val) {
+        if (valueof(p_val) == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_163() runs on GeneralComp {
+        var template R1 v_rec := { 1, 2 };
+        f_test(v_rec);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_163());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn
new file mode 100644
index 000000000..bde825bea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that restricted template variables cannot be passed to inout template parameters with a different restriction
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// For inout formal template parameters, the template restriction of the actual and the formal parameter must be the same.
+
+module NegSem_050402_actual_parameters_164 { 
+
+    type component GeneralComp {
+	}
+    
+    type record R1 {
+        integer field1,
+        integer field2 optional
+    }    
+
+    function f_test (inout template(omit) R1 p_val) {
+        if (valueof(p_val) == { field1 := 1, field2 := 2 }) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_164() runs on GeneralComp {
+        var template(value) R1 v_rec := { 1, 2 };
+        f_test(v_rec);
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_164());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn
new file mode 100644
index 000000000..ab3e0c7ec
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_165 { 
+
+    type component GeneralComp {
+	}
+    
+    function f_test(out template integer p_val) {
+        p_val := 2;
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_165() runs on GeneralComp {
+        var integer vm_msg;
+        f_test(vm_msg); // tested parameter passing
+        if (match(2, vm_msg)) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_165());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn
new file mode 100644
index 000000000..e3943a1f3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_166 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
+
+    function f_caller(in integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_166() runs on GeneralComp {
+        f_caller(3); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_166());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn
new file mode 100644
index 000000000..f7018af61
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_167 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
+
+    function f_caller(out integer p_val) {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_167() runs on GeneralComp {
+        var integer v_val;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_167());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn
new file mode 100644
index 000000000..530acc2b5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_168 { 
+
+    type component GeneralComp {
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := 0;
+    }
+
+    function f_caller(inout integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_168() runs on GeneralComp {
+        var integer v_val := 5;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_168());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn
new file mode 100644
index 000000000..ed93e26ca
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value variable element reference cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_169 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_169() runs on GeneralComp {
+        var R v_val := { field1 := 10 };
+        f_test(v_val.field1); // tested parameter passing
+        if (match( { field1 := 0 }, v_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_169());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn
new file mode 100644
index 000000000..e3a88438a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of functions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_170 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    function f_test(out template integer p_val) {
+        p_val := ?;
+    }
+    
+    function f_caller(in R p_param) {
+        f_test(p_param.field1); // tested parameter passing
+        if (match( { field1 := 0 }, p_param)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_170() runs on GeneralComp {
+        f_caller({field1 := 11 });        
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_170());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn
new file mode 100644
index 000000000..6de22fcf3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_171 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+	}
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_171() runs on GeneralComp {
+        var integer vm_msg := 2;
+        t.start;
+        a_test(vm_msg); // tested parameter passing
+        if (match(0, vm_msg)) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_171());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn
new file mode 100644
index 000000000..2499d0d57
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_172 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
+    }
+
+    function f_caller(in integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_172() runs on GeneralComp {
+        t.start;
+        f_caller(3); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_172());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn
new file mode 100644
index 000000000..777d4bf40
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_173 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
+    }
+
+    function f_caller(out integer p_val) runs on GeneralComp {
+        p_val := 4; // out parameter shall have a value before we can pass it to a function
+        a_test(p_val); // tested parameter passing
+        if (match(0 , p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_173() runs on GeneralComp {
+        var integer v_val;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_173());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn
new file mode 100644
index 000000000..86ff11a72
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_174 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 0;
+        }
+    }
+
+    function f_caller(inout integer p_val) runs on GeneralComp {
+        a_test(p_val); // tested parameter passing
+        if (match(0, p_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    
+    testcase TC_NegSem_050402_actual_parameters_174() runs on GeneralComp {
+        var integer v_val := 5;
+        t.start;
+        f_caller(v_val); // this parameter passing is not a subject of the test
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_174());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn
new file mode 100644
index 000000000..16b0736d3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value variable element reference cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_175 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+            p_val := 5; 
+        }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_175() runs on GeneralComp {
+        var R v_val := { field1 := 10 };
+        t.start;
+        a_test(v_val.field1); // tested parameter passing
+        if (match({ field1 := 5 }, v_val)) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_175());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn
new file mode 100644
index 000000000..9581de2da
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_176 { 
+
+    type component GeneralComp {
+        timer t := 0.0;
+    }
+    
+    type record R {
+        integer field1
+    }
+    
+    altstep a_test(out template integer p_val) runs on GeneralComp {
+        []t.timeout {
+           p_val := 5; 
+        }
+    }
+    
+    function f_caller(in R p_param) runs on GeneralComp {
+        a_test(p_param.field1); // tested parameter passing
+        if (match({ field1 := 5 }, p_param)) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_176() runs on GeneralComp {
+        t.start;
+        f_caller({field1 := 11 });        
+	}
+
+	control {
+		execute(TC_NegSem_050402_actual_parameters_176());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn
new file mode 100644
index 000000000..af98d547c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value variables cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_177 { 
+
+    type component GeneralComp {
+	}
+    
+    testcase TC_NegSem_050402_actual_parameters_177(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
+	}
+
+	control {
+        var integer vm_msg := 2;
+		execute(TC_NegSem_050402_actual_parameters_177(vm_msg)); // tested parameter passing
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn
new file mode 100644
index 000000000..d3f1da4f9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value in parameters cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_178 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_178(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
+	}
+    
+    function f_caller(in integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_178(p_val)); // tested parameter passing
+    }
+
+	control {
+		f_caller(3); // this parameter passing is not a subject of the test
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn
new file mode 100644
index 000000000..0d6ad402a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value out parameters cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_179 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_179(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
+	}
+    
+    function f_caller(out integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_179(p_val)); // tested parameter passing
+    }
+
+	control {
+        var integer vm_val;
+        f_caller(vm_val);
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn
new file mode 100644
index 000000000..ee00adf1a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that value inout parameters cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_180 { 
+
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSem_050402_actual_parameters_180(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
+	}
+
+    function f_caller(inout integer p_val) {
+        execute(TC_NegSem_050402_actual_parameters_180(p_val)); // tested parameter passing
+    }
+
+	control {
+        var integer vm_val := 5;
+		f_caller(vm_val);
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn
new file mode 100644
index 000000000..d6b2fa44d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that variable element reference cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_181 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    }
+
+    testcase TC_NegSem_050402_actual_parameters_181(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);
+	}
+
+	control {
+        var R v_val := { field1 := 10 };
+		execute(TC_NegSem_050402_actual_parameters_181(v_val.field1)); // tested parameter passing
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn
new file mode 100644
index 000000000..3cdbc6060
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters cannot be used as out formal template parameters of test cases
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
+// parameters of structured types.
+
+module NegSem_050402_actual_parameters_182 { 
+
+    type component GeneralComp {
+    }
+    
+    type record R {
+        integer field1
+    } 
+
+    testcase TC_NegSem_050402_actual_parameters_182(out template integer p_val) runs on GeneralComp {
+        p_val := ?;
+        setverdict(pass);            
+	}
+    
+    function f_caller(in R p_param) {
+        execute(TC_NegSem_050402_actual_parameters_182(p_param.field1)); // tested parameter passing
+    }
+
+	control {
+        var R mw_t := { field1 := 1 };
+		f_caller(mw_t);
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_113.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_113.ttcn
index ccd1488d1..dbfdc1852 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_113.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_113.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variables can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_113 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_114.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_114.ttcn
index 340869f1e..d8ad23c27 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_114.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_114.ttcn
@@ -14,16 +14,16 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template in parameters can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
+
 module Sem_050402_actual_parameters_114 { 
 
     type component GeneralComp {
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_115.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_115.ttcn
index 81f8ce0e6..0d361c3e6 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_115.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_115.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template out parameters can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_115 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_116.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_116.ttcn
index 87e23cd35..fab6b2c2a 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_116.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_116.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template inout parameters can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_116 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn
index 15e187e82..a7a90cb36 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_117.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variable element reference can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_117 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn
index ada5ed3d4..17bf797ab 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_118.ttcn
@@ -14,16 +14,16 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters can be used as out formal template parameters of functions
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
+
 module Sem_050402_actual_parameters_118 { 
 
     type component GeneralComp {
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_119.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_119.ttcn
index 9f76fa560..ca6d558b7 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_119.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_119.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variables can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_119 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_120.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_120.ttcn
index 02c98651b..13c4ae9a7 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_120.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_120.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template in parameters can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_120 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_121.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_121.ttcn
index 71742b001..db88a1a6b 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_121.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_121.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template out parameters can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_121 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_122.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_122.ttcn
index 01cda85a6..64adf8bba 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_122.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_122.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template inout parameters can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_122 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn
index 512e47cc5..39774b324 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_123.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variable element reference can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_123 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn
index 2751df37f..7eb5d3309 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_124.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters can be used as out formal template parameters of altsteps
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_124 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_125.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_125.ttcn
index ac0ff8dc6..48d4fd3b2 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_125.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_125.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variables can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_125 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_126.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_126.ttcn
index f7d477932..4a1f3fee2 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_126.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_126.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template in parameters can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_126 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_127.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_127.ttcn
index 5b1c76b46..acdbd99e5 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_127.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_127.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template out parameters can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_127 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_128.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_128.ttcn
index a631b244d..bfe0f97b8 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_128.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_128.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template inout parameters can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_128 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn
index 0d27a6faa..9776acc4c 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_129.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that template variable element reference can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_129 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn
index f3b453f7b..a7e96fa78 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_130.ttcn
@@ -14,15 +14,14 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.4.2, verify that reference to elements of formal value parameters can be used as out formal template parameters of test cases
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 // The following requirement is tested:
-// Actual parameters that are passed to out formal template parameters shall be variables, 
-// template variables, formal value parameters, formal template parameters or references 
-// to elements of variables, template variables, formal value parameters or formal template 
+// Actual parameters that are passed to out formal template parameters shall be template variables, 
+// formal template parameters or references to elements of template variables or formal template 
 // parameters of structured types.
 
 module Sem_050402_actual_parameters_130 { 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_135.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_135.ttcn
index 0692bb488..db17a7ea7 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_135.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_135.ttcn
@@ -34,14 +34,13 @@ module Sem_050402_actual_parameters_135 {
         integer field1
     }
     
-	//function f_test(inout template(present) integer p_val) <-- something not working with present
-    function f_test(inout template integer p_val) {
+    function f_test(inout template(present) integer p_val) {
         if (match(10, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
 
     testcase TC_Sem_050402_actual_parameters_135() runs on GeneralComp {
-        var template R v_val := { field1 := 10 };
+        var template(present) R v_val := { field1 := 10 };
         f_test(v_val.field1); // tested parameter passing
 	}
 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_136.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_136.ttcn
index 786dae8f1..6c4b59149 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_136.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_136.ttcn
@@ -34,13 +34,12 @@ module Sem_050402_actual_parameters_136 {
         integer field1
     }
     
-	//function f_test(inout template(present) integer p_val) <-- something not working with present
-    function f_test(inout template integer p_val) {
+    function f_test(inout template(present) integer p_val) {
         if (match(11, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
     }
     
-    function f_caller(in template R p_param) {
+    function f_caller(in template(present) R p_param) {
         f_test(p_param.field1); // tested parameter passing
     }
 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_141.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_141.ttcn
index 311db40f2..3f5ea686b 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_141.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_141.ttcn
@@ -35,8 +35,7 @@ module Sem_050402_actual_parameters_141 {
         integer field1
     }
     
-	//altstep a_test(inout template(present) integer p_val) runs on GeneralComp <-- something not working with present
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
+    altstep a_test(inout template(present) integer p_val) runs on GeneralComp {
         []t.timeout {
             if (match(10, p_val)) { setverdict(pass); }
             else { setverdict(fail); }
@@ -44,7 +43,7 @@ module Sem_050402_actual_parameters_141 {
     }
 
     testcase TC_Sem_050402_actual_parameters_141() runs on GeneralComp {
-        var template R v_val := { field1 := 10 };
+        var template(present) R v_val := { field1 := 10 };
         t.start;
         a_test(v_val.field1); // tested parameter passing
 	}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_142.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_142.ttcn
index af80da497..1ace4cca6 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_142.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_142.ttcn
@@ -36,14 +36,14 @@ module Sem_050402_actual_parameters_142 {
     }
     
 	//altstep a_test(inout template(present) integer p_val) runs on GeneralComp <-- something not working with present
-    altstep a_test(inout template integer p_val) runs on GeneralComp {
+    altstep a_test(inout template(present) integer p_val) runs on GeneralComp {
         []t.timeout {
            if (match(11, p_val)) { setverdict(pass); }
            else { setverdict(fail); }
         }
     }
     
-    function f_caller(in template R p_param) runs on GeneralComp {
+    function f_caller(in template(present) R p_param) runs on GeneralComp {
         a_test(p_param.field1); // tested parameter passing
     }
 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_147.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_147.ttcn
index d8c2452f9..0dfae2524 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_147.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_147.ttcn
@@ -34,15 +34,13 @@ module Sem_050402_actual_parameters_147 {
         integer field1
     }
 
-	//testcase TC_Sem_050402_actual_parameters_147(inout template(present) integer p_val) runs on GeneralComp
-	//			              something not working with present --^ 
-    testcase TC_Sem_050402_actual_parameters_147(inout template integer p_val) runs on GeneralComp {
+    testcase TC_Sem_050402_actual_parameters_147(inout template(present) integer p_val) runs on GeneralComp {
         if (match(10, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
 	}
 
 	control {
-        var template R v_val := { field1 := 10 };
+        var template(present) R v_val := { field1 := 10 };
 		execute(TC_Sem_050402_actual_parameters_147(v_val.field1)); // tested parameter passing
 	}
 }
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_148.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_148.ttcn
index 7bb9c5b8f..fcf108784 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_148.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_148.ttcn
@@ -34,14 +34,12 @@ module Sem_050402_actual_parameters_148 {
         integer field1
     } 
 
-	//testcase TC_Sem_050402_actual_parameters_148(inout template(present) integer p_val) runs on GeneralComp
-	//						 something not working with present --^ 
-    testcase TC_Sem_050402_actual_parameters_148(inout template integer p_val) runs on GeneralComp {
+    testcase TC_Sem_050402_actual_parameters_148(inout template(present) integer p_val) runs on GeneralComp {
         if (match(11, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
 	}
     
-    function f_caller(in template R p_param) {
+    function f_caller(in template(present) R p_param) {
         execute(TC_Sem_050402_actual_parameters_148(p_param.field1)); // tested parameter passing
     }
 
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_154.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_154.ttcn
index fdfda8e73..7770c514a 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_154.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_154.ttcn
@@ -38,14 +38,14 @@ module Sem_050402_actual_parameters_154 {
     }
 
 	//function f_test(inout template(present) integer p_val) <-- ref bug everywhere
-    function f_test(inout template integer p_val) {
+    function f_test(inout template(present) integer p_val) {
         if (match(25, p_val)) { setverdict(pass); }
         else { setverdict(fail); }
         p_val := 10;
     }
 
     testcase TC_Sem_050402_actual_parameters_154() runs on GeneralComp {
-        var template R v_rec := {
+        var template(present) R v_rec := {
             field1 := 1,
             field2 := ?
         };
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn
new file mode 100644
index 000000000..7a85b7325
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that variables can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_203 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_203() runs on GeneralComp {
+        var integer v_val := 5;
+        f_test(v_val); // tested parameter passing
+        if (v_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_203());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn
new file mode 100644
index 000000000..efe0e7190
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that variables can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_204 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_204() runs on GeneralComp {
+        var template integer v_val := 5;
+        f_test(v_val); // tested parameter passing
+        if (valueof(v_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_204());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn
new file mode 100644
index 000000000..3b81901e5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that in value parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_205 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_205() runs on GeneralComp {
+        f_caller(0);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_205());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn
new file mode 100644
index 000000000..0f142069d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that out value parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_206 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(out integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_206() runs on GeneralComp {
+        var integer v_val;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_206());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn
new file mode 100644
index 000000000..595cc04e0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that inout value parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_207 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(inout integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_207() runs on GeneralComp {
+        var integer v_val := 1;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_207());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn
new file mode 100644
index 000000000..3e0e9da47
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that in template parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_208 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(template integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_208() runs on GeneralComp {
+        f_caller(?);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_208());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn
new file mode 100644
index 000000000..6f93c54c0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that out template parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_209 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(out template integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_209() runs on GeneralComp {
+        var template integer v_val;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_209());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn
new file mode 100644
index 000000000..c27015d0e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that inout template parameters can be used as actual out value parameters of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_210 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    function f_caller(inout template integer p_val) {
+        f_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_210() runs on GeneralComp {
+        var template integer v_val := ?;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_210());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn
new file mode 100644
index 000000000..f40763406
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that dash can be used as an actual out value parameter of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_211 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_211() runs on GeneralComp {
+        f_test(-); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_211());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn
new file mode 100644
index 000000000..e4eb9ce41
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that variables can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_212 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_212() runs on GeneralComp {
+        var integer v_val := 5;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(v_val); // tested parameter passing
+        if (v_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_212());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn
new file mode 100644
index 000000000..6e04d356f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that variables can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_213 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_213() runs on GeneralComp {
+        var template integer v_val := 5;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(v_val); // tested parameter passing
+        if (valueof(v_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_213());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn
new file mode 100644
index 000000000..47ba94900
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that in value parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_214 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_214() runs on GeneralComp {
+        f_caller(0);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_214());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn
new file mode 100644
index 000000000..63a52d2cf
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that out value parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_215 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(out integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_215() runs on GeneralComp {
+        var integer v_val;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_215());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn
new file mode 100644
index 000000000..ef551e60c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that inout value parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_216 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(inout integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (p_val == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_216() runs on GeneralComp {
+        var integer v_val := 1;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_216());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn
new file mode 100644
index 000000000..7c047bd08
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that in template parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_217 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(template integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_217() runs on GeneralComp {
+        f_caller(?);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_217());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn
new file mode 100644
index 000000000..b3180c01b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that out template parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_218 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(out template integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_218() runs on GeneralComp {
+        var template integer v_val;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_218());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn
new file mode 100644
index 000000000..3e191bcfb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that inout template parameters can be used as actual out value parameters of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_219 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    function f_caller(inout template integer p_val) {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(p_val); // tested parameter passing
+        if (valueof(p_val) == 9) {
+            setverdict(pass);
+        }else {
+            setverdict(fail);
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_219() runs on GeneralComp {
+        var template integer v_val := ?;
+        f_caller(v_val);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_219());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn
new file mode 100644
index 000000000..4bf57fa62
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that dash can be used as an actual out value parameter of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal value parameters shall be (template) variables, 
+// formal (template) parameters (of in, inout or out parameterization) or references to elements 
+// of (template) variables or formal (template) parameters of structured types. Furthermore it is 
+// allowed to use the dash symbol "-" as an actual out parameter, signifying that a possible result 
+// for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_220 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_220() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(-); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_220());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn
new file mode 100644
index 000000000..ca57f096d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that dash can be used as an actual out template parameter of functions
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, formal 
+// template parameters or references to elements of template variables or formal template parameters of 
+// structured types. Furthermore it is allowed to use the dash symbol "-" as an actual out parameter, 
+// signifying that a possible result for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_221 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out template integer p_val) {
+        p_val := ?
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_221() runs on GeneralComp {
+        f_test(-); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_221());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn
new file mode 100644
index 000000000..deb208194
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that dash can be used as an actual out template parameter of altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Actual parameters that are passed to out formal template parameters shall be template variables, formal 
+// template parameters or references to elements of template variables or formal template parameters of 
+// structured types. Furthermore it is allowed to use the dash symbol "-" as an actual out parameter, 
+// signifying that a possible result for that parameter will not be passed back.
+
+module Sem_050402_actual_parameters_222 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out template integer p_val) {
+        [] any timer.timeout {
+            p_val := ?
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_222() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(-); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_222());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn
new file mode 100644
index 000000000..f5b348a49
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that actual out value parameters of functions can be skipped if they are the last ones
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// An actual parameter can also be skipped by just leaving it out if no other actual parameter follows in the actual parameter 
+// list - either because the parameter is last or because all following formal parameters are out parameters or have default 
+// values and are left out.
+
+module Sem_050402_actual_parameters_223 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out integer p_val) {
+        p_val := 9
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_223() runs on GeneralComp {
+        f_test(); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_223());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn
new file mode 100644
index 000000000..a7219afe6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that actual out value parameters of altsteps can be skipped if they are the last ones
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// An actual parameter can also be skipped by just leaving it out if no other actual parameter follows in the actual parameter 
+// list - either because the parameter is last or because all following formal parameters are out parameters or have default 
+// values and are left out.
+
+module Sem_050402_actual_parameters_224 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out integer p_val) {
+        [] any timer.timeout {
+            p_val := 9
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_224() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(-); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_224());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn
new file mode 100644
index 000000000..f42eff253
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that actual out template parameters of functions can be skipped if they are the last ones
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// An actual parameter can also be skipped by just leaving it out if no other actual parameter follows in the actual parameter 
+// list - either because the parameter is last or because all following formal parameters are out parameters or have default 
+// values and are left out.
+
+module Sem_050402_actual_parameters_225 { 
+
+    type component GeneralComp {
+    }
+       
+    function f_test(out template integer p_val) {
+        p_val := ?
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_225() runs on GeneralComp {
+        f_test(); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_225());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn
new file mode 100644
index 000000000..74b6725aa
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.4.2, verify that actual out template parameters of altsteps can be skipped if they are the last ones
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// An actual parameter can also be skipped by just leaving it out if no other actual parameter follows in the actual parameter 
+// list - either because the parameter is last or because all following formal parameters are out parameters or have default 
+// values and are left out.
+
+module Sem_050402_actual_parameters_226 { 
+
+    type component GeneralComp {
+    }
+       
+    altstep a_test(out template integer p_val) {
+        [] any timer.timeout {
+            p_val := ?
+        }
+    }
+    
+    testcase TC_Sem_050402_actual_parameters_226() runs on GeneralComp {
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        a_test(); // tested parameter passing
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_Sem_050402_actual_parameters_226());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn
index 66382e812..a025a61dc 100644
--- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn
@@ -14,7 +14,7 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:5.5, Verify that cyclic altsteps are allowed
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
@@ -31,6 +31,7 @@ module Sem_0505_cyclic_definitions_004 {
 
 	type component GeneralComp {	
 		var integer vc_receiveCounter := 0;
+		timer t_tmr := 1.0;
 		port P p1;
 	}	
 	
@@ -56,6 +57,7 @@ module Sem_0505_cyclic_definitions_004 {
 		for (var integer i := 0; i < 5; i := i + 1) {
 			p1.send(i);
 		}
+		t_tmr.start;
 	    a_test();		
 	}
 	
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn
new file mode 100644
index 000000000..1ea04aaa0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of a bitstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * Only single elements of the string may be accessed. 
+ * Trying to assign strings with length 0 or more than 1
+ * to a string element using the array-like syntax shall
+ * cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_001 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_001() runs on GeneralComp {
+        var bitstring v_b := '100010'B;
+        v_b[1] := '11'B;    //error: only individual elements can be accessed
+    	if (v_b == '100001'B){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_b:",v_b);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_001());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn
new file mode 100644
index 000000000..d3950eb3b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access bitstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_002 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_002() runs on GeneralComp {
+        var bitstring v_b := '100010'B;
+        v_b[7] := '0'B;    //error: index outside of range
+    	if (v_b == '100001'B){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_b:",v_b);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn
new file mode 100644
index 000000000..53f28faea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Created by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of a hexstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_003 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_003() runs on GeneralComp {
+        var hexstring v_h := '100010'H;
+        v_h[1] := '01'H;    //error: only individual elements can be accessed
+    	if (v_h == '100001'H){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_h:",v_h);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_003());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn
new file mode 100644
index 000000000..d8582a12a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Created by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access hexstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_004 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_004() runs on GeneralComp {
+        var hexstring v_h := '100010'H;
+        v_h[7] := '0'H;    //error: index outside of range
+    	if (v_h == '100001'H){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_h:",v_h);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_004());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn
new file mode 100644
index 000000000..8e9fc191e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Created by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Accessing not individual elements of an octetstring
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_005 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_005() runs on GeneralComp {
+        var octetstring v_o := '100010'O;
+        v_o[1] := '0120'O;    //error: only individual elements can be accessed
+    	if (v_o == '100001'O){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_o:",v_o);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_005());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn
new file mode 100644
index 000000000..568a7eef3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Created by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1.1, Access hexstring element out of range
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index shall be between zero and the 
+ * length of the string minus one for retrieving 
+ * an element from a string. Trying to retrieve outside
+ * this range shall cause an error.
+*/
+
+module NegSem_06010101_AccessStringElements_006 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_NegSem_06010101_AccessStringElements_006() runs on GeneralComp {
+        var octetstring v_o := '100010'O;
+        v_o[4] := '01'O;    //error: only individual elements can be accessed
+    	if (v_o == '100001'O){
+    		setverdict(pass);
+    	}
+    	else {
+    		setverdict(fail, "v_o:",v_o);
+    	}
+    }
+    
+    control{
+        execute(TC_NegSem_06010101_AccessStringElements_006());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn
new file mode 100755
index 000000000..9e5a72d36
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Assign and read bitstring with newline character
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_008 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_008() runs on GeneralComp {
+        var bitstring v_a  := '0101\
+                        1010'B;
+               
+    	if (match(v_a,'01011010'B))
+        {
+    		setverdict(pass,"v_a:",v_a);
+    	}
+    	else {
+    		setverdict(fail,"v_a:",v_a);
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_008());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn
new file mode 100755
index 000000000..cba917bbc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Ensure that whitespaces, control characters and backslash will be ignored for the bitstring length calculation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_009 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_009() runs on GeneralComp {
+        var bitstring v_a  := '0101\
+                                1010'B;
+               
+    	if (match(lengthof(v_a), 8))
+        {
+    		setverdict(pass,"Size of v_a is:",lengthof(v_a));
+    	}
+    	else {
+    		setverdict(fail,"Size of v_a is:",lengthof(v_a));
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_009());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn
new file mode 100755
index 000000000..6ff6d0b79
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Assign and read hexstring with newline character
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_010 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_010() runs on GeneralComp {
+        var hexstring v_a  := 'Ab\
+				cD'H;
+               
+    	if (match(v_a,'AbcD'H))
+        {
+    		setverdict(pass,"v_a:",v_a);
+    	}
+    	else {
+    		setverdict(fail,"v_a:",v_a);
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_010());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn
new file mode 100755
index 000000000..dabee8c1a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Ensure that whitespaces, control characters and backslash will be ignored for the hexstring length calculation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_011 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_011() runs on GeneralComp {
+        var hexstring v_a  :=   '12\
+				34\
+                                Ab\
+				Cd'H;
+               
+    	if (match(lengthof(v_a), 8))
+        {
+    		setverdict(pass,"Size of v_a is:",lengthof(v_a));
+    	}
+    	else {
+    		setverdict(fail,"Size of v_a is:",lengthof(v_a));
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_011());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn
new file mode 100755
index 000000000..54ff0e83b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Assign and read octetstring with newline character
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_012 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_012() runs on GeneralComp {
+        var octetstring v_a  := '1234\
+				56'O;
+               
+    	if (match(v_a,'123456'O))
+        {
+    		setverdict(pass,"v_a:",v_a);
+    	}
+    	else {
+    		setverdict(fail,"v_a:",v_a);
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_012());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn
new file mode 100755
index 000000000..2d37da8a3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Ensure that whitespaces, control characters and backslash will be ignored for the octetstring length calculation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:
+ * Within the quotes any number of whitespaces or any sequence of the following C0 control characters: 
+ * LF(10), VT(11), FF(12), CR(13) which constitutes a newline  may be included. The newline shall be preceded by a backslash ("\").
+ * Such whitespaces, control characters and backslash will be ignored for the value and length calculation.
+*/
+
+module Sem_060101_TopLevel_013 {
+    
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_013() runs on GeneralComp {
+        var octetstring v_a  :=   '12\
+				                    34\
+                                    56'O;    // 3 octets
+             
+    	if (match(lengthof(v_a), 3))
+        {
+    		setverdict(pass,"Size of v_a is: ",lengthof(v_a));
+    	}
+    	else {
+    		setverdict(fail,"Size of v_a is: ",lengthof(v_a));
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_013());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn
new file mode 100755
index 000000000..18cf5af17
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn
@@ -0,0 +1,40 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Ensure that whitespaces and backslash character is allowed in a universal charstring
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+module Sem_060101_TopLevel_014 {
+  
+    type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_014() runs on GeneralComp {
+        var universal charstring v_a := "ABC\        DEF"; 
+    	if (match(v_a,universal charstring:"ABC\        DEF"))
+        {
+    		setverdict(pass,"v_a:",v_a);
+    	}
+    	else {
+    		setverdict(fail,"v_a:",v_a);
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_014());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn
new file mode 100755
index 000000000..9d27bff82
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.1.1, Ensure that whitespaces, control characters and backslash will be included for the universal charstring length calculation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+module Sem_060101_TopLevel_015 {
+  
+ type component GeneralComp {}
+    
+    testcase TC_Sem_060101_TopLevel_015() runs on GeneralComp {
+        var universal charstring v_a := "ABC\    DEF";    //lengthof(v_a) is 11
+               
+    	if (match(lengthof(v_a), 11))
+        {
+    		setverdict(pass,"Size of v_a is:",lengthof(v_a));
+    	}
+    	else {
+    		setverdict(fail,"Size of v_a is:",lengthof(v_a));
+    	}
+    }
+    
+    control{
+        execute(TC_Sem_060101_TopLevel_015());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn
new file mode 100644
index 000000000..e9df01bbb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.4, using enumerated value number integer conversion
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// enumerated values with a specific integer value assigned shall not use the associated integer
+
+module NegSem_060204_enumerated_type_and_values_012 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday(-1), Tuesday(1), Wednesday(2), Thursday(3), Friday(5)
+    };
+    
+    testcase TC_NegSem_060204_enumerated_type_and_values_012() runs on GeneralComp {
+        var EDays v_enum := Friday(5);    // error: shall not use the associated integer
+     
+        if (match(enum2int(v_enum),5)) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_NegSem_060204_enumerated_type_and_values_012());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn
new file mode 100644
index 000000000..2945a1912
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn
@@ -0,0 +1,30 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.4, expression as user-assigned enumerated value
+ ** @verdict  pass reject, noexecutino
+ ***************************************************/
+
+// The following requirement is tested:
+// ach enumerated value may optionally have a user-assigned integer value or non-empty list of integer literal values or ranges of integer literal values
+
+module NegSyn_060204_enumerated_type_and_values_001 {
+
+    type enumerated MyFirstEnumType {
+        Monday, Tuesday(), Thursday, Friday
+    };    // error: non-empty integer literal required
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn
new file mode 100644
index 000000000..2af1fdbc4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.4, mixed automatic and explicit numbering of enumerated items
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+/* For each enumerated value without an assigned integer value, 
+  the system successively associates an integer number in the textual 
+  order of the enumerated values, starting at the left-hand side, 
+  beginning with zero, by step 1 and skipping any number occupied by any
+ of the enumerated values with a manually assigned value or value list.
+*/
+module Sem_060204_enumerated_type_and_values_007 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday(1), Tuesday, Wednesday, Thursday(10), Friday(11..30)
+    };
+    
+    testcase TC_Sem_060204_enumerated_type_and_values_007() runs on GeneralComp {
+        var EDays v_day0 := Monday, v_day2 := Wednesday, v_day4 := Friday(15);
+		
+		if (enum2int(v_day0) == 1 and enum2int(v_day2) == 2 and enum2int(v_day4) == 15) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control {
+		execute(TC_Sem_060204_enumerated_type_and_values_007());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn
new file mode 100644
index 000000000..a4a49b10e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose 1:6.5.2, Ensure that union is initialized by anytype dot notation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+/*The following requirement is tested:
+ * AlternativeId shall resolve to the name of an alternative in the union type or
+ * in case of an anytype value or template AlternativeId shall resolve to a known type name
+ * or a known type name qualified with a module name.
+ */
+
+module Sem_06020501_referencing_fields_of_union_type_007 {
+	type union MyUnionType 
+	{	
+		integer 	number,
+		anytype 	string
+	};	
+	
+	type component GeneralComp {	    	    
+	};
+
+	
+	testcase TC_Sem_06020501_referencing_fields_of_union_type_007 () runs on GeneralComp {
+		var MyUnionType v_mut ;
+		v_mut.string.integer := 3;    // AlternativeID shall resolve type e.g. integer
+		
+		if (v_mut.string.integer == 3) {
+			setverdict(pass);
+		}
+		else {
+			setverdict(fail);
+		}
+	}
+ 
+	control {
+		execute(TC_Sem_06020501_referencing_fields_of_union_type_007());
+	}
+}
+with {
+	extension "anytype integer"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn
new file mode 100644
index 000000000..18558454e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose 1:6.5.2, Ensure that union is initialized by anytype dot notation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+ 
+/*The following requirement is tested:
+ * AlternativeId shall resolve to the name of an alternative in the union type or
+ * in case of an anytype value or template AlternativeId shall resolve to a known type name
+ * or a known type name qualified with a module name.
+ */
+
+module Sem_06020501_referencing_fields_of_union_type_008 {
+	type union MyUnionType 
+	{	
+		integer 	number,
+		anytype 	string
+	};	
+    type integer My_Int;
+	
+	type component GeneralComp {	    	    
+	};
+
+	
+	testcase TC_Sem_06020501_referencing_fields_of_union_type_008 () runs on GeneralComp {
+		var MyUnionType v_mut ;
+		v_mut.string.My_Int := 3;    // AlternativeID shall resolve type e.g. My_Int
+		
+		if (v_mut.string.My_Int == 3) {
+			setverdict(pass);
+		}
+		else {
+			setverdict(fail);
+		}
+	}
+ 
+	control {
+		execute(TC_Sem_06020501_referencing_fields_of_union_type_008());
+	}
+}
+with {
+	extension "anytype My_Int"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn
new file mode 100644
index 000000000..cf9b3d5a1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.7, Ensure that arrays upper value shall not be lesser than the corresponding lower value
+ ** @verdict  pass reject
+ ***************************************************/
+/*The following requirement is tested:
+ * The upper value shall not be lesser than the corresponding lower value.
+ */
+module NegSyn_060207_arrays_005 {
+
+    control {
+        var integer v_arr[5..1];    // error: . The upper value shall not be lesser than the corresponding lower value
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn
new file mode 100644
index 000000000..f9eeac7bb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn
@@ -0,0 +1,30 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types
+ ** @verdict  pass reject
+ ***************************************************/
+/*The following requirement is tested:
+ * In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+ */
+module NegSem_06021301_LengthSubtyping_005 {
+   type set length(0..10) of integer SetOfLengthLessThan10;
+
+   type SetOfLengthLessThan10 SetOfLength5 length(5..2);	
+   //Error: In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn
new file mode 100644
index 000000000..7e1e7f4d6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn
@@ -0,0 +1,32 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types
+ ** @verdict  pass reject
+ ***************************************************/
+
+/*The following requirement is tested:
+ * In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+*/
+
+module NegSem_06021301_LengthSubtyping_006 {
+   type record length(0..10) of integer RecordOfLengthLessThan10;
+
+   type RecordOfLengthLessThan10 RecordOfLengthLessThan5 length(5..2);	
+   //Error: In case of the range syntax the upper bound shall not be lesser than the lower bound value.
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn
new file mode 100644
index 000000000..abda24318
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn
@@ -0,0 +1,37 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ *The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_004 {
+    type record MyRecord {
+        integer field1,
+        charstring field2 optional,
+        float field3
+    }
+    const MyRecord c_rec := {
+        field1 := 5,
+        field1 := 6,    // error: already appeared field
+        field3 := 3.14
+    };
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn
new file mode 100644
index 000000000..027a250f3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The index notation can be used for record of and setof value notations and for arrays.
+ * In this notation each index shall not appear more than once and shall conform to the range of indices allowed by the type definition. 
+*/
+
+module NegSyn_0602_TopLevel_005 {
+
+    type set of integer MySetOfType;
+        type component GeneralComp {
+    }
+    
+testcase TC_NegSyn_0602_TopLevel_005() runs on GeneralComp {
+
+      var MySetOfType v_set := {
+        [0] := 1,
+        [1] := 2,
+        [1] := 3    // error already indexed
+    };
+
+        if ( match(v_set, {1,3})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_005());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn
new file mode 100644
index 000000000..d8047e14d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_006 {
+
+    type set MySetType{	
+		integer	field1,
+		charstring	field2 
+	}
+    
+    type component GeneralComp {
+    }
+    
+    testcase TC_NegSyn_0602_TopLevel_006() runs on GeneralComp {
+
+      var MySetType v_set := {
+        field1 := 5,
+        field1 := 6,    // error: already appeared field
+        field2 := "abc"
+      };
+
+        if ( match(v_set, {5,"abc"})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_006());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn
new file mode 100644
index 000000000..26fc4822f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context.
+ ** @verdict  pass reject
+ ***************************************************/
+/* The following requirements are tested:
+ * The assignment notation can be used for record, record of, set, setof and union value
+ * notations and for arrays. In this notation each field shall not appear more than once.
+*/
+
+module NegSyn_0602_TopLevel_007 {
+
+    type record of integer MyRecordOfType;
+        type component GeneralComp {
+    }
+    
+testcase TC_NegSyn_0602_TopLevel_007() runs on GeneralComp {
+
+      var MyRecordOfType v_RoI := {
+        [0] := 1,
+        [1] := 2,
+        [1] := 3    // error already indexed
+    };
+
+        if ( match(v_RoI, {1,3})) {
+            setverdict(pass);
+        }
+        else {
+            setverdict(fail);
+        }
+    }
+
+    control {
+        execute(TC_NegSyn_0602_TopLevel_007());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn
index c376d1a26..032a2d10b 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn
@@ -19,7 +19,7 @@
  ** @verdict  pass reject
  ***************************************************/
 
-module NegSem_060302_structured_types_009 { 
+module NegSem_060302_structured_types_009 language "TTCN-3:2016"{ 
 
 	type enumerated EnumeratedType {e_black, e_white};
 	type enumerated EnumeratedRedefinition {e_black, e_white};
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn
index a24e41526..9bcdf2492 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn
@@ -14,12 +14,12 @@
  *
  * Modified by: Adrien Kirjak
  *
- ** @version  0.0.1
+ ** @version  0.0.2
  ** @purpose  1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths 
  ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
-module Sem_060302_structured_types_002 language "TTCN-3:2010" {
+module Sem_060302_structured_types_002 {
 
     type record RecordType {
         integer  a,
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_003.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_003.ttcn
index dfa1cd833..e9ce8ea8f 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_003.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of different runs on clauses
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_004.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_004.ttcn
index 48939709d..d0bb5a70e 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_004.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of mtc and runs on clause
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_005.ttcn
index 3951edfde..7d8f3ec81 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_005.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of system and runs on clause
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_006.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_006.ttcn
index 9f83857ce..66cc1123a 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_006.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of different system clauses
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_003.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_003.ttcn
index 806aeb432..6ff4bec2a 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_003.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of different runs on clauses
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_004.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_004.ttcn
index b50cdf027..c421a7669 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_004.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of mtc and runs on clause
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_005.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_005.ttcn
index 78a87b756..69dc1f8c7 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_005.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of system and runs on clause
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_006.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_006.ttcn
index 3478bb139..ffd9a5d27 100644
--- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_006.ttcn
@@ -12,7 +12,7 @@
  * copyright notice shall be included in all copies of whole or part of this
  * file and shall not imply any sub-license right.
  *
- * Modified by: Adrien Kirjak
+ * Created by: Adrien Kirjak
  *
  ** @version  0.0.1
  ** @purpose  1:6.3.3, Ensure that the IUT correctly handles component compatibility of different system clauses
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001.ttcn
new file mode 100644
index 000000000..68aa3da04
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.3.0.6, ensure that anytype types are only compatible with other anytype types.
+ ** @verdict  pass reject
+ ***************************************************/
+
+/*The following requirement is tested:
+ * Only anytype types that are constrained to a fixed set of types via list subtyping 
+ * can be a potential cause for anytype incompatibility, i.e. if the set of types contained 
+ * in type "B" does not contain the type selected in "a".
+*/
+
+module NegSem_060305_compatibility_of_anytype_types_001 {
+    
+    //import from NegSem_060305_compatibility_of_anytype_types_001_importB all;
+    //import from NegSem_060305_compatibility_of_anytype_types_001_importC all;
+    
+    type integer I (0..9);
+    type charstring C;
+	type anytype Btype;
+    //type anytype Btype ({float:=?},{integer:=?}); 
+
+    type component GeneralComp { 
+	}
+
+	
+	testcase TC_NegSem_060305_compatibility_of_anytype_types_001() runs on GeneralComp {
+		        
+		//var NegSem_060305_compatibility_of_anytype_types_001_importB.Atype v_aa;
+		//var Atype v_baI ;
+//:= { NegSem_060305_compatibility_of_anytype_types_001_importC.I := 1 };
+
+		//v_aa := v_baI;        // incorrect
+			  setverdict(pass);   
+	}
+
+	control {
+    	execute(TC_NegSem_060305_compatibility_of_anytype_types_001());
+	}
+
+}
+with {
+	extension "anytype integer"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importB.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importB.ttcn
new file mode 100644
index 000000000..a83ddefd4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importB.ttcn
@@ -0,0 +1,28 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.3.0.6, ensure that anytype types are only compatible with other anytype types.
+ ** @verdict  pass reject
+ ***************************************************/
+
+module NegSem_060305_compatibility_of_anytype_types_001_importB  {
+		type integer I (0..2);
+		type anytype Atype ({I:=?},{integer:=?},{float:=?});
+}
+with {
+	extension "anytype integer, float, I"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importC.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importC.ttcn
new file mode 100644
index 000000000..6c808fc6d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060305_compatibility_of_anytype_types/NegSem_060305_compatibility_of_anytype_types_001_importC.ttcn
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:5.3.0.6, ensure that anytype types are only compatible with other anytype types.
+ ** @verdict  pass reject
+ ***************************************************/
+
+module NegSem_060305_compatibility_of_anytype_types_001_importC  {
+	    type integer I (0..2);
+		type float F;
+		type anytype Atype ({I:=?},{F:=?},{integer:=?}); 
+}
+with {
+	extension "anytype I, F, integer"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_051.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_051.ttcn
index 507dfe96d..3147472e2 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_051.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_051.ttcn
@@ -28,7 +28,12 @@ testcase TC_Sem_070101_ArithmeticOperators_051() runs on GeneralComp {
 	var float v_i := -infinity;
 	var float v_k :=2.0E0;
 	
-	var float v_result := v_i * v_k;	// arithmetic operator with -infinity is not allowed
+	var float v_result := v_i * v_k;	// arithmetic operator with -infinity is allowed by IEEE 754 
+
+   if (v_result == -infinity)
+		{ setverdict(pass); }
+   else 
+		{ setverdict(fail); }
 	
 	setverdict(pass);
 
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_052.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_052.ttcn
index cfa051bc6..28c89df35 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_052.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_052.ttcn
@@ -19,14 +19,14 @@
  ** @verdict  pass accept, ttcn3verdict:pass
  *****************************************************************/
 
-module Sem_070101_ArithmeticOperators_051 {
+module Sem_070101_ArithmeticOperators_052 {
 
 type component GeneralComp {	    	    
 }
 
 type integer address;
     
-testcase TC_Sem_070101_ArithmeticOperators_051() runs on GeneralComp {
+testcase TC_Sem_070101_ArithmeticOperators_052() runs on GeneralComp {
     
     var address My_address := null;   
     
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_053.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_053.ttcn
index 9a0f95702..9a921ba99 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_053.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_053.ttcn
@@ -22,14 +22,14 @@
 /* Restriction c)	With the exception of the equality and non-equality operators, the special value null shall not be used as an operand of expressions (see clause 7.1.3).*/
 
 
-module Sem_070101_ArithmeticOperators_052 {
+module Sem_070101_ArithmeticOperators_053 {
 
 type component GeneralComp {	    	    
 }
 
 type integer address;
     
-testcase TC_Sem_070101_ArithmeticOperators_052() runs on GeneralComp {
+testcase TC_Sem_070101_ArithmeticOperators_053() runs on GeneralComp {
     
     var address My_address := 1;   
     
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn
new file mode 100644
index 000000000..3a921c849
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7.1.3, Ensure that anytypes can be compared
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirement is tested:
+// Values of the same or any two anytype types can be compared. 
+// For anytype values the same rule apply as to union values, with the addition that names of user-defined types defined with the same name in different modules do not denote the same type name of the selected alternatives.
+
+module Sem_070103_RelationalOperators_048 {
+
+type component GeneralComp {	    	    
+}
+    
+type anytype Atype_1;
+
+type anytype Atype_2;
+    
+testcase TC_Sem_070103_RelationalOperators_048() runs on GeneralComp {
+    
+    var Atype_1 v_any1;
+    var Atype_2 v_any2;
+    
+    v_any1.integer := 2;
+    v_any2.integer := 4;
+    
+	if (v_any1.integer < v_any2.integer) {
+		setverdict(pass);
+	} else {
+		setverdict(fail);
+	}
+}
+
+control{
+    execute(TC_Sem_070103_RelationalOperators_048());
+}
+
+}
+with {
+	extension "anytype integer"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn
new file mode 100644
index 000000000..ee570b155
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7.1.3, Ensure that anytypes can be compared
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirement is tested:
+// Values of the same or any two anytype types can be compared. 
+// For anytype values the same rule apply as to union values, with the addition that names of user-defined types defined with the same name in different modules do not denote the same type name of the selected alternatives.
+
+
+module Sem_070103_RelationalOperators_049 {
+
+type component GeneralComp {	    	    
+}
+    
+type anytype Atype;
+    
+testcase TC_Sem_070103_RelationalOperators_049() runs on GeneralComp {
+    
+    var Atype v_any1;
+    var Atype v_any2;
+    
+    v_any1.float := 2.4;
+    v_any2.float := 4.2;
+    
+	if (v_any1.float < v_any2.float) {
+		setverdict(pass);
+	} else {
+		setverdict(fail);
+	}
+}
+
+control{
+    execute(TC_Sem_070103_RelationalOperators_049());
+}
+
+}
+with {
+	extension "anytype float"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn
new file mode 100644
index 000000000..60a570716
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7.1.3, Ensure that the less than or equal to operator on enumerations is evaluated correctly with differing values.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+// The following requirements are tested:
+/* Two enumerated values are equal if and only if they are associated 
+ * with the same integer value. Otherwise, they are ordered using the 
+ * mathematical order on the associated integer values.*/
+
+
+module Sem_070103_RelationalOperators_050 {
+
+type component GeneralComp {	    	    
+}
+
+type enumerated MyEnumType1 { 
+	e_monday(2), e_tuesday, e_wednesday, e_thursday, e_friday
+};
+    
+type enumerated MyEnumType2 { 
+	e_monday(1..8), e_tuesday, e_wednesday, e_thursday, e_friday
+};
+
+testcase TC_Sem_070103_RelationalOperators_050() runs on GeneralComp {
+	var MyEnumType1 v_first := e_monday;
+	var MyEnumType2 v_second := e_monday(2);
+
+	if (match(enum2int(v_first),enum2int(v_second))) {
+		setverdict(pass);
+	} else {
+		setverdict(fail);
+	}
+}
+
+control{
+    execute(TC_Sem_070103_RelationalOperators_050());
+}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_002.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_002.ttcn
index 77e0f4ffc..14ca927b3 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_002.ttcn
@@ -20,8 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Compound expressions are used for expressions of array, record, record of and 
-// set of types.
+// Assignment or list notations are used for expressions of record, set, record of, set of, 
+// array, union and anytype types. 
 
 module Sem_07_toplevel_002
 {
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_003.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_003.ttcn
index 517d89ce2..fe6aece78 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_003.ttcn
@@ -20,8 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Compound expressions are used for expressions of array, record, record of and 
-// set of types.
+// Assignment or list notations are used for expressions of record, set, record of, set of, 
+// array, union and anytype types. 
 
 module Sem_07_toplevel_003
 {
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn
index 643b844c4..abfb7a09c 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn
@@ -20,8 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Compound expressions are used for expressions of array, record, record of and 
-// set of types.
+// Assignment or list notations are used for expressions of record, set, record of, set of, 
+// array, union and anytype types. 
 
 module Sem_07_toplevel_004
 {
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn
index b9ceecee6..ea462c44b 100644
--- a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn
@@ -20,8 +20,8 @@
  ***************************************************/
 
 // The following requirement is tested:
-// Compound expressions are used for expressions of array, record, record of and 
-// set of types.
+// Assignment or list notations are used for expressions of record, set, record of, set of, 
+// array, union and anytype types. 
 
 module Sem_07_toplevel_005
 {
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn
new file mode 100644
index 000000000..7f08c820b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7, compound expression as an operand of anytype type
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Assignment or list notations are used for expressions of record, set, record of, set of, array, union and anytype types.
+
+module Sem_07_toplevel_007
+{
+    type component GeneralComp {
+	}
+    
+    type anytype Atype;
+    
+    type record R {
+        integer field1,
+        charstring field2 optional
+    }
+    
+    testcase TC_Sem_07_toplevel_007() runs on GeneralComp {        
+        var Atype v_any;
+        v_any.R.field1 := 1;
+        v_any.R.field2 := omit;
+
+        if (v_any.R == { field1 := 1, field2 := omit }) 
+			{ setverdict(pass); }
+        else 
+			{ setverdict(fail); }
+	}
+	
+	control {        
+		execute(TC_Sem_07_toplevel_007());
+	}
+}
+with {
+	extension "anytype R"
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn
new file mode 100644
index 000000000..245b3b8e2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7, compound expression as an operand of union type
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Assignment or list notations are used for expressions of record, set, record of, set of, array, union and anytype types.
+
+module Sem_07_toplevel_008
+{
+    type component GeneralComp {
+	}
+
+    type union U {
+        integer     field1,
+        charstring  field2
+    }
+    
+    testcase TC_Sem_07_toplevel_008() runs on GeneralComp {        
+        var U v_union := { field2 := "abc" };
+        
+        if (v_union == {field2 := "abc" }) { setverdict(pass); }
+        else { setverdict(fail,v_union); }
+	}
+	
+	control {        
+		execute(TC_Sem_07_toplevel_008());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn
new file mode 100644
index 000000000..6a620bf18
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:7, compound expression as an operand of set type
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Assignment or list notations are used for expressions of record, set, record of, set of, 
+// array, union and anytype types. 
+
+module Sem_07_toplevel_009
+{
+    type component GeneralComp {
+	}
+    
+    type set SI
+    {	
+		integer	field1,
+		integer	field2 
+	};
+    
+    testcase TC_Sem_07_toplevel_009() runs on GeneralComp {        
+        var SI v_set;
+        v_set.field1 := 1;
+        v_set.field2 := 2;
+        if (match(v_set,{ field1 := 1, field2 := 2 })) { setverdict(pass); }
+        else { setverdict(fail); }
+	}
+	
+	control {        
+		execute(TC_Sem_07_toplevel_009());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn
new file mode 100644
index 000000000..060b8ecff
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn
@@ -0,0 +1,24 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.1, Ensure that a module definition with ed4.8.1 language and package is accepted.
+ ** @verdict  pass accept, noexecution
+ *****************************************************************/
+
+module Syn_0801_DefinitionOfAModule_010 language "TTCN-3:2016" {
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn
new file mode 100644
index 000000000..9fd8753bb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a port, default or component types cannot be module parameters.
+ ** @verdict  pass reject
+ *****************************************************************/
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_001 {
+
+   type port MyMessagePortType message {
+		inout	integer
+	} with {extension "internal"}
+
+	modulepar MyMessagePortType MY_PORT;    // not allowed
+	
+	type component GeneralComp {
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_001() runs on GeneralComp {
+		if (MY_PORT.checkstate("Started")) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_001());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn
new file mode 100644
index 000000000..c53228b74
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a port, default or component types cannot be module parameters.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_002 {
+
+   type port MyMessagePortType message{
+		inout	integer
+	} with {extension "internal"}
+    
+   type component MyComponentType {
+        port MyMessagePortType pCO1;
+	}
+    
+	modulepar MyComponentType MY_COMP;    // not allowed
+	
+	type component GeneralComp {
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_002() runs on GeneralComp {
+
+		if (MY_COMP.running) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_002());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn
new file mode 100644
index 000000000..4d8798313
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a port, default or component types cannot be module parameters.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_003 {
+
+	modulepar default MY_DEF := null;    // not allowed
+	
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_003() runs on GeneralComp {
+		
+		if (MY_DEF == null) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_003());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn
new file mode 100644
index 000000000..139fd8e86
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameters remain constant.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+/* Restriction B: Module parameters shall not be of port type,
+ * default type or component type and shall not be of a structured type that contains a sub-element of 
+ * port type at any level of nesting.*/
+
+module NegSem_080201_ModuleParameters_004 {
+
+	modulepar integer MY_INT := 2; 
+	
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_004() runs on GeneralComp {
+		MY_INT := 3;    // not allowed to change module parameter
+		if (MY_INT == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_004());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn
new file mode 100644
index 000000000..71e38763f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn
@@ -0,0 +1,42 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a reference to plain module parameter with a default value delivers the default value unless it is overwritten.
+ ** @verdict  pass reject
+ *****************************************************************/
+// A module parameter shall only be of type address if the address type is explicitly defined within the associated module
+
+module NegSem_080201_ModuleParameters_005 {
+
+	modulepar address MY_ADDRESS_MODULE_PARAMETER := 2;    // error: address type not defined
+	
+	type component GeneralComp {
+	}
+
+	testcase TC_NegSem_080201_ModuleParameters_005() runs on GeneralComp {
+		if (MY_ADDRESS_MODULE_PARAMETER == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_005());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn
new file mode 100644
index 000000000..14f57b4a4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that a module parameter is not allowed to be used in arrays
+ ** @verdict  pass reject
+ *****************************************************************/
+//Module parameters shall not be used in type or array definitions.
+
+module NegSem_080201_ModuleParameters_006 {
+
+	modulepar integer MY_INT_MODULE_PARAMETER := 2;  
+		
+	type component GeneralComp {	    	    
+	}
+
+	type integer MyArrayType[MY_INT_MODULE_PARAMETER];
+	// error: Module parameters shall not be used in type or array definitions.
+
+	testcase TC_NegSem_080201_ModuleParameters_006() runs on GeneralComp {
+	
+		var MyArrayType v_arr := {2,3};
+
+		if (v_arr[0] == 2) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+		execute(TC_NegSem_080201_ModuleParameters_006());
+	}
+	
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn
new file mode 100644
index 000000000..2ef5c8b98
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn
@@ -0,0 +1,35 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameter can be declared within the module definition part only.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+module NegSyn_080201_ModuleParameters_001 {
+
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSyn_080201_ModuleParameters_001() runs on GeneralComp {
+		modulepar integer MY_MODULE_PAR := 1;    // not allowed to declared here
+		setverdict(fail);
+	}
+	
+	control {
+		execute(TC_NegSyn_080201_ModuleParameters_001());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn
new file mode 100644
index 000000000..8928e77fc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn
@@ -0,0 +1,36 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:8.2.1, Ensure that module parameter can be declared within the module definition part only.
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+module NegSyn_080201_ModuleParameters_002 {
+	modulepar integer MY_MODULE_PAR := 1; 
+	modulepar integer MY_MODULE_PAR := 2;    //error: not allowed to redeclare
+
+	type component GeneralComp {	    	    
+	}
+
+	testcase TC_NegSyn_080201_ModuleParameters_002() runs on GeneralComp {
+		setverdict(fail);
+	}
+	
+	control {
+		execute(TC_NegSyn_080201_ModuleParameters_002());
+	}
+    
+}
diff --git a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn
index 9773bb05d..22d9ff5e4 100644
--- a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn
@@ -19,7 +19,7 @@
  ** @verdict  pass reject
  ***************************************************/
 
-/*NOTE: see Figure 7(f): connection of two TSI ports is not allowed
+/*NOTE: see Figure 7(g): connection of an already mapped port is not allowed
  * */
 
 module NegSem_0901_Communication_ports_002{ 
diff --git a/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn b/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn
new file mode 100755
index 000000000..c525681ca
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn
@@ -0,0 +1,37 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:11.1, Variables should be assigned only by initialized variables
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The expression shall evaluate to a value, which is at least partially initialized.
+
+module NegSem_1101_ValueVars_005 {
+    type component GeneralComp {}
+    
+	testcase TC_NegSem_1101_ValueVars_005() runs on GeneralComp {
+  		var integer v_i;
+        var integer v_j := v_i + 2;    // error: v_i is uninitialized            
+
+        setverdict(pass);
+	}
+    
+    control {
+        execute(TC_NegSem_1101_ValueVars_005());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn b/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn
new file mode 100644
index 000000000..853dc95e2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:11.1, Variables should be assigned only by values
+ ** @verdict pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+//formerly: NegSem_1101_ValueVars_006
+
+module Sem_1101_ValueVars_006 {
+    type component GeneralComp {}
+    
+	testcase TC_Sem_1101_ValueVars_006() runs on GeneralComp {
+  		var integer v_i := 1;
+        var @lazy integer v_j := v_i + 2;   
+         
+        v_i := v_j;
+  
+        if(v_i == 3){
+          setverdict(pass);
+        }
+        else{
+          setverdict(fail);  
+        }
+
+        
+	}
+    
+    control {
+        execute(TC_Sem_1101_ValueVars_006());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn b/conformance_test/core_language_tests/positive_tests/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn
new file mode 100644
index 000000000..3a2ce6c39
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn
@@ -0,0 +1,39 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:11.2, Template variables should be assigned with unitialized variables
+ ** @verdict  pass reject
+ ***************************************************/
+
+/* The following requirements are tested:
+Restriction l) The template body at the right-hand side of the  assignment symbol shall evaluate to a value or template, which is type compatible with the variable being declared.
+*/
+
+module NegSyn_1102_TemplateVars_002 {
+    type component GeneralComp {}
+    
+	testcase TC_NegSyn_1102_TemplateVars_002() runs on GeneralComp {
+  		var integer v_i1 := 1;
+        var template float v_i2 := v_i1; // error: v_i1 is integer, meanwhile template type is float
+  		
+        setverdict(pass);
+	}
+    
+    control {
+        execute(TC_NegSyn_1102_TemplateVars_002());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001_new.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001_new.ttcn
new file mode 100644
index 000000000..35d84361e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001_new.ttcn
@@ -0,0 +1,92 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.6.4, Test modification of signature parameters.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_150604_ReferencingSignatureParameters_001_new {
+
+/**
+ * @desc testing of inline return template for remote procedure call
+ * @param p_par1 only input parameter
+ * @param p_par2 must have value 4 at return
+ * @param p_par3 must have value 5 at return
+ * @return must return value 1
+ */
+ 
+signature p_Sem_150604_ReferencingSignatureParameters_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer;
+
+template p_Sem_150604_ReferencingSignatureParameters_001 s_baseTemplate := { 
+	p_par1 := -,
+	p_par2 := 4,
+	p_par3 := ?
+}
+
+template p_Sem_150604_ReferencingSignatureParameters_001 s_returnTemplate modifies s_baseTemplate := { 
+	p_par3 := 5
+}
+
+template p_Sem_150604_ReferencingSignatureParameters_001 s_wrongTemplate modifies s_baseTemplate := { 
+	p_par3 := 3
+}
+
+template p_Sem_150604_ReferencingSignatureParameters_001 s_callTemplate := { 
+	p_par1 := 1,
+	p_par2 := -,
+	p_par3 := 3
+}
+
+    type port remotePort procedure {
+    	inout p_Sem_150604_ReferencingSignatureParameters_001;
+	}
+
+type component GeneralComp {	    	    
+	  port remotePort PCO;
+}	
+
+function f_ptcBehaviour() runs on GeneralComp {
+    PCO.getcall(p_Sem_150604_ReferencingSignatureParameters_001:?);
+    PCO.reply(p_Sem_150604_ReferencingSignatureParameters_001:{-, 4, 5} value 1);
+}
+    
+testcase TC_Sem_150604_ReferencingSignatureParameters_001_new() runs on GeneralComp system GeneralComp {
+ var GeneralComp v_ptc := GeneralComp.create("PTC");
+ connect (self:PCO, v_ptc:PCO);
+ v_ptc.start(f_ptcBehaviour());
+ PCO.call(p_Sem_150604_ReferencingSignatureParameters_001:s_callTemplate, 5.0) {
+	
+	[] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_wrongTemplate value 1) {		
+		setverdict(fail);
+	} 
+	[] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_returnTemplate value 2) {		
+		setverdict(fail);
+	} 
+	[] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_returnTemplate value 1) {		//check that procedure is returning correct values
+		setverdict(pass);
+	} 
+	[] PCO.catch (timeout) {
+		setverdict(fail);
+	}
+ }
+}
+
+control{
+    execute(TC_Sem_150604_ReferencingSignatureParameters_001_new());
+}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn
index 7c12ea250..3e1f35651 100644
--- a/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn
@@ -39,7 +39,7 @@ module NegSem_1508_TemplateRestrictions_036 {
 		if (valueof(m_baseTemplate.b) == true) {
       		setverdict(pass);
 		} else {
-            setverdict(fail);
+            setverdict(fail, valueof(m_baseTemplate.b));
        }
  	}
 
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
index fef122082..728845683 100644
--- 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
@@ -15,7 +15,7 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:15.8, Ensure that template(present) can be parameter to template(omit)
+ ** @purpose  1:15.8, Ensure that template cannot be parameter to template(omit)
  ** @verdict  pass reject
  *****************************************************************/
 
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn
new file mode 100644
index 000000000..0ec422f11
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation refuses not initialized operands. 
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// Restriction b) The operands of the match operation shall be completely initialized.
+ 
+module NegSem_1509_MatchOperation_002 {
+
+	type component GeneralComp { }
+
+	template integer m_lessThan10 := (-infinity..9);
+
+	testcase TC_NegSem_1509_MatchOperation_002() runs on GeneralComp {
+		
+		var integer v_value;
+		
+		if (match(v_value, m_lessThan10)) { // error: The operands of the match operation shall be completely initialized.
+			setverdict(pass);
+		} else {
+			setverdict(fail,"Reason: ", v_value);
+		}
+	}
+
+	control{
+		execute(TC_NegSem_1509_MatchOperation_002());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn
new file mode 100644
index 000000000..a016f81e9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation works correctly with enums.
+ ** @verdict  pass reject
+ *****************************************************************/
+
+module NegSem_1509_MatchOperation_003 {
+
+	type component GeneralComp { }
+
+	type enumerated A_enum { A, B, C, D, E };
+	type enumerated B_enum { A, F, G };
+
+	testcase TC_NegSem_1509_MatchOperation_003() runs on GeneralComp {
+		
+		var A_enum v_value := A;
+
+		
+		if (match(v_value, B_enum:G)) { // error: different enum type
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+
+	control{
+		execute(TC_NegSem_1509_MatchOperation_003());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn
new file mode 100644
index 000000000..9b99cbcc1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that matching a value expression against a template instance which evaluates to the omit matching mechanism shall return false.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_1509_MatchOperation_011 {
+
+	type component GeneralComp { }
+
+	type set MySet {
+		charstring field1,
+		boolean field2 optional
+	}
+
+	template MySet mw_receiveTemplate := {
+		field1 := pattern "ab*de",
+		field2 := omit
+	}
+
+	testcase TC_Sem_1509_MatchOperation_011() runs on GeneralComp {
+		var MySet v_value := {
+			field1 := "abcde",
+			field2 := true
+		}
+
+		if (match(v_value, mw_receiveTemplate)) {
+			setverdict(fail);
+		} else {
+			setverdict(pass);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_011());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn
new file mode 100644
index 000000000..c0d233a3b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that if the expression-parameter evaluates to a literal value without explicit or implicit identification of its type, the type of the template instance-parameter shall be used as the type governor for the expression-parameter.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// Restriction C: If the expression-parameter evaluates to a literal value without explicit or implicit identification of its type, the type of the template instance-parameter shall be used as the type governor for the expression-parameter.
+
+
+module Sem_1509_MatchOperation_012 {
+
+	type component GeneralComp { }
+
+	template integer m_lessThan10 := (-infinity..9);
+
+	testcase TC_Sem_1509_MatchOperation_012() runs on GeneralComp {
+
+		if (match(-20, m_lessThan10)) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_012());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn
new file mode 100644
index 000000000..6f7a29fe1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that if the expression-parameter evaluates to a literal value without explicit or implicit identification of its type, the type of the template instance-parameter shall be used as the type governor for the expression-parameter.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// Restriction C: If the expression-parameter evaluates to a literal value without explicit or implicit identification of its type, the type of the template instance-parameter shall be used as the type governor for the expression-parameter.
+
+
+module Sem_1509_MatchOperation_013 {
+
+	type component GeneralComp { }
+
+	const integer c_value := 1;
+
+	testcase TC_Sem_1509_MatchOperation_013() runs on GeneralComp {
+
+		if (match(c_value,*)) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_013());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn
new file mode 100644
index 000000000..3bc976839
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation works correctly with enums.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_1509_MatchOperation_014 {
+
+	type component GeneralComp { }
+
+	type enumerated A_enum { A, B, C, D, E };
+	type enumerated B_enum { A, F, G };
+
+	testcase TC_Sem_1509_MatchOperation_014() runs on GeneralComp {
+
+		var A_enum v_value := A;
+
+		if (match(v_value, B_enum:G)) { 
+			setverdict(fail);
+		} else {
+			setverdict(pass);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_014());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn
new file mode 100644
index 000000000..e0dedd7f6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation works correctly with enums.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_1509_MatchOperation_015 {
+
+type component GeneralComp { }
+
+	type enumerated A_enum { A, B, C, D, E };
+	type enumerated B_enum { A, F, G };
+
+	testcase TC_Sem_1509_MatchOperation_015() runs on GeneralComp {
+
+		var A_enum v_value := A;
+
+		if (match(A,v_value)) { 
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_015());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn
new file mode 100644
index 000000000..440f10e98
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.9, Ensure that the match operation works correctly with enums.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_1509_MatchOperation_016 {
+
+	type component GeneralComp { }
+
+	type enumerated A_enum { A, B, C, D, E };
+	type enumerated B_enum { A, F, G };
+
+	testcase TC_Sem_1509_MatchOperation_016() runs on GeneralComp {
+		
+		var A_enum v_value := A;
+
+		if (match(B,v_value)) { 
+			setverdict(fail);
+		} else {
+			setverdict(pass);
+		}
+	}
+
+	control{
+		execute(TC_Sem_1509_MatchOperation_016());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015.ttcn
new file mode 100644
index 000000000..b226378e4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015.ttcn
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15.11, Ensure that concatenations of record of charstrings work when parameterized.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015 {
+
+	type component GeneralComp { }
+
+	type record of charstring RecOfChar;
+
+	template RecOfChar m_myRec_par(integer p_num) := {"ABC"} & ? & * length(p_num) & {"EF"};
+
+	testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015() runs on GeneralComp {
+		var integer v_int := 3;
+		var template RecOfChar v_recofChar;
+		v_recofChar :={ "ABC" } & { "Z" } & { "Z" } & { "Z" } & { "EF" };
+
+		if (match(valueof(v_recofChar), m_myRec_par(2))) {
+		    setverdict(pass);
+		} else {
+		    setverdict(fail);
+		}
+
+	}
+
+	control{
+		execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_015());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/15_templates/15_toplevel/NegSyn_15_TopLevel_001.ttcn b/conformance_test/core_language_tests/positive_tests/15_templates/15_toplevel/NegSyn_15_TopLevel_001.ttcn
new file mode 100644
index 000000000..c207f42cd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/15_templates/15_toplevel/NegSyn_15_TopLevel_001.ttcn
@@ -0,0 +1,35 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:15, Ensure that the expression or template body initializing a template shall evaluate to a value or template, which is type compatible with the template being declared. 
+ ** @verdict  pass reject, noexecution
+ *****************************************************************/
+
+// The following requirement is tested:
+//Restriction C: the expression or template body initializing a template shall evaluate to a value or template, which is type compatible with the template being declared. 
+
+module NegSyn_15_TopLevel_001 {
+
+	type record MyRecord {
+		integer myInt
+	}
+
+	template MyRecord mw_myRecord := {
+    	myInt := 2.1    // error: incompatible type (int req., float is given)
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn
new file mode 100755
index 000000000..c0a0833f7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Ensure that integer value of an enum handled correctly
+
+module NegSem_160102_predefined_functions_039 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday, Tuesday, Wednesday, Thursday, Friday(3..5)
+    };
+    
+    testcase TC_NegSem_160102_predefined_functions_039() runs on GeneralComp {
+        var EDays v_enum := Friday(3);
+        int2enum(6,v_enum);    // error: not allowed value
+     
+        if (match(enum2int(v_enum),6)) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_NegSem_160102_predefined_functions_039());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn
new file mode 100755
index 000000000..4fea1d573
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Ensure that integer value of an enum handled correctly
+
+module NegSem_160102_predefined_functions_040 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday(-1), Tuesday(1), Wednesday(2), Thursday(3), Friday(3..5) // error
+    };
+    
+    testcase TC_NegSem_160102_predefined_functions_040() runs on GeneralComp {
+        var EDays v_enum := Wednesday;
+        int2enum(3,v_enum);  // value already occupied
+     
+        if (match(enum2int(v_enum),2)) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_NegSem_160102_predefined_functions_040());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn
new file mode 100755
index 000000000..c17fbd884
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C.3.5)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+module Sem_160102_predefined_functions_062 {
+    
+    type component GeneralComp {
+    }
+
+    type record of integer MyRecofInt;
+    
+    testcase TC_Sem_160102_predefined_functions_062() runs on GeneralComp {
+        var template MyRecofInt v_1 := {1,2,3,4,5}; // specific value of integer type
+        var template bitstring enc := decmatch v_1;    //encoded template
+        
+        if (match(istemplatekind(enc, "decmatch"), true)) {
+            setverdict(pass, "decmatch: ", istemplatekind(enc, "decmatch"));
+        } else {
+            setverdict(fail, "decmatch: ", istemplatekind(enc, "decmatch"), "; expected result: true");
+        } 
+        
+    }
+    
+    control {
+        execute(TC_Sem_160102_predefined_functions_062());
+    }
+} with { encode "RAW"}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn
new file mode 100755
index 000000000..0d5f7eb85
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Ensure that integer value of an enum handled correctly
+
+module Sem_160102_predefined_functions_093 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday, Tuesday, Wednesday, Thursday, Friday(3..5)
+    };
+    
+    testcase TC_Sem_160102_predefined_functions_093() runs on GeneralComp {
+        var EDays v_enum := Thursday;
+        
+        int2enum(4,v_enum);    // new value for v_enum is Friday(4)
+     
+        if (match(enum2int(v_enum),4) and match(v_enum,Friday(4))) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_Sem_160102_predefined_functions_093());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn
new file mode 100755
index 000000000..27608326c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Ensure that integer value of an enum handled correctly
+
+module Sem_160102_predefined_functions_094 {
+
+    type component GeneralComp {
+	}
+    
+    type enumerated EDays {
+        Monday, Tuesday, Wednesday, Thursday, Friday(3..5)
+    };
+    
+    testcase TC_Sem_160102_predefined_functions_094 () runs on GeneralComp {
+        var EDays v_enum := Friday(3);
+        var integer v_day := enum2int(v_enum);
+     
+        if (match(v_day,3)) {
+		    setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+	}
+	
+	control {
+		execute(TC_Sem_160102_predefined_functions_094 ());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn
new file mode 100755
index 000000000..d24f2eaf0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+// The following requirements are tested: Using ischosen for anytype
+
+module Sem_160102_predefined_functions_095 {
+	type union U { integer f1, octetstring f2 }
+    
+	type component GeneralComp {	
+	}
+	
+
+	testcase TC_Sem_160102_predefined_functions_095 () runs on GeneralComp {
+		template U m_u4 := ({ f1 := 2 }, {f2 := 'AB'O }); 
+		template anytype mw_anytype := { U := m_u4 }
+		var boolean v_i;
+
+		v_i := ischosen(mw_anytype.U);	//function returns true value
+			if(match(v_i,true)) {
+				setverdict(pass);
+			} else {
+				setverdict(fail, "Unexpected decoding result");
+			}
+	}
+
+	control{
+
+		execute(TC_Sem_160102_predefined_functions_095());
+
+	}
+
+}
+with {
+	extension "anytype U"
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn
new file mode 100755
index 000000000..5de17113d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+// The following requirements are tested: Using ischosen for anytype
+
+module Sem_160102_predefined_functions_096 {
+
+	type component GeneralComp {	
+	}
+
+	type union U { integer f1, charstring f2 };
+
+	testcase TC_Sem_160102_predefined_functions_096 () runs on GeneralComp {
+
+		var U chosen := { f1 := 1 };
+		template anytype mw_anytype := { U := chosen };
+		var boolean v_i, v_j;
+
+		v_i := ischosen(mw_anytype.integer);	//function returns false 
+
+			if(match(v_i,false)) {
+				setverdict(pass);
+			} else {
+				setverdict(fail, "Unexpected result for ischosen()");
+			}
+	}
+
+	control{
+
+		execute(TC_Sem_160102_predefined_functions_096());
+
+	}
+
+}
+with {
+	extension "anytype U, integer"
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn
new file mode 100755
index 000000000..93341968b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+// The following requirements are tested:
+// The optional decoding_info parameter is used for passing additional encoding information to the codec and, if it is omitted, no additional information is sent to the codec.
+
+module Sem_160102_predefined_functions_097 {
+
+	type component GeneralComp {	
+	}
+
+	type integer I with { variant "32 bit"};
+
+    testcase TC_Sem_160102_predefined_functions_097() runs on GeneralComp {
+        var I v_test := 23424;
+		var bitstring v_enc := encvalue(v_test, "encoding_info_text");
+        
+       if (match(decvalue(v_enc,v_test,"decoding_info_text"), 0)){
+			setverdict(pass,v_test);
+		} else {
+			setverdict(fail, "Invalid encoding length");
+		}
+    }
+
+    control{
+        execute(TC_Sem_160102_predefined_functions_097());
+    }
+
+} with { encode "RAW" }
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn
new file mode 100755
index 000000000..d35248fe6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that predefined encvalue_unichar function works properly in case of encoding universal charstring
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:  
+ * The optional encoding_info parameter is used for passing additional encoding information to the codec and, 
+ * if it is omitted, no additional information is sent to the codec.*/
+
+
+module Sem_160102_predefined_functions_098 {
+    
+    type component GeneralComp {
+    }
+
+	type charstring CH with { variant ""};
+
+    testcase TC_Sem_160102_predefined_functions_098 () runs on GeneralComp {
+
+    	var CH v_test := "abc";
+
+     	//Encoding:  
+    	var universal charstring v_test_enc_8 := encvalue_unichar(v_test,"UTF-8", "encoding_info_text"); 
+		//encode to universal charstring UTF-8
+
+    	setverdict(pass,"Encoded value: ", v_test_enc_8);
+    }
+
+    control{
+        execute(TC_Sem_160102_predefined_functions_098());
+    }
+
+} with { encode "RAW" }
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn
new file mode 100755
index 000000000..bd8aa3744
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.2, Ensure that predefined encvalue_unichar function works properly in case of encoding universal charstring
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+/* The following requirements are tested:  
+ * The optional decoding_info parameter is used for passing additional encoding information to the codec and, 
+ * if it is omitted, no additional information is sent to the codec.*/
+
+module Sem_160102_predefined_functions_099 {
+    
+    type component GeneralComp {
+
+    }
+
+	type charstring CH with { variant ""};
+
+    testcase TC_Sem_160102_predefined_functions_099 () runs on GeneralComp {
+
+    	var CH v_test := "abc";
+
+    	//Encoding:  
+    	var universal charstring v_test_enc_8 := encvalue_unichar(v_test,"UTF-8", "encoding_info_text"); 
+		//encode to universal charstring UTF-8
+   
+    	//Decoding:
+    	var CH v_test_dec;
+    	var integer v_res:= decvalue_unichar(v_test_enc_8,v_test_dec,"UTF-8", "encoding_info_text"); //decode (UTF-8)
+    
+    	if (v_res == 0) {
+          	setverdict(pass, "Decoded ", v_test_enc_8 , " with result ", v_res);
+    	} else {
+          	setverdict(fail, "Unexpected decoding result: Decoded ", v_test_enc_8 , " with result ", v_res);
+    	}
+
+   }
+
+    control{
+        execute(TC_Sem_160102_predefined_functions_099());
+    }
+
+} with { encode "RAW" }
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn
new file mode 100644
index 000000000..1c799353c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_005 { 
+
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return template integer {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_005() runs on GeneralComp system GeneralComp
+	{        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_005());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn
new file mode 100644
index 000000000..94a769f62
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_006 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+        p_ptc.start(f_ptcBehaviour());
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_006() runs on GeneralComp system GeneralComp
+	{        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_006());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn
new file mode 100644
index 000000000..07c00f461
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_007 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_007() runs on GeneralComp system GeneralComp
+	{        
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_007());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn
new file mode 100644
index 000000000..280211be5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_008 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.kill;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_008() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_008());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn
new file mode 100644
index 000000000..ec0537a71
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_009 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.running) { return ?; }
+        else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_009() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_009());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn
new file mode 100644
index 000000000..b53b836bf
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_010 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.alive) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_010() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_010());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn
new file mode 100644
index 000000000..740816ab6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_011 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.done;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_011() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_011());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn
new file mode 100644
index 000000000..5b73e7693
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_012 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.killed;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_012() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        template @fuzzy integer mw_test := f_test(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_012());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn
new file mode 100644
index 000000000..76b5efd66
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_013 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_013() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_013());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn
new file mode 100644
index 000000000..675f43a24
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_014 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_014() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+		p.start; //stop
+        p.send(1);
+        alt {
+            [] p.receive(mw_test) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_014());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn
new file mode 100644
index 000000000..4a18da84c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_015 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.halt;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_015() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+		p.start; //halt
+        p.send(1);
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_015());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn
new file mode 100644
index 000000000..fe64be424
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_016 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.clear;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_016() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_016());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn
new file mode 100644
index 000000000..578b88f74
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_017 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (p.checkstate("Started")) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_017() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_017());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn
new file mode 100644
index 000000000..bbb4c5add
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_018 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.send(2);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_018() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        template @fuzzy integer mw_test := f_test();
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_018());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn
new file mode 100644
index 000000000..481ec71b4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_019 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.receive(integer:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_019() runs on GeneralComp system GeneralComp {
+        connect(mtc:p, mtc:p);
+        template @fuzzy integer mw_test := f_test();
+        p.send(1);
+		p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_019());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn
new file mode 100644
index 000000000..9cc6a4bac
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_020 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.trigger(integer:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_020() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        template @fuzzy integer mw_test := f_test();
+        p.send(1);
+		p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_020());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn
new file mode 100644
index 000000000..ae77e86a9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_021 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		psig.call(S:{}, nowait);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_021() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_021());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn
new file mode 100644
index 000000000..d02cf97b9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn
@@ -0,0 +1,71 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_022 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getcall(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_022() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_022());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn
new file mode 100644
index 000000000..ad06736de
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_023 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.reply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_023() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_023());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn
new file mode 100644
index 000000000..ddf1ffecd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_024 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getreply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_024() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_024());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn
new file mode 100644
index 000000000..c1250b89c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_025 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.raise(S, "UserException");
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_025() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_025());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn
new file mode 100644
index 000000000..359caa13a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_026 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.catch(S, charstring:?);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_026() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy integer mw_test := f_test();
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_026());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn
new file mode 100644
index 000000000..e4d967743
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_027 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.check;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_027() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_027());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn
new file mode 100644
index 000000000..776eed0f0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_028 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		connect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_028() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_028());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn
new file mode 100644
index 000000000..eb110c38c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_029 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		disconnect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_029() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_029());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn
new file mode 100644
index 000000000..eec1ce595
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_030 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		map(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_030() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+		unmap(mtc:p, system:p); //connect >< map
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_030());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn
new file mode 100644
index 000000000..40e3134ae
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_031 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		unmap(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_031() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_031());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn
new file mode 100644
index 000000000..87d7431fa
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_032 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		action("My action");
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_032() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_032());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn
new file mode 100644
index 000000000..44beb3164
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_033 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_033() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_033());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn
new file mode 100644
index 000000000..8222511d9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_034 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_034() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_034());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn
new file mode 100644
index 000000000..c7094fb59
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_035 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.running) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_035() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_035());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn
new file mode 100644
index 000000000..e9d16c98c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_036 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.read > 0.0) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_036() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_036());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn
new file mode 100644
index 000000000..d567ee637
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_037 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.timeout;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_037() runs on GeneralComp system GeneralComp {        
+		tc_tmr.start;        
+		template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_037());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn
new file mode 100644
index 000000000..d2629f684
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_038 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_038() return boolean;
+	
+	function f_test() runs on GeneralComp return template integer {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_038()) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_038() runs on GeneralComp system GeneralComp
+	{        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_038());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn
new file mode 100644
index 000000000..e63a6bcd1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_039 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (rnd() > 0.5) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_039() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_039());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn
new file mode 100644
index 000000000..031cdc5a9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an assignment of a component variable (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_040 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		vc_int := 1;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_040() runs on GeneralComp system GeneralComp
+	{        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_040());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn
new file mode 100644
index 000000000..5ee088958
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual out parameter (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_041 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_out(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_041() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_041());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn
new file mode 100644
index 000000000..433ac8b3b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual inout parameter (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_042 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_inout(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_042() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_042());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn
new file mode 100644
index 000000000..2b02df2e4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_043 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		setverdict(pass);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_043() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_043());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn
new file mode 100644
index 000000000..cc6e09b5a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_044 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		activate(a_anyTimer());
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_044() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_044());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn
new file mode 100644
index 000000000..d341492c8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in a function called during receiving operation (in templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_045 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		deactivate;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_045() runs on GeneralComp system GeneralComp {        
+        template @fuzzy integer mw_test := f_test();
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_045());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn
new file mode 100644
index 000000000..2282fc6ea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_046 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return template integer {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_046() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_046());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn
new file mode 100644
index 000000000..e2188a581
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_047 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+        p_ptc.start(f_ptcBehaviour());
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_047() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_047());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn
new file mode 100644
index 000000000..a6cd11c3b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_048 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_048() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_048());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn
new file mode 100644
index 000000000..322254d67
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_049 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.kill;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_049() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_049());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn
new file mode 100644
index 000000000..9e3ef6ad0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+  ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_050 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.running) { return ?; }
+        else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_050() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_050());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn
new file mode 100644
index 000000000..39a31f7c9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_051 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.alive) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_051() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_051());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn
new file mode 100644
index 000000000..d676c7fe6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_052 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.done;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_052() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_052());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn
new file mode 100644
index 000000000..5a7061089
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_053 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.killed;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_053() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        template @fuzzy R mw_test := { field1 := f_test(v_ptc) };
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_053());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn
new file mode 100644
index 000000000..f6d918fe8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_054 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_054() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_054());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn
new file mode 100644
index 000000000..64d33b3c0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_055 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_055() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        timer t_tmr := 0.1;
+        t_tmr.start;
+		p.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        alt {
+            [] p.receive(mw_test) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_055());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn
new file mode 100644
index 000000000..e1667b88c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_056 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.halt;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_056() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+		timer t_tmr := 0.1;
+		t_tmr.start;
+		p.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_056());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn
new file mode 100644
index 000000000..fd40a732e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_057 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.clear;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_057() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(mw_test) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_057());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn
new file mode 100644
index 000000000..c7257d421
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_058 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (p.checkstate("Started")) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_058() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_058());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn
new file mode 100644
index 000000000..97a5a945d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_059 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.send(R:{ field1 := 2 });
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_059() runs on GeneralComp system GeneralComp
+	{
+        connect(mtc:p, mtc:p);        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_059());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn
new file mode 100644
index 000000000..b381822f3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_060 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.receive(R:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_060() runs on GeneralComp system GeneralComp
+	{
+        connect(mtc:p, mtc:p);
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_060());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn
new file mode 100644
index 000000000..2170e0606
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_061 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.trigger(R:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_061() runs on GeneralComp system GeneralComp
+	{
+        connect(mtc:p, mtc:p);
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_061());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn
new file mode 100644
index 000000000..ebde72577
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn
@@ -0,0 +1,71 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_062 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		psig.call(S:{}, nowait);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_062() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_062());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn
new file mode 100644
index 000000000..1422ac374
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_063 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getcall(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_063() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_063());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn
new file mode 100644
index 000000000..4c02b9306
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_064 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.reply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_064() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_064());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn
new file mode 100644
index 000000000..24e882780
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn
@@ -0,0 +1,78 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_065 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getreply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_065() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_065());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn
new file mode 100644
index 000000000..8bfb4e542
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_066 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.raise(S, "UserException");
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_066() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_066());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn
new file mode 100644
index 000000000..37692f768
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn
@@ -0,0 +1,78 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_067 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.catch(S, charstring:?);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_067() runs on GeneralComp system GeneralComp
+	{
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        template @fuzzy R mw_test := { field1 := f_test() };
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_067());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn
new file mode 100644
index 000000000..7b02b7d6c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_068 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.check;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_068() runs on GeneralComp system GeneralComp
+	{
+        connect(mtc:p, mtc:p);
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_068());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn
new file mode 100644
index 000000000..77b74c393
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_069 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		connect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_069() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_069());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn
new file mode 100644
index 000000000..ec5e56b6a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_070 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		disconnect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_070() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_070());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn
new file mode 100644
index 000000000..ec6c104d9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_071 { 
+	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		map(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_071() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+		unmap(mtc:p, system:p);
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_071());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn
new file mode 100644
index 000000000..8376c57bb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_072 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		unmap(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_072() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_072());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn
new file mode 100644
index 000000000..3a36115bd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_073 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		action("My action");
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_073() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_073());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn
new file mode 100644
index 000000000..04a73f9aa
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_074 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_074() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_074());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn
new file mode 100644
index 000000000..f2e690998
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_075 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_075() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_075());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn
new file mode 100644
index 000000000..8c4d19fb5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_076 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.running) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_076() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_076());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn
new file mode 100644
index 000000000..037e90ae5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_077 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.read > 0.0) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_077() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_077());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn
new file mode 100644
index 000000000..5fde0e66b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_078 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.timeout;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_078() runs on GeneralComp system GeneralComp
+	{
+		tc_tmr.start;
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_078());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn
new file mode 100644
index 000000000..4f4538616
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_079 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_079() return boolean;
+	
+	function f_test() runs on GeneralComp return template integer {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_079()) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_079() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_079());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn
new file mode 100644
index 000000000..328eb18ef
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_080 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (rnd() > 0.5) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_080() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_080());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn
new file mode 100644
index 000000000..689f138ad
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an assignment of a component variable (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_081 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		vc_int := 1;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_081() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_081());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn
new file mode 100644
index 000000000..02f950ad6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual out parameter (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_082 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_out(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_082() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_082());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn
new file mode 100644
index 000000000..172c2431d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual inout parameter (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_083 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_inout(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_083() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_083());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn
new file mode 100644
index 000000000..64cec6a94
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_084 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		setverdict(pass);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_084() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_084());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn
new file mode 100644
index 000000000..3a471d492
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_085 { 
+	type record R {
+		integer field1
+	}
+	
+	type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		activate(a_anyTimer());
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_085() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_085());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn
new file mode 100644
index 000000000..2bd1fedc4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in a function called during receiving operation (in template fields)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_086 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		deactivate;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_086() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(mw_test);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_086());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn
new file mode 100644
index 000000000..4e0c667b6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+  ** @purpose  1:16.1.4, verify that the create operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_087 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return template integer {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_087() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_087());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn
new file mode 100644
index 000000000..a1be7a150
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_088 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+        p_ptc.start(f_ptcBehaviour());
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_088() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_088());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn
new file mode 100644
index 000000000..984a05a10
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_089 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_089() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_089());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn
new file mode 100644
index 000000000..d344810b2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_090 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.kill;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_090() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_090());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn
new file mode 100644
index 000000000..1fcd9e7f2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_091 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.running) { return ?; }
+        else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_091() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_091());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn
new file mode 100644
index 000000000..d28c3934b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_092 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.alive) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_092() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_092());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn
new file mode 100644
index 000000000..a7aff3e83
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_093 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.done;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_093() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_093());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn
new file mode 100644
index 000000000..5c1a02c73
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_094 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.killed;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_094() runs on GeneralComp system GeneralComp { 
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(R:{ field1 := f_test(v_ptc) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_094());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn
new file mode 100644
index 000000000..d15387b76
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_095 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_095() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(R:{ field1 := f_test() }) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_095());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn
new file mode 100644
index 000000000..3eca6e09d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_096 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_096() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        alt {
+            [] p.receive(R:{ field1 := f_test() }) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_096());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn
new file mode 100644
index 000000000..db1e93c48
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_097 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.halt;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_097() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(R:{ field1 := f_test() }) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_097());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn
new file mode 100644
index 000000000..c935f0733
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_098 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.clear;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_098() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(R:{ field1 := f_test() }) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_098());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn
new file mode 100644
index 000000000..faba62285
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_099 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (p.checkstate("Started")) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_099() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_099());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn
new file mode 100644
index 000000000..ccdc8288e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_100 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.send(R:{ field1 := 2 });
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_100() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_100());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn
new file mode 100644
index 000000000..3ccb7a4d9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_101 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.receive(R:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_101() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_101());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn
new file mode 100644
index 000000000..c129f8293
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_102 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.trigger(R:?);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_102() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_102());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn
new file mode 100644
index 000000000..e5a85624f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_103 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		psig.call(S:{}, nowait);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_103() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_103());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn
new file mode 100644
index 000000000..832770e1e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_104 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getcall(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_104() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_104());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn
new file mode 100644
index 000000000..53823ed50
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_105 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.reply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_105() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_105());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn
new file mode 100644
index 000000000..92fdc55a6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_106 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getreply(S:{});
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_106() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_106());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn
new file mode 100644
index 000000000..b5635c31c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_107 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.raise(S, "UserException");
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_107() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_107());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn
new file mode 100644
index 000000000..520fcb1ff
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_108 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.catch(S, charstring:?);
+        return ?;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_108() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_108());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn
new file mode 100644
index 000000000..aa89dc896
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_109 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.check;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_109() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_109());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn
new file mode 100644
index 000000000..160513b92
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_110 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		connect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_110() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_110());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn
new file mode 100644
index 000000000..d91d6f9f8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_111 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		disconnect(mtc:p, mtc:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_111() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_111());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn
new file mode 100644
index 000000000..71d2040d8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_112 { 
+	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		map(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_112() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_112());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn
new file mode 100644
index 000000000..a7a126b57
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_113 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		unmap(mtc:p, system:p);
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_113() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_113());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn
new file mode 100644
index 000000000..b88e0104a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_114 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		action("My action");
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_114() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_114());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn
new file mode 100644
index 000000000..0bac59f50
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_115 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.start;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_115() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_115());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn
new file mode 100644
index 000000000..4bc04b2d7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_116 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.stop;
+        return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_116() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_116());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn
new file mode 100644
index 000000000..6355f778c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_117 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.running) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_117() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_117());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn
new file mode 100644
index 000000000..6b2968bde
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_118 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.read > 0.0) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_118() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_118());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn
new file mode 100644
index 000000000..2fffe72d2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_119 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		any timer.timeout;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_119() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_119());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn
new file mode 100644
index 000000000..782b6c25d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_120 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_120() return boolean;
+	
+	function f_test() runs on GeneralComp return template integer {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_120()) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_120() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_120());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn
new file mode 100644
index 000000000..baa6f7612
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_121 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (rnd() > 0.5) { return ?; }
+		else { return 1; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_121() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_121());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn
new file mode 100644
index 000000000..37ac0a850
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an assignment of a component variable (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_122 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		vc_int := 1;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_122() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_122());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn
new file mode 100644
index 000000000..53325c66b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual out parameter (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_123 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_out(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_123() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_123());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn
new file mode 100644
index 000000000..8bb20e1a5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual inout parameter (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_124 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_inout(vc_int);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_124() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_124());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn
new file mode 100644
index 000000000..8f5df0235
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_125 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		setverdict(pass);
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_125() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_125());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn
new file mode 100644
index 000000000..fdd42b120
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_126 { 
+	type record R {
+		integer field1
+	}
+	
+	type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		activate(a_anyTimer());
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_126() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_126());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn
new file mode 100644
index 000000000..66da6c465
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in a function called during receiving operation (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_127 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		deactivate;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_127() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test() });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_127());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn
new file mode 100644
index 000000000..b8f0e03f1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an out parameter (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_128 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test(out integer p_out) runs on GeneralComp return template integer {
+		p_out := 1;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_128() runs on GeneralComp system GeneralComp {        
+        var integer v_int;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test(v_int) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_128());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn
new file mode 100644
index 000000000..31dde7862
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an inout parameter (in in-line templates)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_129 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test(inout integer p_inout) runs on GeneralComp return template integer {
+		p_inout := 1;
+		return ?;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_129() runs on GeneralComp system GeneralComp {        
+        var integer v_int := 0;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(R:{ field1 := f_test(v_int) });
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_129());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn
new file mode 100644
index 000000000..7b8da4fbb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_130 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return template integer {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_130() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_130());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn
new file mode 100644
index 000000000..87ee7bef4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_131 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+        p_ptc.start(f_ptcBehaviour());
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_131() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_131());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn
new file mode 100644
index 000000000..ec5f1425b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_132 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.stop;
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_132() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_132());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn
new file mode 100644
index 000000000..b2388afd0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_133 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.kill;
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_133() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_133());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn
new file mode 100644
index 000000000..91936be9b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_134 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.running) { return ?; }
+        else { return 1; }
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_134() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_134());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn
new file mode 100644
index 000000000..15b17d854
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_135 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		if (p_ptc.alive) { return ?; }
+		else { return 1; }
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_135() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_135());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn
new file mode 100644
index 000000000..23e8c7a3e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_136 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.done;
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_136() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_136());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn
new file mode 100644
index 000000000..6cbd4de71
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_137 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return template integer {
+		p_ptc.killed;
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_137() runs on GeneralComp system GeneralComp { 
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        p.receive(m_msg(f_test(v_ptc)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_137());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn
new file mode 100644
index 000000000..008a4a16b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_138 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.start;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_138() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(m_msg(f_test())) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_138());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn
new file mode 100644
index 000000000..532d9190e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_139 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.stop;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_139() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+        alt {
+            [] p.receive(m_msg(f_test())) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_139());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn
new file mode 100644
index 000000000..91b3b5362
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_140 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.halt;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_140() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(m_msg(f_test())) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_140());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn
new file mode 100644
index 000000000..fcf0e37b0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_141 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.clear;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_141() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		alt {
+			[] p.receive(m_msg(f_test())) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_141());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn
new file mode 100644
index 000000000..5adc9cb78
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_142 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (p.checkstate("Started")) { return ?; }
+		else { return 1; }
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_142() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_142());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn
new file mode 100644
index 000000000..41705d072
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_143 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.send(R:{ field1 := 2 });
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_143() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_143());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn
new file mode 100644
index 000000000..be7273169
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_144 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.receive(R:?);
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_144() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_144());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn
new file mode 100644
index 000000000..680836fc5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_145 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.trigger(R:?);
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_145() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_145());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn
new file mode 100644
index 000000000..0a06119d0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_146 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		psig.call(S:{}, nowait);
+        return ?;
+	}
+	
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_146() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_146());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn
new file mode 100644
index 000000000..f36db613a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn
@@ -0,0 +1,78 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_147 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getcall(S:{});
+        return ?;
+	}
+	
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_147() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_147());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn
new file mode 100644
index 000000000..6bd2c1286
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn
@@ -0,0 +1,79 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_148 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.reply(S:{});
+        return ?;
+	}
+	
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_148() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_148());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn
new file mode 100644
index 000000000..05ab3c9c4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn
@@ -0,0 +1,80 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_149 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.getreply(S:{});
+        return ?;
+	}
+	
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_149() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_149());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn
new file mode 100644
index 000000000..5d9015ba2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn
@@ -0,0 +1,79 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_150 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.raise(S, "UserException");
+        return ?;
+	}
+	
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_150() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(R:{ field1 := 1 });
+		psig.getcall(S:{});
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_150());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn
new file mode 100644
index 000000000..39b440d52
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn
@@ -0,0 +1,80 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_151 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	} 
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		psig.catch(S, charstring:?);
+        return ?;
+	}
+	
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_151() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_151());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn
new file mode 100644
index 000000000..34b5b9b4b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_152 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		p.check;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_152() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_152());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn
new file mode 100644
index 000000000..a23c11f22
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_153 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		connect(mtc:p, mtc:p);
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_153() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_153());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn
new file mode 100644
index 000000000..99699aa40
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_154 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		disconnect(mtc:p, mtc:p);
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_154() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_154());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn
new file mode 100644
index 000000000..27e25de44
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_155 { 
+	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		map(mtc:p, system:p);
+        return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_155() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_155());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn
new file mode 100644
index 000000000..c7b0cafc9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_156 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return template integer {
+		unmap(mtc:p, system:p);
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_156() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_156());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn
new file mode 100644
index 000000000..bae558ada
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_157 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		action("My action");
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_157() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_157());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn
new file mode 100644
index 000000000..b38d61cf0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_158 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.start;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_158() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_158());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn
new file mode 100644
index 000000000..a424db58f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_159 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		tc_tmr.stop;
+        return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_159() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_159());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn
new file mode 100644
index 000000000..87e054c69
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_160 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.running) { return ?; }
+		else { return 1; }
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_160() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_160());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn
new file mode 100644
index 000000000..8ff9272e2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_161 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (tc_tmr.read > 0.0) { return ?; }
+		else { return 1; }
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_161() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_161());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn
new file mode 100644
index 000000000..acb4c3d54
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_162 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		any timer.timeout;
+		return ?;
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_162() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_162());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn
new file mode 100644
index 000000000..868edf7c6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn
@@ -0,0 +1,71 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_163 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_163() return boolean;
+	
+	function f_test() runs on GeneralComp return template integer {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_163()) { return ?; }
+		else { return 1; }
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_163() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_163());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn
new file mode 100644
index 000000000..4e13ff4ac
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_164 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		if (rnd() > 0.5) { return ?; }
+		else { return 1; }
+	}
+
+ 	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+   testcase TC_NegSem_160104_invoking_functions_from_specific_places_164() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_164());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn
new file mode 100644
index 000000000..503417599
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an assignment of a component variable (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_165 { 
+ 	type record R {
+		integer field1
+	}
+
+   type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		vc_int := 1;
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_165() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_165());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn
new file mode 100644
index 000000000..8474ed6f3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual out parameter (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_166 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_out(vc_int);
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_166() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_166());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn
new file mode 100644
index 000000000..3acedb72e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain a component variable used as an actual inout parameter (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_167 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		f_inout(vc_int);
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_167() runs on GeneralComp system GeneralComp {        
+        template @fuzzy R mw_test := { field1 := f_test() };
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_167());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn
new file mode 100644
index 000000000..7c20ef1b9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_168 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return template integer {
+		setverdict(pass);
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_168() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_168());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn
new file mode 100644
index 000000000..ba5825c4c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_169 { 
+	type record R {
+		integer field1
+	}
+	
+	type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		activate(a_anyTimer());
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_169() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_169());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn
new file mode 100644
index 000000000..559ded7fe
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in a function called during receiving operation (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_170 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return template integer {
+		deactivate;
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_170() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test()));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_170());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn
new file mode 100644
index 000000000..b15686931
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an out parameter (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_171 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test(out integer p_out) runs on GeneralComp return template integer {
+		p_out := 1;
+		return ?;
+	}
+
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_171() runs on GeneralComp system GeneralComp {        
+        var integer v_int;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test(v_int)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_171());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn
new file mode 100644
index 000000000..86c1af54e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called during receiving operation cannot contain an inout parameter (as actual parameters)
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_172 { 
+	type record R {
+		integer field1
+	}
+
+    type port P message {
+        inout R;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test(inout integer p_inout) runs on GeneralComp return template integer {
+		p_inout := 1;
+		return ?;
+	}
+	
+	template R m_msg (template integer p_par) := {
+		field1 := p_par
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_172() runs on GeneralComp system GeneralComp {        
+        var integer v_int := 0;
+        connect(mtc:p, mtc:p);
+        p.send(R:{ field1 := 1 });
+		p.receive(m_msg(f_test(v_int)));
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_172());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn
new file mode 100644
index 000000000..25c6feebd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_173 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return boolean {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_173() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_173());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn
new file mode 100644
index 000000000..5d5e05666
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_174 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+        p_ptc.start(f_ptcBehaviour());
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_174() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_174());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn
new file mode 100644
index 000000000..963778544
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_175 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.stop;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_175() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_175());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn
new file mode 100644
index 000000000..a887931e9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_176 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.kill;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_176() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_176());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn
new file mode 100644
index 000000000..3c5f045c6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_177 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.running) { return true; }
+        else { return false; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_177() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_177());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn
new file mode 100644
index 000000000..58ba63491
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_178 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.alive) { return true; }
+		else { return false; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_178() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_178());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn
new file mode 100644
index 000000000..ebe7880af
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_179 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.done;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_179() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_179());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn
new file mode 100644
index 000000000..ed23493bc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_180 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.killed;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_180() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test(v_ptc)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_180());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn
new file mode 100644
index 000000000..389142cef
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_181 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.start;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_181() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[f_test()] p.receive(integer:?) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_181());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn
new file mode 100644
index 000000000..14f4f7a81
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_182 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.stop;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_182() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [f_test()] p.receive(integer:?) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_182());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn
new file mode 100644
index 000000000..a53c649b6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_183 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.halt;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_183() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[f_test()] p.receive(integer:?) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_183());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn
new file mode 100644
index 000000000..4f816f293
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_184 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.clear;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_184() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[f_test()] p.receive(integer:?) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_184());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn
new file mode 100644
index 000000000..c9af21a57
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_185 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (p.checkstate("Started")) { return true; }
+		else { return false; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_185() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_185());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn
new file mode 100644
index 000000000..1e1dbbd1d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_186 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.send(2);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_186() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_186());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn
new file mode 100644
index 000000000..51439e70c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_187 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.receive(integer:?);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_187() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_187());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn
new file mode 100644
index 000000000..ef9a2fa1f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_188 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.trigger(integer:?);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_188() runs on GeneralComp system GeneralComp {
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_188());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn
new file mode 100644
index 000000000..918590fd5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_189 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		psig.call(S:{}, nowait);
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_189() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_189());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn
new file mode 100644
index 000000000..0cf83054d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_190 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getcall(S:{});
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_190() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_190());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn
new file mode 100644
index 000000000..3acacddf2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_191 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.reply(S:{});
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_191() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_191());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn
new file mode 100644
index 000000000..483a40680
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_192 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getreply(S:{});
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_192() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_192());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn
new file mode 100644
index 000000000..e6397a580
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_193 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.raise(S, "UserException");
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_193() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_193());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn
new file mode 100644
index 000000000..f5612b12e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_194 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.catch(S, charstring:?);
+        return true;
+	}
+	
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_194() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_194());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn
new file mode 100644
index 000000000..f0a82d670
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_195 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.check;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_195() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_195());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn
new file mode 100644
index 000000000..ba27c803d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_196 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		connect(mtc:p, mtc:p);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_196() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_196());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn
new file mode 100644
index 000000000..1ffb539a4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_197 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		disconnect(mtc:p, mtc:p);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_197() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_197());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn
new file mode 100644
index 000000000..bfa505436
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_198 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		map(mtc:p, system:p);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_198() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_198());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn
new file mode 100644
index 000000000..af5598b62
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_199 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		unmap(mtc:p, system:p);
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_199() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_199());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn
new file mode 100644
index 000000000..3dc7eb831
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_200 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		action("My action");
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_200() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_200());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn
new file mode 100644
index 000000000..fe8ea723d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_201 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.start;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_201() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_201());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn
new file mode 100644
index 000000000..696e28507
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_202 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.stop;
+        return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_202() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_202());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn
new file mode 100644
index 000000000..0d562a20b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_203 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 5.0;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.running) { return true; }
+		else { return false; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_203() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_203());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn
new file mode 100644
index 000000000..5002a861c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_204 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.read > 0.0) { return true; }
+		else { return false; }
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_204() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_204());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn
new file mode 100644
index 000000000..20a19c1e2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_205 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		any timer.timeout;
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_205() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_205());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn
new file mode 100644
index 000000000..09eb48a78
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an alt statement cannot contain an assignment of a component variable
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_206 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		vc_int := 1;
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_206() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_206());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn
new file mode 100644
index 000000000..a8432108a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an alt statement cannot contain a component variable used as an actual out parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_207 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_out(vc_int);
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_207() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_207());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn
new file mode 100644
index 000000000..2535c1d34
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an alt statement cannot contain a component variable used as an actual inout parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_208 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+
+	function f_test() runs on GeneralComp return boolean {
+		f_inout(vc_int);
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_208() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_208());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn
new file mode 100644
index 000000000..1ea316a1f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_209 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		activate(a_anyTimer());
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_209() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_209());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn
new file mode 100644
index 000000000..44050180c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in guards of alt statements
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_210 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		deactivate;
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_210() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test()] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_210());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn
new file mode 100644
index 000000000..2fe8d8853
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a function called from a guard statement of an alt operation cannot contain out parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_211 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(out integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_211() runs on GeneralComp system GeneralComp {        
+		var integer v_int := 0;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [f_test(v_int)] p.receive(integer:?) {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_211());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn
new file mode 100644
index 000000000..fcb527394
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_212 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return boolean {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return true;
+	}
+	
+	altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_212() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_212());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn
new file mode 100644
index 000000000..6afd5055d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_213 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+        p_ptc.start(f_ptcBehaviour());
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_213() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_213());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn
new file mode 100644
index 000000000..f225618a1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_214 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.stop;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_214() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_214());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn
new file mode 100644
index 000000000..6fe98928b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_215 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.kill;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_215() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_215());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn
new file mode 100644
index 000000000..6d3961e35
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_216 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.running) { return true; }
+        else { return false; }
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_216() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_216());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn
new file mode 100644
index 000000000..860f82d1d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_217 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.alive) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_217() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_217());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn
new file mode 100644
index 000000000..684872e07
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_218 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.done;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_218() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_218());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn
new file mode 100644
index 000000000..d73642426
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_219 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.killed;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        [f_test(p_ptc)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_219() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_219());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn
new file mode 100644
index 000000000..dfb31d5d4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_220 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.start;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_220() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [] a_rcv() {} 
+            [] t_tmr.timeout {}
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_220());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn
new file mode 100644
index 000000000..7837f844a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_221 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.stop;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_221() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [] a_rcv() {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_221());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn
new file mode 100644
index 000000000..1c82e446c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_222 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.halt;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_222() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv() {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_222());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn
new file mode 100644
index 000000000..f6cd17512
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_223 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.clear;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_223() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv() {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_223());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn
new file mode 100644
index 000000000..0c878d87b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_224 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (p.checkstate("Started")) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_224() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_224());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn
new file mode 100644
index 000000000..60b6ebed3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_225 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.send(2);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_225() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_225());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn
new file mode 100644
index 000000000..143b0f29f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_226 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.receive(integer:?);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_226() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_226());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn
new file mode 100644
index 000000000..d3b46094e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_227 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.trigger(integer:?);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_227() runs on GeneralComp system GeneralComp {
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_227());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn
new file mode 100644
index 000000000..28190ca96
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_228 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		psig.call(S:{}, nowait);
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_228() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_228());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn
new file mode 100644
index 000000000..b5632670d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_229 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getcall(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_229() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_229());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn
new file mode 100644
index 000000000..213a9830f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_230 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.reply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_230() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_230());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn
new file mode 100644
index 000000000..db115391e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_231 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getreply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_231() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_231());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn
new file mode 100644
index 000000000..aa24437d3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_232 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.raise(S, "UserException");
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_232() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_232());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn
new file mode 100644
index 000000000..2586ad030
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_233 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.catch(S, charstring:?);
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_233() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_233());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn
new file mode 100644
index 000000000..9233364a4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_234 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.check;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_234() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_234());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn
new file mode 100644
index 000000000..22dfdc3e7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_235 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		connect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_235() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_235());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn
new file mode 100644
index 000000000..f9e1bef2c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_236 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		disconnect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_236() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_236());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn
new file mode 100644
index 000000000..234a26cea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_237 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		map(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp system GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_237() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_237());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn
new file mode 100644
index 000000000..1e0e97a73
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_238 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		unmap(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp system GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_238() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_238());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn
new file mode 100644
index 000000000..9144cf733
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_239 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		action("My action");
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_239() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_239());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn
new file mode 100644
index 000000000..2f5bce7cc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_240 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.start;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_240() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_240());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn
new file mode 100644
index 000000000..bae694c83
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_241 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.stop;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_241() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_241());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn
new file mode 100644
index 000000000..3e7032e97
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_242 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 5.0;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.running) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_242() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_242());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn
new file mode 100644
index 000000000..1ae2973c7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_243 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.read > 0.0) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_243() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_243());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn
new file mode 100644
index 000000000..66cddb76c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_244 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		any timer.timeout;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_244() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_244());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn
new file mode 100644
index 000000000..c926024ee
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_245 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_245() return boolean;
+	
+	function f_test() runs on GeneralComp return boolean {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_245()) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_245() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_245());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn
new file mode 100644
index 000000000..39fca5ea2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_246 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (rnd() > 0.5) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_246() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_246());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn
new file mode 100644
index 000000000..7555961a4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an altstep cannot contain an assignment of a component variable
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_247 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		vc_int := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_247() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_247());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn
new file mode 100644
index 000000000..4cd1430c3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an altstep cannot contain a component variable used as an actual out parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_248 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_out(vc_int);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_248() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_248());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn
new file mode 100644
index 000000000..722b91853
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in a guard of an altstep cannot contain a component variable used as an actual inout parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_249 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_inout(vc_int);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_249() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_249());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn
new file mode 100644
index 000000000..23696bbac
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in guard statements of altstep
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_250 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		setverdict(pass);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_250() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_250());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn
new file mode 100644
index 000000000..3cc963a68
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_251 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		activate(a_anyTimer());
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_251() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_251());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn
new file mode 100644
index 000000000..8e4a37484
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in guards of altsteps
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_252 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		deactivate;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        [f_test()] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_252() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_252());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn
new file mode 100644
index 000000000..46ae73d85
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a function called from a guard statement of an altstep cannot contain out parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_253 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(out integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+		var integer v_int := 0;
+        [f_test(v_int)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_253() runs on GeneralComp system GeneralComp {        		
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_253());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn
new file mode 100644
index 000000000..e292f39e0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a function called from a guard statement of an altstep cannot contain inout parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_254 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(inout integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+		var integer v_int := 0;
+        [f_test(v_int)] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_254() runs on GeneralComp system GeneralComp {        		
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_254());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn
new file mode 100644
index 000000000..5f62d0b52
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the create operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_255 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return boolean {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return true;
+	}
+	
+	altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_255() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_255());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn
new file mode 100644
index 000000000..ebc3e1ca6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.start operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_256 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+        p_ptc.start(f_ptcBehaviour());
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_256() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_256());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn
new file mode 100644
index 000000000..1f98dd172
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.stop operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_257 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.stop;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_257() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_257());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn
new file mode 100644
index 000000000..ff174c568
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the kill operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_258 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.kill;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_258() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_258());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn
new file mode 100644
index 000000000..7881400dc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the component.running operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_259 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.running) { return true; }
+        else { return false; }
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_259() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_259());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn
new file mode 100644
index 000000000..12b6f71cc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the alive operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_260 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.alive) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_260() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_260());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn
new file mode 100644
index 000000000..7dde1ee63
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the done operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_261 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.done;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_261() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_261());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn
new file mode 100644
index 000000000..8954059f6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the killed operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// a) All component operations, i.e. create, start (component), stop (component), kill, running (component), 
+// alive, done and killed (see notes 1, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_262 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.killed;
+        return true;
+	}
+
+    altstep a_rcv(GeneralComp p_ptc) runs on GeneralComp {
+        var boolean v_guard := f_test(p_ptc);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_262() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        a_rcv(v_ptc);
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_262());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn
new file mode 100644
index 000000000..eb45d4fa8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.start operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_263 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.start;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_263() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [] a_rcv() {} 
+            [] t_tmr.timeout {}
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_263());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn
new file mode 100644
index 000000000..cbeef9df5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the port.stop operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_264 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.stop;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_264() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [] a_rcv() {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_264());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn
new file mode 100644
index 000000000..529d8c53f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the halt operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_265 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.halt;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_265() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv() {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_265());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn
new file mode 100644
index 000000000..5e02e1d9a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the clear operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_266 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.clear;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_266() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv() {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_266());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn
new file mode 100644
index 000000000..64e75da74
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the checkstate operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_267 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (p.checkstate("Started")) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_267() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_267());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn
new file mode 100644
index 000000000..53213f3a9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the send operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_268 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.send(2);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_268() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_268());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn
new file mode 100644
index 000000000..2dda7a590
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the receive operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_269 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.receive(integer:?);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_269() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_269());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn
new file mode 100644
index 000000000..496b9dc08
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the trigger operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_270 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.trigger(integer:?);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_270() runs on GeneralComp system GeneralComp {
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_270());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn
new file mode 100644
index 000000000..b56b6ee98
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the call operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_271 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		psig.call(S:{}, nowait);
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_271() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_271());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn
new file mode 100644
index 000000000..c30b4aea9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getcall operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_272 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getcall(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_272() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_272());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn
new file mode 100644
index 000000000..799ee3b37
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the reply operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_273 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.reply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_273() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_273());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn
new file mode 100644
index 000000000..4f39701d3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the getreply operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_274 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getreply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_274() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_274());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn
new file mode 100644
index 000000000..2496d85c0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the raise operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_275 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.raise(S, "UserException");
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_275() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_275());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn
new file mode 100644
index 000000000..e902f998f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the catch operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_276 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.catch(S, charstring:?);
+        return true;
+	}
+	
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_276() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_276());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn
new file mode 100644
index 000000000..5b6144005
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the check operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_277 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.check;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_277() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_277());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn
new file mode 100644
index 000000000..d2323f045
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the connect operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_278 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		connect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_278() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_278());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn
new file mode 100644
index 000000000..ef0c31196
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the disconnect operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_279 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		disconnect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_279() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_279());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn
new file mode 100644
index 000000000..a51205557
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the map operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_280 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		map(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp system GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_280() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_280());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn
new file mode 100644
index 000000000..0c2c437ca
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the unmap operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// b) All port operations, i.e. start (port), stop (port), halt, clear, checkstate, send, receive, trigger, call, 
+// getcall, reply, getreply, raise, catch, check, connect, disconnect, map and unmap (see notes 1, 2, 3, 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_281 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		unmap(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp system GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_281() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_281());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn
new file mode 100644
index 000000000..042ce8b1e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the action operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// c) The action operation (see notes 2 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_282 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		action("My action");
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_282() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_282());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn
new file mode 100644
index 000000000..d0cb1daf2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.start operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_283 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.start;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_283() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_283());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn
new file mode 100644
index 000000000..a063930c9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.stop operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_284 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.stop;
+        return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_284() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_284());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn
new file mode 100644
index 000000000..7f24f7e7d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timer.running operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_285 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 5.0;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.running) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_285() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_285());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn
new file mode 100644
index 000000000..96ff6bb6b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the read operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_286 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.read > 0.0) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_286() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_286());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn
new file mode 100644
index 000000000..3dc06d655
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the timeout operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// d) All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_287 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		any timer.timeout;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_287() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_287());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn
new file mode 100644
index 000000000..a09ead32b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a non-deterministic external function call cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// e) Calling non-deterministic external functions, i.e. external functions where the resulting values for actual 
+// inout or out parameters or the return value may differ for different invocations with the same actual in and 
+// inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_288 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_160104_invoking_functions_from_specific_places_288() return boolean;
+	
+	function f_test() runs on GeneralComp return boolean {
+		if (xf_NegSem_160104_invoking_functions_from_specific_places_288()) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_288() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_288());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn
new file mode 100644
index 000000000..e2619c804
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the predefined rnd function cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// f) Calling the rnd predefined function (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_289 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (rnd() > 0.5) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_289() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_289());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn
new file mode 100644
index 000000000..95439ddd7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in an altstep local definition cannot contain an assignment of a component variable
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_290 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		vc_int := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_290() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_290());
+	}
+}
+
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn
new file mode 100644
index 000000000..cd5ddc923
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in an altstep local definition cannot contain a component variable used as an actual out parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_291 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_out(vc_int);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_291() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_291());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn
new file mode 100644
index 000000000..58a475605
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify a function called in an altstep local definition cannot contain a component variable used as an actual inout parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// g) Changing of component variables, i.e. using component variables on the left-hand side of assignments, 
+// and in the instantiation of out and inout parameters (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_292 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_inout(vc_int);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_292() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_292());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn
new file mode 100644
index 000000000..c92b79795
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the setverdict operation cannot be used in guard statements of altstep
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// h) Calling the setverdict operation (see notes 4 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_293 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		setverdict(pass);
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_293() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_293());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn
new file mode 100644
index 000000000..3279f83b5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the activate operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_294 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		activate(a_anyTimer());
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_294() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_294());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn
new file mode 100644
index 000000000..66c2edd0d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that the deactivate operation cannot be used in altstep local definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// i) Activation and deactivation of defaults, i.e. the activate and deactivate statements (see notes 5 and 6).
+
+module NegSem_160104_invoking_functions_from_specific_places_295 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		deactivate;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_guard := f_test();
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_295() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_295());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn
new file mode 100644
index 000000000..6652fef54
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a function called in altstep altstep local definitions cannot contain out parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_296 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(out integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+		var integer v_int := 0;
+        var boolean v_guard := f_test(v_int);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_296() runs on GeneralComp system GeneralComp {        		
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_296());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn
new file mode 100644
index 000000000..cf138cd7e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1.4, verify that a function called in altstep altstep local definitions cannot contain inout parameters
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// If value returning functions are called in receiving communication operations (in templates, template fields, 
+// in-line templates, or as actual parameters), in guards or events of alt statements or altsteps (see clause 20.2), 
+// or in initializations of altstep local definitions (see clause 16.2), the following operations shall not be 
+// used in functions called in the cases specified above, in order to avoid side effects that cause changing the 
+// state of the component or the actual snapshot and to prevent different results of subsequent evaluations 
+// on an unchanged snapshot:
+// j) Calling functions and deterministic external functions with out or inout parameters (see notes 7 and 8).
+
+module NegSem_160104_invoking_functions_from_specific_places_297 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(inout integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv() runs on GeneralComp {
+		var integer v_int := 0;
+		var boolean v_guard := f_test(v_int);
+        [v_guard] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_160104_invoking_functions_from_specific_places_297() runs on GeneralComp system GeneralComp {        		
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		a_rcv();
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_160104_invoking_functions_from_specific_places_297());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc
new file mode 100644
index 000000000..ac4297430
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_038.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__038
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__038()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc
new file mode 100644
index 000000000..2207262f5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_079.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__079
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__079()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc
new file mode 100644
index 000000000..dc94547dc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_120.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__120
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__120()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc
new file mode 100644
index 000000000..d273cf7ea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_163.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__163
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__163()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc
new file mode 100644
index 000000000..226c6bfec
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_245.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__245
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__245()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc
new file mode 100644
index 000000000..a58af41b2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_160104_invoking_functions_from_specific_places_288.hh"
+
+namespace NegSem__160104__invoking__functions__from__specific__places__288
+{
+
+	BOOLEAN xf__NegSem__160104__invoking__functions__from__specific__places__288()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn
new file mode 100644
index 000000000..72aad047d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1, verify that altstep without a runs on clause cannot be started as component behaviour
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// Restriction f)
+// Altsteps started by using the start test component operation shall always have a runs on clause (see clause 22.5) 
+// and are considered to be invoked in the component to be started, i.e. not locally. However, the start test component 
+// operation may be invoked within behaviours without a runs on clause.
+
+module NegSem_1602_toplevel_007 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+
+    altstep a_test() {
+        [] any port.receive {
+            setverdict(pass);
+        }
+    }
+    
+    testcase TC_NegSem_1602_toplevel_007() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, v_ptc:p);
+        p.send(1);
+        v_ptc.start(a_test());
+        v_ptc.done;
+	}
+
+	control {
+		execute(TC_NegSem_1602_toplevel_007());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn
new file mode 100644
index 000000000..f03e1ec05
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1, verify that altstep with a runs on clause can be started as component behaviour
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Restriction f)
+// Altsteps started by using the start test component operation shall always have a runs on clause (see clause 22.5) 
+// and are considered to be invoked in the component to be started, i.e. not locally. However, the start test component 
+// operation may be invoked within behaviours without a runs on clause.
+
+module Sem_1602_toplevel_002 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+
+    altstep a_test() runs on GeneralComp{
+        [] any port.receive {
+            setverdict(pass);
+        }
+    }
+    
+    testcase TC_Sem_1602_toplevel_002() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, v_ptc:p);
+        p.send(1);
+        v_ptc.start(a_test());
+        v_ptc.done;
+	}
+
+	control {
+		execute(TC_Sem_1602_toplevel_002());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn
new file mode 100644
index 000000000..f718fd5a8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:16.1, verify that altstep with a runs on clause can be started as component behaviour from a context without a runs on clause
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// Restriction f)
+// Altsteps started by using the start test component operation shall always have a runs on clause (see clause 22.5) 
+// and are considered to be invoked in the component to be started, i.e. not locally. However, the start test component 
+// operation may be invoked within behaviours without a runs on clause.
+
+module Sem_1602_toplevel_003 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+
+    altstep a_test() runs on GeneralComp{
+        [] any port.receive {
+            setverdict(pass);
+        }
+    }
+    
+	function f_startPtc(GeneralComp v_ptc) {
+        v_ptc.start(a_test());
+	}
+	
+    testcase TC_Sem_1602_toplevel_003() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, v_ptc:p);
+        p.send(1);
+        f_startPtc(v_ptc);
+        v_ptc.done;
+	}
+
+	control {
+		execute(TC_Sem_1602_toplevel_003());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn
new file mode 100644
index 000000000..6d313649d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:19.3, Ensure that the IUT properly evaluates select-case statements
+ ** @verdict  pass  accept, ttcn3verdict:pass
+ ***************************************************/
+module Sem_190301_select_case_statement_005 {
+	
+	type component GeneralComp {	
+	}
+	
+	testcase TC_Sem_190301_select_case_statement_005 () runs on GeneralComp{
+		var charstring v_i:="aBcDeFg";
+	 
+		select (v_i) {	
+		 case(charstring:"aBc") {
+		   	setverdict(fail);
+		 }
+		 case(charstring:"aBcDeFg") {
+		   	setverdict(pass);
+		 }
+		 case(charstring:"aBcD") {
+		   	setverdict(fail);
+		 }
+		 case else {
+		   	setverdict(fail);
+		 }
+		}
+	}
+
+
+	control{
+
+		execute(TC_Sem_190301_select_case_statement_005());
+
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn
new file mode 100644
index 000000000..ebe9a8b2d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:19.3, Ensure that the IUT properly evaluates select-case statements
+ ** @verdict  pass  accept, ttcn3verdict:pass
+ ***************************************************/
+module Sem_190301_select_case_statement_006 {
+	modulepar charstring c_par := "aBcDeFg";
+		
+	type component GeneralComp {	
+	}
+	
+	testcase TC_Sem_190301_select_case_statement_006 () runs on GeneralComp{
+	 
+		select (c_par) {	
+		 case(charstring:"aBc") {
+			setverdict(fail);
+		 }
+		 case(charstring:"aBcDeFg") {
+			setverdict(pass);
+		 }
+		 case(charstring:"aBcD") {
+			setverdict(fail);
+		 }
+		 case else {
+			setverdict(fail);
+		 }  
+		}
+	}    
+		 
+	control{
+
+		execute(TC_Sem_190301_select_case_statement_006());
+
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn
new file mode 100644
index 000000000..a1c995cbd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:19.3.2, verify that it is possible to use a select union statement with several branches
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// c) No two cases in a select union statement shall have the same caseIdentifier or TypeIdentifier.
+module NegSem_190302_select_union_statement_006 { 
+
+    type component GeneralComp {
+	}	
+
+    testcase TC_NegSem_190302_select_union_statement_006() runs on GeneralComp {
+        var anytype v_any;
+        v_any.integer := 2;
+        v_any.charstring := "abc";
+        v_any.float := 1.2;
+        
+        select union (v_any) {
+            case (charstring) {
+                if(match(v_any.charstring,"abc")) 
+                {setverdict(pass, v_any.charstring);}
+            } case (integer) {
+                if(match(v_any.integer,2)) 
+                {setverdict(pass, v_any.integer);}
+            } case (charstring) {    // error
+                  if(match(v_any.charstring,"abc")) 
+                {setverdict(fail, v_any.charstring);}
+            }
+               case else {
+                setverdict(fail);
+            }
+        }
+	}
+
+	control {
+		execute(TC_NegSem_190302_select_union_statement_006());
+	}
+}
+with {
+	extension "anytype integer, charstring, float"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn
new file mode 100644
index 000000000..8cfea0289
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:19.3.2, verify that it is possible to use a select union statement with several branches
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirement is tested:
+// If the template instance has type anytype, each branch shall start with the case keyword followed by one or more type names (a list branch) or the else keyword (an else branch) and a statement block.
+
+module Sem_190302_select_union_statement_007 { 
+
+    type component GeneralComp {
+	}	
+
+    testcase TC_Sem_190302_select_union_statement_007() runs on GeneralComp {
+        var anytype v_any;
+        v_any.integer := 2;
+        v_any.charstring := "abc";
+        v_any.float := 1.2;
+        
+        select union (v_any) {
+            case (charstring) {
+                if(match(v_any.charstring,"abc")) 
+                {setverdict(pass, v_any.charstring);}
+            } case (integer) {
+                if(match(v_any.integer,2)) 
+                {setverdict(pass, v_any.integer);}
+            } case (float) {
+                if(match(v_any.float,1.2)) 
+                {setverdict(pass, v_any.float);}
+            }
+               case else {
+                setverdict(fail);
+            }
+        }
+	}
+
+	control {
+		execute(TC_Sem_190302_select_union_statement_007());
+	}
+}
+with {
+	extension "anytype integer, charstring, float"
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn
index 23342efc5..c10b6335c 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn
@@ -15,13 +15,15 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, create in guard statements
+ ** @purpose  1:20.2, verify that the create operation cannot be used in guard statements
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the guard expression shall not use of the operations create, running, 
-// alive and activate.
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
 
 module NegSem_2002_TheAltStatement_002 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn
index 235eb744b..09673d791 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn
@@ -15,13 +15,15 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (timer) in guard statements
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in guard statements
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the guard expression shall not use of the operations create, running, 
-// alive and activate.
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
 
 module NegSem_2002_TheAltStatement_003 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn
index 2e286caf5..54044fb89 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn
@@ -15,13 +15,15 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (component) in guard statements
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in guard statements
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the guard expression shall not use of the operations create, running, 
-// alive and activate.
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
 
 module NegSem_2002_TheAltStatement_004 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_005.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_005.ttcn
index b4b89ef67..823d2809b 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_005.ttcn
@@ -15,13 +15,15 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, alive in guard statements
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in guard statements
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the guard expression shall not use of the operations create, running, 
-// alive and activate.
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
 
 module NegSem_2002_TheAltStatement_005 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_006.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_006.ttcn
index 99e3d5bab..1d67296f0 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_006.ttcn
@@ -15,13 +15,15 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, activate in guard statements
+ ** @purpose  1:20.2, verify that the activate operation cannot be used in guard statements
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the guard expression shall not use of the operations create, running, 
-// alive and activate.
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
 
 module NegSem_2002_TheAltStatement_006 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_007.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_007.ttcn
index bc18b479a..d494f6765 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_007.ttcn
@@ -15,13 +15,16 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, create in alt branch event
+ ** @purpose  1:20.2, verify that the create operation cannot be used in alt branch events (in inline template)
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the event operation shall not use the operations create, running, alive
-// and activate.
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
 
 module NegSem_2002_TheAltStatement_007 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_008.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_008.ttcn
index 070141dba..06fc6c2d7 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_008.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_008.ttcn
@@ -15,13 +15,16 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (timer) in alt branch event
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in alt branch events (in inline templates)
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the event operation shall not use the operations create, running, alive
-// and activate.
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
 
 module NegSem_2002_TheAltStatement_008 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_009.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_009.ttcn
index a490d9571..b295a63be 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_009.ttcn
@@ -15,13 +15,16 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (component) in alt branch event
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in alt branch events (in inline templates)
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the event operation shall not use the operations create, running, alive
-// and activate.
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
 
 module NegSem_2002_TheAltStatement_009 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_010.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_010.ttcn
index 4bc4b6664..4d02754d9 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_010.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_010.ttcn
@@ -15,13 +15,16 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, alive in alt branch event
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in alt branch events (in inline templates)
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the event operation shall not use the operations create, running, alive
-// and activate.
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
 
 module NegSem_2002_TheAltStatement_010 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_011.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_011.ttcn
index 157cd582d..071b94d1d 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_011.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_011.ttcn
@@ -15,13 +15,16 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, create in alt branch event
+ ** @purpose  1:20.2, verify that the activate operation cannot be used  in alt branch events (in inline templates)
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the event operation shall not use the operations create, running, alive
-// and activate.
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
 
 module NegSem_2002_TheAltStatement_011 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_012.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_012.ttcn
index 278d8e475..bdcdd1917 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_012.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_012.ttcn
@@ -15,13 +15,14 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, create in altstep branch
+ ** @purpose  1:20.2, verify that the create operation cannot be used in parameters of alt branch events
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the altstep invocation parameters shall not use the operations create,
-// running, alive and activate.
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
 
 module NegSem_2002_TheAltStatement_012 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_013.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_013.ttcn
index cd08249f7..4525a4e50 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_013.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_013.ttcn
@@ -15,13 +15,14 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (timer) in altstep branch
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in parameters of alt branch events
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the altstep invocation parameters shall not use the operations create,
-// running, alive and activate.
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
 
 module NegSem_2002_TheAltStatement_013 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn
index 23ebcc949..4a8560aa2 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn
@@ -15,13 +15,14 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, running (component) in altstep branch
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in parameters of alt branch events
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the altstep invocation parameters shall not use the operations create,
-// running, alive and activate.
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep.
 
 module NegSem_2002_TheAltStatement_014 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn
index 1c87062f4..7d47d58b8 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn
@@ -15,13 +15,14 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, alive in altstep branch
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in parameters of alt branch events
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the altstep invocation parameters shall not use the operations create,
-// running, alive and activate.
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
 
 module NegSem_2002_TheAltStatement_015 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn
index a1edf864a..f5b7fea98 100644
--- a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn
@@ -15,13 +15,14 @@
  * Modified by: Adrien Kirjak
  *
  ** @version  0.0.1
- ** @purpose  1:20.2, create in altstep branch
+ ** @purpose  1:20.2, verify that the activate operation cannot be used in parameters of alt branch events
  ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirement is tested:
-// Also, the altstep invocation parameters shall not use the operations create,
-// running, alive and activate.
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
 
 module NegSem_2002_TheAltStatement_016 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn
new file mode 100644
index 000000000..f3ea293f2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the create operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_017 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+   
+	function f_test() return boolean {
+        var GeneralComp v_ptc := GeneralComp.create;
+        return true;
+	}
+	
+	altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_017() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_017());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn
new file mode 100644
index 000000000..4d33cbeb3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.start operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_018 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        log("PTC running");
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+        p_ptc.start(f_ptcBehaviour());
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_018() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_018());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn
new file mode 100644
index 000000000..7afcf25ec
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.stop operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_019 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.stop;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_019() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_019());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn
new file mode 100644
index 000000000..4233778c3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the kill operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_020 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.kill;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_020() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_020());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn
new file mode 100644
index 000000000..accf79622
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_021 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.running) { return true; }
+        else { return false; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_021() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_021());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn
new file mode 100644
index 000000000..d429f7fef
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_022 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+        timer t_tmr := 10.0;
+		t_tmr.start;
+		t_tmr.timeout;
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		if (p_ptc.alive) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_022() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_022());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn
new file mode 100644
index 000000000..7d4efadc7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the done operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_023 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.done;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_023() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_023());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn
new file mode 100644
index 000000000..1a634cdfd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the killed operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_024 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+    function f_ptcBehaviour() runs on GeneralComp {
+    }
+   
+	function f_test(GeneralComp p_ptc) return boolean {
+		p_ptc.killed;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_024() runs on GeneralComp system GeneralComp {        
+        var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_ptcBehaviour());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_ptc));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_024());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn
new file mode 100644
index 000000000..55f6106f1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the port.start operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_025 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.start;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_025() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+            [] a_rcv(f_test()) {} 
+            [] t_tmr.timeout {}
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_025());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn
new file mode 100644
index 000000000..fdd986c68
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the port.stop operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_026 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.stop;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_026() runs on GeneralComp system GeneralComp {        
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+            [] a_rcv(f_test()) {}
+            [] t_tmr.timeout {}
+        }
+        setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_026());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn
new file mode 100644
index 000000000..8f649477c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the halt operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_027 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.halt;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_027() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv(f_test()) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_027());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn
new file mode 100644
index 000000000..ceb5d3f81
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the clear operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_028 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.clear;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_028() runs on GeneralComp system GeneralComp {        
+		timer t_tmr := 0.1;
+		t_tmr.start;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+			[] a_rcv(f_test()) {}
+			[] t_tmr.timeout {}
+		}
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_028());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn
new file mode 100644
index 000000000..88a6cbe7c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_029 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (p.checkstate("Started")) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_029() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_029());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn
new file mode 100644
index 000000000..afbb6253a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the send operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_030 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.send(2);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_030() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_030());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn
new file mode 100644
index 000000000..56970b969
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the receive operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_031 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.receive(integer:?);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_031() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_031());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn
new file mode 100644
index 000000000..6651da8ea
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the trigger operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_032 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.trigger(integer:?);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_032() runs on GeneralComp system GeneralComp {
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_032());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn
new file mode 100644
index 000000000..2214bfee1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the call operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_033 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		psig.call(S:{}, nowait);
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_033() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_033());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn
new file mode 100644
index 000000000..0c32dbb56
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the getcall operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_034 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getcall(S:{});
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_034() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_034());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn
new file mode 100644
index 000000000..bb7a97a97
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the reply operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_035 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.reply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_035() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_035());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn
new file mode 100644
index 000000000..2d633f378
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the getreply operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_036 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S();
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.reply(S:{});
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.getreply(S:{});
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_036() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_036());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn
new file mode 100644
index 000000000..fdc08faba
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the raise operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_037 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.call(S:{}, nowait);
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.raise(S, "UserException");
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_037() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+        p.send(1);
+		psig.getcall(S:{});
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_037());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn
new file mode 100644
index 000000000..341776b0c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the catch operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_038 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+	
+	signature S() exception (charstring);
+	
+	type port PSig procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		port PSig psig;
+	}
+    
+	function f_ptcBehaviour() runs on GeneralComp {
+		psig.getcall(S:{});
+		psig.raise(S, "UserException");
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		psig.catch(S, charstring:?);
+        return true;
+	}
+	
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_038() runs on GeneralComp system GeneralComp {        
+		var GeneralComp v_ptc := GeneralComp.create;
+        connect(mtc:p, mtc:p);
+		connect(mtc:psig, v_ptc:psig);
+		v_ptc.start(f_ptcBehaviour());
+		psig.call(S:{}, nowait);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_038());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn
new file mode 100644
index 000000000..ea796fbe5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the check operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_039 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		p.check;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_039() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_039());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn
new file mode 100644
index 000000000..7f289bd52
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the connect operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_040 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		connect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_040() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_040());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn
new file mode 100644
index 000000000..91cc62a17
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the disconnect operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_041 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		disconnect(mtc:p, mtc:p);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_041() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_041());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn
new file mode 100644
index 000000000..488266f2e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the map operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_042 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		map(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp system GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_042() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_042());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn
new file mode 100644
index 000000000..bbf8f8575
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the unmap operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_043 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp system GeneralComp return boolean {
+		unmap(mtc:p, system:p);
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp system GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_043() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		disconnect(mtc:p, mtc:p);
+		map(mtc:p, system:p);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_043());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn
new file mode 100644
index 000000000..7b1d6fda2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the action operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_044 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		action("My action");
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_044() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_044());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn
new file mode 100644
index 000000000..94510217c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.start operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_045 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.start;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_045() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_045());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn
new file mode 100644
index 000000000..25e02aa94
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.stop operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_046 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		tc_tmr.stop;
+        return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_046() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_046());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn
new file mode 100644
index 000000000..0410c0ea7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_047 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 5.0;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.running) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_047() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_047());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn
new file mode 100644
index 000000000..9b66e4e9a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_048 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (tc_tmr.read > 0.0) { return true; }
+		else { return false; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_048() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_048());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn
new file mode 100644
index 000000000..cba7424eb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timeout operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_049 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		timer tc_tmr := 0.1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		any timer.timeout;
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_049() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+		tc_tmr.start;
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_049());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn
new file mode 100644
index 000000000..051cbac9f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that a non-deterministic external function call cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ** @configuration  external_functions
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_050 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	/**
+	 * @return always true
+	 */
+    external function xf_NegSem_2002_TheAltStatement_050() return boolean;
+	
+	function f_test() runs on GeneralComp return boolean {
+		if (xf_NegSem_2002_TheAltStatement_050()) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_050() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_050());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn
new file mode 100644
index 000000000..622357507
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the predefined rnd function cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_051 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		if (rnd() > 0.5) { return true; }
+		else { return true; }
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_051() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_051());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn
new file mode 100644
index 000000000..24bcf7263
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify a function called in a guard of an altstep cannot contain an assignment of a component variable
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_052 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		vc_int := 1;
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_052() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_052());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn
new file mode 100644
index 000000000..4a468b57b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify a function called in a guard of an altstep cannot contain a component variable used as an actual out parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_053 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int;
+	}
+	
+	function f_out (out integer p_out) {
+		p_out := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_out(vc_int);
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_053() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_053());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn
new file mode 100644
index 000000000..d623ba785
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify a function called in a guard of an altstep cannot contain a component variable used as an actual inout parameter
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_054 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+		var integer vc_int := 0;
+	}
+	
+	function f_inout (inout integer p_inout) {
+		p_inout := 1;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		f_inout(vc_int);
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_054() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_054());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn
new file mode 100644
index 000000000..5590b241e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the setverdict operation cannot be used in guard statements of altstep
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_055 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	function f_test() runs on GeneralComp return boolean {
+		setverdict(pass);
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_055() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_055());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn
new file mode 100644
index 000000000..f2a44a68e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the activate operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_056 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		activate(a_anyTimer());
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_056() runs on GeneralComp system GeneralComp {        
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_056());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn
new file mode 100644
index 000000000..784ce5ca5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the deactivate operation cannot be used in parameters of altsteps invoked from an alt branch
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_057 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+    
+	altstep a_anyTimer() runs on GeneralComp {
+		[] any timer.timeout {}
+	}
+	
+	function f_test() runs on GeneralComp return boolean {
+		deactivate;
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_057() runs on GeneralComp system GeneralComp {        
+		activate(a_anyTimer());
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+	        [] a_rcv(f_test());
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_057());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn
new file mode 100644
index 000000000..144a7366e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that a function used in a parameter of an altstep invoked from an alt branch cannot contain out parameters
+ ** @verdict  pass reject
+***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_058 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(out integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_058() runs on GeneralComp system GeneralComp {        		
+		var integer v_int := 0;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+		alt {
+	        [] a_rcv(f_test(v_int));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_058());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn
new file mode 100644
index 000000000..0e1daa23f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that a function used in a parameter of an altstep invoked from an alt branch cannot contain inout parameters
+ ** @verdict  pass reject
+***************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_059 { 
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+	}
+	
+	function f_test(inout integer p_par) runs on GeneralComp return boolean {
+		p_par := 1;
+		return true;
+	}
+
+    altstep a_rcv(boolean p_par) runs on GeneralComp {
+        [] p.receive(integer:?) {} 
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_059() runs on GeneralComp system GeneralComp {        		
+		var integer v_int := 0;
+        connect(mtc:p, mtc:p);
+        p.send(1);
+        alt {
+	        [] a_rcv(f_test(v_int));
+            [] any timer.timeout {} 
+        }
+		setverdict(pass);
+	}
+
+	control {
+		execute(TC_NegSem_2002_TheAltStatement_059());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn
new file mode 100644
index 000000000..84c7e8093
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in guard statements
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
+
+module NegSem_2002_TheAltStatement_060 {
+
+    type port MyPort message {
+        inout charstring
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    template charstring m_test := "ping";
+    
+    testcase TC_NegSem_2002_TheAltStatement_060() runs on GeneralComp {
+        timer t_tmr := 1.0;
+        t_tmr.start;
+
+        connect(self:p, self:p);
+	    p.send(m_test);
+
+	    alt {
+		    [t_tmr.read > 0.0] p.receive(charstring:?) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_060());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn
new file mode 100644
index 000000000..c41aa0ba8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in guard statements
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// b) The evaluation of a Boolean expression guarding an alternative shall not have side effects. To avoid side effects
+// that cause an inconsistency between the actual snapshot and the state of the component, the same restrictions 
+// as the restrictions for the initialization of local definitions within altsteps (clause 16.2) and the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply.
+
+module NegSem_2002_TheAltStatement_061 {
+
+    type port MyPort message {
+        inout charstring
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    template charstring m_test := "ping";
+    
+    testcase TC_NegSem_2002_TheAltStatement_061() runs on GeneralComp {
+		connect(self:p, self:p);
+	    p.send(m_test);
+
+	    alt {
+		    [p.checkstate("Started")] p.receive(charstring:?) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_061());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn
new file mode 100644
index 000000000..499b0c3f0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in alt branch events (in inline templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_062 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_062() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 1.0;
+
+        connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+
+	    alt {
+		    [] p.receive(boolean:t_tmr.read > 0.0) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_062());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn
new file mode 100644
index 000000000..8a7b594aa
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in alt branch events (in inline templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_063 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_063() runs on GeneralComp system GeneralComp {
+
+		connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(boolean:p.checkstate("Started")) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_063());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn
new file mode 100644
index 000000000..24a35e104
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in parameters of alt branch events
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_064 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_receive(boolean p_bool) runs on GeneralComp {
+        [] p.receive(p_bool) {
+			setverdict(pass);
+		}
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_064() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 1.0;
+        connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+	    alt {
+		    [] a_receive(t_tmr.read > 0.0);
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_064());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn
new file mode 100644
index 000000000..0f620342a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in parameters of alt branch events
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_065 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_receive(boolean p_bool) runs on GeneralComp {
+        [] p.receive(p_bool) {
+			setverdict(pass);
+		}
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_065() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] a_receive(p.checkstate("Started"));
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_065());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn
new file mode 100644
index 000000000..3438b3a12
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the create operation cannot be used in alt branch events
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_066 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_066() runs on GeneralComp system GeneralComp {
+        var template @fuzzy boolean mw_msg := (GeneralComp.create != null);
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_066());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn
new file mode 100644
index 000000000..868d8ebdc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_067 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+
+    function f_test() runs on GeneralComp {
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_067() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_test());
+
+        var template @fuzzy boolean mw_msg := v_ptc.running;
+        connect(self:p, self:p);
+
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_067());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn
new file mode 100644
index 000000000..d80d77775
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_068 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_068() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create alive;
+
+        var template @fuzzy boolean mw_msg := v_ptc.alive;
+        connect(self:p, self:p);
+	    p.send(true);
+
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_068());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn
new file mode 100644
index 000000000..2d92983cb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_069 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_069() runs on GeneralComp system GeneralComp {
+        var template @fuzzy boolean mw_msg := p.checkstate("Started");
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_069());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn
new file mode 100644
index 000000000..b7ae46e01
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_070 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_070() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 4.0;
+        t_tmr.start;
+
+		var template @fuzzy boolean mw_msg := t_tmr.running;
+
+        connect(self:p, self:p);
+
+	    p.send(true);
+
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_070());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn
new file mode 100644
index 000000000..1f0e63eb3
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_071 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    testcase TC_NegSem_2002_TheAltStatement_071() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 4.0;
+        t_tmr.start;
+
+		connect(self:p, self:p);
+
+		var template @fuzzy boolean mw_msg := t_tmr.read > 0.0; //the program is too quick, do not to put this earlier in the code
+		p.send(true);
+
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_071());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn
new file mode 100644
index 000000000..043edbfb5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the activate operation cannot be used  in alt branch events (in templates)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_072 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_timeout() {
+        [] any timer.timeout {
+        }
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_072() runs on GeneralComp system GeneralComp {
+        var template @fuzzy boolean mw_msg := activate(a_timeout()) != null;
+
+        connect(self:p, self:p);
+	    p.send(true);
+
+	    alt {
+		    [] p.receive(mw_msg) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_072());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn
new file mode 100644
index 000000000..2bbdb8008
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the create operation cannot be used in alt branch events (in inline template)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_073 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_073() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(GeneralComp.create != null)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_073());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn
new file mode 100644
index 000000000..352985e3c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_074 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+
+    function f_test() runs on GeneralComp {
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_074() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create;
+		v_ptc.start(f_test());
+
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(v_ptc.running)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_074());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn
new file mode 100644
index 000000000..7845e98d1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_075 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_075() runs on GeneralComp system GeneralComp {
+		var GeneralComp v_ptc := GeneralComp.create alive;
+
+        connect(self:p, self:p);
+	    p.send(true);
+
+	    alt {
+		    [] p.receive(mw_msg(v_ptc.alive)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_075());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn
new file mode 100644
index 000000000..9d4424169
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_076 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_076() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(p.checkstate("Started"))) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_076());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn
new file mode 100644
index 000000000..bdba5ae75
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_077 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_077() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 4.0;
+        connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(t_tmr.running)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_077());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn
new file mode 100644
index 000000000..c60cfe990
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_078 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_078() runs on GeneralComp system GeneralComp {
+        timer t_tmr := 4.0;
+		connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(t_tmr.read > 0.0)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_078());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn
new file mode 100644
index 000000000..842d4f1f6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the activate operation cannot be used  in alt branch events (in template parameters)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// c) The evaluation of the event of an alt branch shall not have side effects. To avoid side effects that cause 
+// an inconsistency between the actual snapshot and the state of the component or introduce indeterminism 
+// in the evaluation of the following alt branches or the re-evaluation of the same alt branch, the restrictions 
+// imposed on the contents of functions called from special places (clause 16.1.4) shall apply to expressions 
+// occurring in the matching part of an alternative.
+
+module NegSem_2002_TheAltStatement_079 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_timeout() {
+        [] any timer.timeout {
+        }
+    }
+
+	template boolean mw_msg (boolean p_par) := (false, p_par);
+	
+    testcase TC_NegSem_2002_TheAltStatement_079() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] p.receive(mw_msg(activate(a_timeout()) != null)) {
+			    setverdict(pass);
+		    }
+	    }
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_079());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn
new file mode 100644
index 000000000..ec11ebd3a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the create operation cannot be used in alt branch events (in inline template)
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_080 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := GeneralComp.create != null;
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_080() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_080());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn
new file mode 100644
index 000000000..b55911960
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the component.running operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_081 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+		var GeneralComp v_ptc;
+    } 
+
+    function f_test() runs on GeneralComp {
+    }
+    
+    altstep a_rcv() runs on GeneralComp {
+        var boolean v_bool := v_ptc.running;
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_081() runs on GeneralComp system GeneralComp {
+		v_ptc := GeneralComp.create;
+		v_ptc.start(f_test());
+
+        connect(self:p, self:p);
+	    p.send(true);
+
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_081());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn
new file mode 100644
index 000000000..f36023805
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the alive operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_082 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+		var GeneralComp v_ptc;
+    }
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := v_ptc.alive;
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_082() runs on GeneralComp system GeneralComp {
+		v_ptc := GeneralComp.create alive;
+
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_082());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn
new file mode 100644
index 000000000..0b3dcbbe2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the checkstate operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_083 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := p.checkstate("Started");
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_083() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_083());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn
new file mode 100644
index 000000000..c556d7dfd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the timer.running operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_084 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+        timer t_tmr := 1.0;
+	}
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := t_tmr.running;
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_084() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_084());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn
new file mode 100644
index 000000000..ccb1ecfb7
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the read operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_085 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+        timer t_tmr := 1.0;
+    }
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := t_tmr.read > 0.0;
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_085() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+        t_tmr.start;
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_085());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn
new file mode 100644
index 000000000..e22789545
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:20.2, verify that the activate operation cannot be used in altstep declarations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirement is tested:
+// d) The evaluation of an altstep invoked from an alt branch, if none of the alternatives in the altstep is chosen, shall 
+// not have side effects. To avoid side effects the restrictions imposed on the contents of functions called from special 
+// places (clause 16.1.4) shall apply to the actual parameters of the invoked altstep. 
+
+module NegSem_2002_TheAltStatement_086 {
+
+    type port MyPort message {
+        inout boolean
+    } with {extension "internal"}
+    
+    type component GeneralComp { 
+	    port MyPort p;
+    }
+	
+    altstep a_timeout() {
+        [] any timer.timeout{
+        }
+	}
+    
+    altstep a_rcv() runs on GeneralComp {	
+        var boolean v_bool := (activate(a_timeout()) != null);
+        [v_bool] p.receive(boolean:?){
+		}
+    }
+
+    testcase TC_NegSem_2002_TheAltStatement_086() runs on GeneralComp system GeneralComp {
+        connect(self:p, self:p);
+	    p.send(true);
+	    alt {
+		    [] a_rcv();
+            [] any timer.timeout {
+            }
+        }
+        setverdict(pass);
+    }
+    
+    control {
+	    execute(TC_NegSem_2002_TheAltStatement_086());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc
new file mode 100644
index 000000000..f27cbad8a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc
@@ -0,0 +1,17 @@
+/*****************************************************************
+ ** @author   STF 470
+ ** @version  0.0.1
+ ** @purpose  1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions
+ ** @verdict  pass reject
+ *****************************************************************/
+
+#include "NegSem_2002_TheAltStatement_050.hh"
+
+namespace NegSem__2002__TheAltStatement__050
+{
+
+	BOOLEAN xf__NegSem__2002__TheAltStatement__050()
+    {
+		return true;
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn
index 67d8a27b6..b1b62daf4 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn
@@ -28,7 +28,7 @@
 //   4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and
 //   5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2.
 // b) The connect operation is allowed if and only if:
-// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1.
+// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1.
 //
 // In this test, outlist-PORT1 == inlist-PORT2 and outlist-PORT2 == inlist-PORT1
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn
index efb466629..b5b9f3ae5 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn
@@ -29,7 +29,7 @@
 //   5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2.
 // c) The map operation (assuming PORT2 is the test system interface port) is allowed if 
 // and only if:
-// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1.
+// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1.
 //
 // In this test, outlist-PORT1 == outlist-PORT2 and inlist-PORT2 == inlist-PORT1
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn
index cc86d6311..401278671 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn
@@ -29,9 +29,9 @@
 //   5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2.
 // c) The map operation (assuming PORT2 is the test system interface port) is allowed if 
 // and only if:
-// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1.
+// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1.
 //
-// In this test, outlist-PORT1 ⊂ outlist-PORT2 and inlist-PORT2 == inlist-PORT1
+// In this test, outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 == inlist-PORT1
 
 module Sem_210101_connect_and_map_operations_006 { 
 	type record R {
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn
index 75ad8a9cc..0e99cb546 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn
@@ -1,5 +1,19 @@
-/*****************************************************************
- ** @author   STF 433, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.1, Ensure that map param statements are allowed in testcase block
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn
index a335eafce..4a93b347d 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn
@@ -1,5 +1,19 @@
-/*****************************************************************
- ** @author   STF 433, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.2, Ensure that unmap param statements are allowed in testcase block
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn
index 91e5dee3e..a6be261d2 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn
@@ -1,5 +1,19 @@
-/***************************************************
- ** @author   STF 451, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.2, Ensure that all component notation work correctly in disconnect operation
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn
index 161623c2b..b3cee5d92 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn
@@ -1,5 +1,19 @@
-/***************************************************
- ** @author   STF 451, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.1, Ensure that disconnect has no effect on components that are not connected
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn
index 6bfe9e45b..0986fa046 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn
@@ -1,5 +1,19 @@
-/***************************************************
- ** @author   STF 451, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.2, Ensure that umnap operation of a system and component port works correctly
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn
index 4c144f12d..a4bd449db 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn
@@ -1,5 +1,19 @@
-/***************************************************
- ** @author   STF 451, STF 470
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
  ** @version  0.0.2
  ** @purpose  1:21.1.2, Ensure that umnap operation of a component and system port works correctly
  ** @verdict  pass accept, ttcn3verdict:pass
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn
new file mode 100644
index 000000000..715e42f98
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:21.3.2, altstep in test component start operation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+// The start operation shall bind the required behaviour to the test component. This 
+// behaviour is defined by reference to an already defined function or altstep.
+// NOTE: altstep support added in TTCN-3:2016 -> the test was changed to positive one.
+
+module Sem_210302_Start_test_component_011 { 
+
+	type port P message {
+		inout integer;
+	}
+
+	type component GeneralComp {
+        port P p;
+	}
+    
+    altstep a_test() runs on GeneralComp {
+        [] p.receive(integer:?) {
+            setverdict(pass);
+        }
+    }
+    
+	testcase TC_Sem_210302_Start_test_component_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+		p.send(1);
+        v_ptc.start(a_test());
+        v_ptc.done;
+		setverdict(pass);
+	}
+	
+	control{
+	    execute(TC_Sem_210302_Start_test_component_011());
+	}
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn
new file mode 100644
index 000000000..561cef92e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:21.3.2, Ensure that start operation works with parametered altsteps
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+// The following requirement is tested: The start operation shall bind the required behaviour to the test component.
+// This behaviour is defined by reference to an already defined function or altstep.
+
+module Sem_210302_Start_test_component_012 {
+
+    type port myPortType message {
+        inout integer;
+    }
+
+    type component GeneralComp {
+    	port myPortType myPort;
+    }
+    
+    altstep a_myBehaviour(in integer p_int) runs on GeneralComp { 
+
+        [] any port.receive {
+            setverdict(pass);
+        }
+	}
+    
+	
+    testcase TC_Sem_210302_Start_test_component_012() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create alive;
+
+        connect(mtc:myPort, v_ptc:myPort);
+        myPort.send(1);
+
+		v_ptc.start(a_myBehaviour(1));
+		v_ptc.done; 
+	
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_Sem_210302_Start_test_component_012());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn
new file mode 100644
index 000000000..4db4af567
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:21.3.2, Ensure that inout parameters will be passed to the function by value, i.e. like in-parameters.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+// Actual inout parameters will be passed to the function by value, i.e. like in-parameters. 
+
+module Sem_210302_Start_test_component_013 {
+
+    type component GeneralComp {}
+
+	function f(inout integer v_in) runs on GeneralComp {
+    	if( match(v_in, 5) ) { 
+			setverdict(pass); 
+		}
+    	else {
+			setverdict(fail); 
+		}
+    }
+	
+    testcase TC_Sem_210302_Start_test_component_013() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create alive;
+        var integer v_var := 5;
+		v_ptc.start(f(v_var));
+		v_ptc.done;
+    }
+
+    control {
+        execute(TC_Sem_210302_Start_test_component_013());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn
new file mode 100644
index 000000000..2512eed3f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:21.3.2, Ensure that inout parameters will be passed to the function by value, i.e. like in-parameters.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+// Possible return values of a function invoked in a start test component operation, 
+// i.e. templates denoted by return keyword or inout and out parameters, have no effect 
+// when the started test component terminates.
+
+module Sem_210302_Start_test_component_014 {
+
+    type component GeneralComp {
+       var integer v_var := 5;
+    }
+	
+    function f() runs on GeneralComp return integer {
+    	v_var := 1;
+    	return v_var;  // return value v_var:=1
+    }
+	
+    testcase TC_Sem_210302_Start_test_component_014() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create alive;
+		v_ptc.start(f());
+		v_ptc.done;
+
+         if(match(v_var,5)){ 
+             setverdict(pass); 
+         }
+        else { 
+            setverdict(fail,v_var); 
+        }
+    }
+
+    control {
+        execute(TC_Sem_210302_Start_test_component_014());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_005.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_005.ttcn
index 9943d4955..73a32d907 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_005.ttcn
@@ -30,6 +30,9 @@ module Sem_210303_Stop_test_component_005 {
 	}
     
     function f_ptcBehaviour() runs on GeneralComp {
+		timer t_tmr := 1.0;
+		t_tmr.start;
+		t_tmr.timeout;
     }
 
     function f_ptcSecondBehaviour() runs on GeneralComp {
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_002.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_002.ttcn
index 5b04a7801..d31288d44 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_002.ttcn
@@ -32,8 +32,6 @@ module NegSem_210305_alive_operation_002 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_002() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -41,7 +39,7 @@ module NegSem_210305_alive_operation_002 {
 		var integer v_index[1];
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } //quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } //kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_003.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_003.ttcn
index c8d1c73a0..473baf9e5 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_003.ttcn
@@ -32,8 +32,6 @@ module NegSem_210305_alive_operation_003 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_003() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -41,7 +39,7 @@ module NegSem_210305_alive_operation_003 {
 		var float v_index;
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } //quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } //kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
         v_isAlive := any from v_ptc.alive -> @index value v_index;
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_004.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_004.ttcn
index 79828c438..95d0d0e05 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_004.ttcn
@@ -34,8 +34,6 @@ module NegSem_210305_alive_operation_004 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_004() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 3;
@@ -44,7 +42,7 @@ module NegSem_210305_alive_operation_004 {
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			for (var integer j := 0; j < c_size; j := j + 1) {				
 				v_ptc[i][j] := GeneralComp.create; // created components are inactive
-				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].start(f_done()); } //quick done components on even i or odd j
+				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i].kill; } //kill components on even i or odd j
 				else { v_ptc[i][j].start(f());} // activate v_ptc
 			}
 		}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_005.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_005.ttcn
index c972de493..c135c7f0b 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/NegSem_210305_alive_operation_005.ttcn
@@ -34,8 +34,6 @@ module NegSem_210305_alive_operation_005 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_NegSem_210305_alive_operation_005() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 3;
@@ -44,7 +42,7 @@ module NegSem_210305_alive_operation_005 {
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			for (var integer j := 0; j < c_size; j := j + 1) {				
 				v_ptc[i][j] := GeneralComp.create; // created components are inactive
-				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].start(f_done()); } //quick done components on even i or odd j
+				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i].kill; } //kill components on even i or odd j
 				else { v_ptc[i][j].start(f());} // activate v_ptc
 			}
 		}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_009.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_009.ttcn
index af582425f..bac3f2abb 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_009.ttcn
@@ -31,8 +31,6 @@ module Sem_210305_alive_operation_009 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_Sem_210305_alive_operation_009() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -41,7 +39,7 @@ module Sem_210305_alive_operation_009 {
 
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } // quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } // kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_010.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_010.ttcn
index 40a2254f2..e521056b4 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_010.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_010.ttcn
@@ -31,8 +31,6 @@ module Sem_210305_alive_operation_010 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_Sem_210305_alive_operation_010() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -41,7 +39,7 @@ module Sem_210305_alive_operation_010 {
 
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } // quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } // kill components on even indices
 			else { v_ptc[i].start(f());} // activate PTC
 		}
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_011.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_011.ttcn
index 547334ada..e7e74b2b1 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_011.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_011.ttcn
@@ -34,8 +34,6 @@ module Sem_210305_alive_operation_011 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_Sem_210305_alive_operation_011() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 3;
@@ -45,7 +43,7 @@ module Sem_210305_alive_operation_011 {
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			for (var integer j := 0; j < c_size; j := j + 1) {				
 				v_ptc[i][j] := GeneralComp.create; // created components are inactive
-				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].start(f_done()); } //quick done components on even i or odd j
+				if (i mod 2 == 0 or j mod 2 == 1) { v_ptc[i][j].kill; } //kill components on even i or odd j
 				else { v_ptc[i][j].start(f());} // activate v_ptc
 			}
 		}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn
index 50ea094c1..b6745932a 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn
@@ -33,8 +33,6 @@ module Sem_210305_alive_operation_013 {
 		t.start;
 		t.timeout;
 	}
-	
-	function f_done() runs on GeneralComp {}
 
     testcase TC_Sem_210305_alive_operation_013() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
@@ -44,7 +42,7 @@ module Sem_210305_alive_operation_013 {
 
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } // quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } // kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn
index 9b82f59b8..b241b0956 100644
--- a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn
@@ -34,8 +34,6 @@ module Sem_210305_alive_operation_014 {
 		t.timeout;
 	}
 
-	function f_done() runs on GeneralComp {}
-	
     testcase TC_Sem_210305_alive_operation_014() runs on GeneralComp system GeneralComp {
 		var boolean v_isAlive;
 		const integer c_size := 4;
@@ -44,7 +42,7 @@ module Sem_210305_alive_operation_014 {
 
 		for (var integer i := 0; i < c_size; i := i + 1) {
 			v_ptc[i] := GeneralComp.create; // created components are inactive
-			if (i mod 2 == 0) { v_ptc[i].start(f_done()); } // quick done components on even indices
+			if (i mod 2 == 0) { v_ptc[i].kill; } // kill components on even indices
 			else { v_ptc[i].start(f());} // activate v_ptc
 		}
 
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn
new file mode 100644
index 000000000..b351fba30
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn
@@ -0,0 +1,42 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+  ** @purpose  1:21.3.5, Ensure that alive applied on the mtc the operation returns true.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+//// The following requirement is tested: Alive operation applied on the mtc the operation returns true.
+
+module Sem_210305_alive_operation_015 {
+
+    type component GeneralComp {}
+
+    testcase TC_Sem_210305_alive_operation_015() runs on GeneralComp system GeneralComp {
+
+		if (mtc.alive) { 
+        	setverdict(pass);
+        }
+        else
+        {
+        	setverdict(fail);
+        }
+     
+    }
+
+    control {
+        execute(TC_Sem_210305_alive_operation_015());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn
new file mode 100644
index 000000000..f3e800f3d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn
@@ -0,0 +1,48 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:21.3.6, Check that running operator provides information about mtc.
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+// // The following requirement is tested: The running operation returns true for the mtc and PTCs that have been started but not yet terminated or stopped.
+
+module Sem_210306_running_operation_013 {
+
+    type component GeneralComp {}
+
+    function f1 ( ) runs on GeneralComp {
+		timer t := 100.0;
+		t.start;
+		t.timeout;
+    }
+	
+    testcase TC_Sem_210306_running_operation_013() runs on GeneralComp system GeneralComp {
+        var GeneralComp ptc := GeneralComp.create alive;
+		
+        ptc.start(f1());
+
+		// Check that ptc is running, and mtc component is running
+        if (match(ptc.running, true) and match(mtc.running, true)) {
+            setverdict(pass);
+        } else {
+            setverdict(fail);
+        }
+    }
+    control {
+        execute(TC_Sem_210306_running_operation_013());
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_008.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_008.ttcn
index e486ecbec..650f04a06 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_008.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_008.ttcn
@@ -20,8 +20,9 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// AddressRef shall be of type address, component or of the type provided in the address 
-// declaration of the port type of the port instance referenced in the send operation.
+// All AddressRef items in the to clause shall be of type address, component or of the 
+// address type bound to the port type (see clause 6.2.9) of the port instance referenced 
+// in the send operation.
 
 module NegSem_220201_SendOperation_008 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_009.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_009.ttcn
index 0f7dd4c9c..fe2349f2a 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_009.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220201_SendOperation_009 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_010.ttcn
index 27580385e..5f7882b76 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_010.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_010.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220201_SendOperation_010 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn
new file mode 100644
index 000000000..fad13ad0b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.2.2, verify that a variable of a different but compatible type can be used in a redirect assignment
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// The assignment part in a receiving operation is optional. For message-based ports it is used when it is 
+// required to store received messages. In the case of procedure-based ports it is used for storing the in 
+// and inout parameters of an accepted call, for storing the return value or for storing exceptions. 
+// For the message or parameter value assignment part strong typing is not required, e.g. the variable used 
+// for storing a message shall be type-compatible to the type of the incoming message.
+
+module Sem_220202_ReceiveOperation_030 {
+
+	type port P message {
+		inout integer;
+	} with {extension "internal"}
+	
+	type integer UInt8 (0..255);
+
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	    
+    testcase TC_Sem_220202_ReceiveOperation_030() runs on GeneralComp {
+        var UInt8 v_int;
+		connect(self:p, self:p);
+
+        p.send(10);
+        p.receive(integer:?) -> value v_int;
+
+        if (v_int == 10) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220202_ReceiveOperation_030(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_024.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_024.ttcn
new file mode 100644
index 000000000..cb748ff08
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_024.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.2.3, trying to store an incompatible component value in the sender clause of a trigger operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// Type mismatch at storing the received value or parts of the received value and storing
+// the sender shall cause an error.
+
+module NegSem_220203_TriggerOperation_024 {
+
+	type port P message {
+		inout integer;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	    
+    type component CustomComp {
+		var integer vc_int;
+	}
+
+    testcase TC_NegSem_220203_TriggerOperation_024() runs on GeneralComp system GeneralComp {
+        var CustomComp v_sender;
+        timer t_tmr := 0.1;
+        t_tmr.start;
+        connect(self:p, self:p);
+        p.send(10);
+        alt {
+            // this alternative shall be selected, but the assignment shall generate an error
+            [] p.trigger(integer:?) -> sender v_sender { }
+			[] t_tmr.timeout {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220203_TriggerOperation_024(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn
index 0a3862c99..d7dd701a2 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn
@@ -20,11 +20,10 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// The matching criteria as defined in clause 22.2.2 apply also to the trigger 
-// operation.
-// In the case of one-to-many connections the [trigger] operation may be restricted 
+// In the case of one-to-many connections the trigger operation may be restricted 
 // to a certain communication partner. This restriction shall be denoted using the 
-// from keyword.
+// from keyword followed by a specification of an address or component reference, 
+// a list of address or component references or any component.
 
 module Sem_220203_TriggerOperation_006 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn
index 802a637f3..793b39751 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn
@@ -20,11 +20,10 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// The matching criteria as defined in clause 22.2.2 apply also to the trigger 
-// operation.
-// In the case of one-to-many connections the [trigger] operation may be restricted 
+// In the case of one-to-many connections the trigger operation may be restricted 
 // to a certain communication partner. This restriction shall be denoted using the 
-// from keyword.
+// from keyword followed by a specification of an address or component reference, 
+// a list of address or component references or any component.
 
 module Sem_220203_TriggerOperation_007 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn
index 740a912d6..7d15d61e5 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn
@@ -20,11 +20,10 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// The matching criteria as defined in clause 22.2.2 apply also to the trigger 
-// operation.
-// In the case of one-to-many connections the [trigger] operation may be restricted 
+// In the case of one-to-many connections the trigger operation may be restricted 
 // to a certain communication partner. This restriction shall be denoted using the 
-// from keyword.
+// from keyword followed by a specification of an address or component reference, 
+// a list of address or component references or any component.
 
 module Sem_220203_TriggerOperation_008 {
 	
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn
index 9faec9391..53af1de25 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220301_CallOperation_003 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn
index 72cc149f6..6eef39eed 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220301_CallOperation_004 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn
new file mode 100644
index 000000000..f4116362a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, incompatible template in the to clause of the call operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the to clause and all VariableRef items in the sender clause
+// shall be of type address, component or of the address type bound to the port type (see 
+// section 6.2.9) of the port instance referenced in the call operation.
+
+module NegSem_220301_CallOperation_005 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_005() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait) to v_addr;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_005(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn
new file mode 100644
index 000000000..cc99c0194
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that non-blocking calls cannot have a response and exception handling part
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of non-blocking procedure-based communication the handling of exceptions 
+// to call operations is done by using catch (see clause 22.3.6) operations as 
+// alternatives in alt statements.
+// A non-blocking procedure has no out and inout parameters, no return value and the 
+// non-blocking property is indicated in the corresponding signature definition by means 
+// of a noblock keyword. Possible exceptions raised by non-blocking procedures have to be 
+// removed from the port queue by using catch operations in subsequent alt or interleave 
+// statements.
+
+module NegSem_220301_CallOperation_006 {
+
+    signature S() noblock;
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:?);
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_006() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+		v_ptc.start(f_called);
+        p.call(S:{}) {
+			[] p.getreply(S:{}) {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_006(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn
new file mode 100644
index 000000000..1e54c9c19
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that signature that are not listed in the port inout and out list cannot be used in call operations
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// a) The call operation shall only be used on procedure-based ports. The type definition 
+// of the port at which the call operation takes place shall include the procedure name 
+// in its out or inout list i.e. it shall be allowed to call this procedure at this port.
+
+module NegSem_220301_CallOperation_007 {
+
+    signature S1() noblock;
+	signature S2() noblock;
+
+    type port P procedure {
+        inout S1;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+		
+    testcase TC_NegSem_220301_CallOperation_007() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(S2:{}); // error expected
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_007(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn
new file mode 100644
index 000000000..a3653b9bc
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that in parameters of a signature used in a call operation cannot contain matching symbols
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220301_CallOperation_008 {
+
+    signature S(in integer p_par) noblock;
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := ? };
+	
+    testcase TC_NegSem_220301_CallOperation_008() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_008(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn
new file mode 100644
index 000000000..2aebb6298
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that in parameters of a signature used in a call operation cannot be omitted
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220301_CallOperation_009 {
+
+    signature S(in integer p_par) noblock;
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := - };
+	
+    testcase TC_NegSem_220301_CallOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_009(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn
new file mode 100644
index 000000000..16cb18967
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that inout parameters of a signature used in a call operation cannot contain matching symbols
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220301_CallOperation_010 {
+
+    signature S(inout integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := ? };
+	
+    testcase TC_NegSem_220301_CallOperation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_010(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn
new file mode 100644
index 000000000..a0d0c4556
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that inout parameters of a signature used in a call operation cannot be omitted
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// b) All in and inout parameters of the signature shall have a specific value i.e. the use 
+// of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220301_CallOperation_011 {
+
+    signature S(inout integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := - };
+	
+    testcase TC_NegSem_220301_CallOperation_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220301_CallOperation_011(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn
new file mode 100644
index 000000000..6d2ad4e5c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, missing to clause in case of one-to-many connections
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// e) A to clause shall be present in case of one-to-many connections.
+
+module NegSem_220301_CallOperation_012 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_012() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create;
+
+		var integer v_counter := 0;
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+
+		p.call(S:{}) { // error expected as the to clause is missing
+			[] p.getreply(S:{}) { 
+				v_counter := v_counter + 1;
+				if (v_counter < 2) {
+					repeat;
+				} else {
+					setverdict(pass, "Both replies received"); }
+				}
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_012(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn
new file mode 100644
index 000000000..646cb6d6c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that type mismatch error is issued for incorrect call timer values
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// g) CallTimerValue shall be of type float. 
+
+module NegSem_220301_CallOperation_013 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_013() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, 2) {  // error expected as 2 is an integer literal
+			[] p.getreply(S:{}) {}
+			[] p.catch(timeout) {}				
+		}
+		setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_013(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn
new file mode 100644
index 000000000..fe469a972
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that getreply signature mismatch in the response and exception handling causes an error
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
+
+module NegSem_220301_CallOperation_014 {
+
+	signature S1();
+	signature S2();
+	
+	type port P procedure {
+		inout S1, S2;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.reply(S1:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_014() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S1:{}) {
+			[] p.getreply(S1:{}) { setverdict(pass, "Reply accepted"); }
+			[] p.getreply(S2:{}) {} // error expected
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_014(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn
new file mode 100644
index 000000000..84156eb02
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that exception signature mismatch in the response and exception handling causes an error
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
+
+module NegSem_220301_CallOperation_015 {
+
+	signature S1() exception(integer);
+	signature S2() exception(charstring);
+	
+	type port P procedure {
+		inout S1, S2;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.raise(S1, 1);
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_015() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S1:{}) {
+			[] p.catch(S1, integer:?) { setverdict(pass, "Exception caught!"); }
+			[] p.catch(S2, charstring:?) {} // expected error
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_015(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn
new file mode 100644
index 000000000..ea8e3248c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that forbidden calls cannot appear in response and exception handling part guards
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// i) The evaluation of the Boolean expressions guarding the alternatives in the response 
+// and exception handling part may have side effects. In order to avoid unexpected side 
+// effects, the same rules as for the Boolean guards in alt statements shall be applied 
+// (see clause 20.2).
+
+
+module NegSem_220301_CallOperation_016 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_016() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		timer t_tmr := 5.0;
+		t_tmr.start;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[t_tmr.read > 0.0] p.getreply(S:{}) 
+					{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_016(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn
new file mode 100644
index 000000000..1205b5bde
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that forbidden functions cannot appear in response and exception handling part guards
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// i) The evaluation of the Boolean expressions guarding the alternatives in the response 
+// and exception handling part may have side effects. In order to avoid unexpected side 
+// effects, the same rules as for the Boolean guards in alt statements shall be applied 
+// (see clause 20.2).
+
+module NegSem_220301_CallOperation_017 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+		var integer v_int := 0;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+	function f_guard() runs on GeneralComp return boolean {
+		v_int := v_int + 1;
+		return v_int < 10;
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_017() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[f_guard()] p.getreply(S:{}) 
+					{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_017(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn
new file mode 100644
index 000000000..966edfefd
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that non-blocking procedure calls cannot contain timeout values
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// l) The call operation for a non-blocking procedure shall have no response and exception 
+// handling part, shall raise no timeout exception and shall not use the nowait keyword.
+
+module NegSem_220301_CallOperation_018 {
+
+	signature S() noblock;
+	
+	type port P procedure {
+		inout S;
+	}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_018() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, 1.0);
+		alt {
+			[] p.getreply(S:{})
+				{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_018(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn
new file mode 100644
index 000000000..d04faf328
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that non-blocking procedure calls cannot contain nowait parameter
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// l) The call operation for a non-blocking procedure shall have no response and exception 
+// handling part, shall raise no timeout exception and shall not use the nowait keyword.
+
+module NegSem_220301_CallOperation_019 {
+
+	signature S() noblock;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		//p.getcall(S:{});
+		//p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220301_CallOperation_019() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, nowait);
+		/*alt {
+			[] p.getreply(S:{})
+				{ setverdict(pass, "Reply accepted"); } // guard error expected
+		}*/
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_019(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn
new file mode 100644
index 000000000..712fbf51e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that calls cannot be used on disconnected ports
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// m) Applying a call operation to an unmapped or disconnected port shall cause a test 
+// case error.
+
+module NegSem_220301_CallOperation_020 {
+
+	signature S() noblock;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+		
+    testcase TC_NegSem_220301_CallOperation_020() runs on GeneralComp system GeneralComp {
+		p.call(S:{});
+    }
+
+    control {
+        execute(TC_NegSem_220301_CallOperation_020(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn
new file mode 100644
index 000000000..9f82bd4b0
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that the response and exception handling part cannot contain an else clause
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The use of else branches and the invocation of altsteps is not allowed.
+
+module NegSyn_220301_CallOperation_001 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_NegSyn_220301_CallOperation_001() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[] p.getreply(S:{}) { setverdict(pass); }
+			[else] {} // expected error
+		}
+    }
+
+    control {
+        execute(TC_NegSyn_220301_CallOperation_001(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn
new file mode 100644
index 000000000..203816e5a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that the response and exception handling part cannot contain an altstep
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The use of else branches and the invocation of altsteps is not allowed.
+
+module NegSyn_220301_CallOperation_002 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+	altstep a_handleReply() runs on GeneralComp {
+		[] p.getreply {}
+	}
+	
+    testcase TC_NegSyn_220301_CallOperation_002() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[] p.getreply(S:{}) { setverdict(pass); }
+			[] a_handleReply() {} // expected error
+		}
+    }
+
+    control {
+        execute(TC_NegSyn_220301_CallOperation_002(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn
index 2171512e4..70a90355f 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn
@@ -21,9 +21,7 @@
 
 module Sem_220301_CallOperation_005 {
 
-    type charstring address;
-    const address c_client1Addr := "client1Addr";
-    const address c_client2Addr := "client2Addr";
+	type charstring address;
 
     /**
     * @desc testing of inline return template for remote procedure call
@@ -59,14 +57,12 @@ module Sem_220301_CallOperation_005 {
 
     type component GeneralComp {
         port remotePort PCO;
-        var address v_myAddress;
     }
 
-    function f_ClientQuery(address p_myAddress) runs on GeneralComp {
+    function f_ClientQuery() runs on GeneralComp {
         var integer v_zero:=0;
         var integer v_one:=1;
         var boolean first:=true;
-        v_myAddress := p_myAddress;
 	
         PCO.call(p_Sem_220301_CallOperation_005:s_callTemplate, 5.0) {
 	
@@ -75,7 +71,7 @@ module Sem_220301_CallOperation_005 {
                 setverdict(pass);
             }
             [] PCO.catch (timeout) {
-                setverdict(fail, v_myAddress&" did not receive a response");
+                setverdict(fail, "Component did not receive a response");
             }
         }
     }
@@ -107,11 +103,7 @@ module Sem_220301_CallOperation_005 {
         }
 	 
     }
-	
-    function f_setAddress(address p_myAddress) runs on GeneralComp {
-        v_myAddress := p_myAddress;
-    }
-	
+
     testcase TC_Sem_220301_CallOperation_005() runs on GeneralComp system GeneralComp {
         var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
         var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
@@ -122,8 +114,8 @@ module Sem_220301_CallOperation_005 {
 
         server.start(f_ServerResponses());
        
-        client.start(f_ClientQuery(c_client1Addr));
-        client2.start(f_ClientQuery(c_client2Addr));
+        client.start(f_ClientQuery());
+        client2.start(f_ClientQuery());
 
         interleave {
             [] client.done {}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn
index 918084b66..84db3bb92 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn
@@ -24,7 +24,6 @@ module Sem_220301_CallOperation_006 {
     type charstring address;
     const address c_server1Addr := "server1Addr";
     const address c_server2Addr := "server2Addr";
-    const address c_clientAddr := "clientAddr";
 
     /**
     * @desc testing of inline return template for remote procedure call
@@ -59,15 +58,12 @@ module Sem_220301_CallOperation_006 {
 
     type component GeneralComp {
         port remotePort PCO;
-        var address v_myAddress;
     }
 
-    function f_ClientQuery(address p_myAddress) runs on GeneralComp {
+    function f_ClientQuery() runs on GeneralComp {
         var integer v_zero:=0;
         var integer v_one:=1;
         timer t_timer:=5.0;
-
-        v_myAddress := p_myAddress;
  
         //  validate broadcast calling
         PCO.call(p_Sem_220301_CallOperation_006:s_callTemplate, nowait) to all component;
@@ -103,12 +99,9 @@ module Sem_220301_CallOperation_006 {
         var integer v_par1;
         var integer v_par3;
         timer t_timeout:=30.0;
-        v_myAddress := p_myAddress;
-  
 
-  
         t_timeout.start;
- 
+
         alt {
             [] PCO.getcall(p_Sem_220301_CallOperation_006:s_acceptTemplate) -> param(v_par1, v_par3) sender v_clientAddress {
                 PCO.reply(p_Sem_220301_CallOperation_006:{p_par1 := 0, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; // p_par1 := -, core dump
@@ -121,11 +114,6 @@ module Sem_220301_CallOperation_006 {
   
     }
 
- 
-    function f_setAddress(address p_myAddress) runs on GeneralComp {
-        v_myAddress := p_myAddress;
-    }
- 
     testcase TC_Sem_220301_CallOperation_006() runs on GeneralComp system GeneralComp {
         var GeneralComp server := GeneralComp.create("RemoteProcedure Service") alive;
         var GeneralComp server2 := GeneralComp.create("RemoteProcedure Service2") alive;
@@ -135,10 +123,10 @@ module Sem_220301_CallOperation_006 {
         connect(server2:PCO, client:PCO);
 
         // set server address and start operation
-        server.start(f_ServerResponses(c_server1Addr));
-        server2.start(f_ServerResponses(c_server2Addr));
+        server.start(f_ServerResponses());
+        server2.start(f_ServerResponses());
        
-        client.start(f_ClientQuery(c_clientAddr));
+        client.start(f_ClientQuery());
 
         alt {
             [] client.done {
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn
index 93ca05ae9..6d4bc1350 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn
@@ -24,7 +24,6 @@ module Sem_220301_CallOperation_007 {
     type charstring address;
     const address c_server1Addr := "server1Addr";
     const address c_server2Addr := "server2Addr";
-    const address c_clientAddr := "clientAddr";
 
     /**
     * @desc testing of inline return template for remote procedure call
@@ -59,15 +58,12 @@ module Sem_220301_CallOperation_007 {
 
     type component GeneralComp {
         port remotePort PCO;
-        var address v_myAddress;
     }
 
-    function f_ClientQuery(address p_myAddress) runs on GeneralComp {
+    function f_ClientQuery() runs on GeneralComp {
         var integer v_zero:=0;
         var integer v_one:=1;
         timer t_timer:=5.0;
-
-        v_myAddress := p_myAddress;
 	
         //  validate multicast calling
         PCO.call(p_Sem_220301_CallOperation_007:s_callTemplate, nowait) to (c_server1Addr,c_server2Addr);
@@ -103,11 +99,9 @@ module Sem_220301_CallOperation_007 {
         var integer v_par1;
         var integer v_par3;
         timer t_timeout:=30.0;
-        v_myAddress := p_myAddress;
-		
-		
+
         t_timeout.start;
-	
+
         alt {
             [] PCO.getcall(p_Sem_220301_CallOperation_007:s_acceptTemplate) -> param(v_par1, v_par3) sender v_clientAddress {
                 PCO.reply(p_Sem_220301_CallOperation_007:{p_par1 := 0, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; // p_par1 := -, core dump
@@ -120,11 +114,6 @@ module Sem_220301_CallOperation_007 {
 	 
     }
 
-	
-    function f_setAddress(address p_myAddress) runs on GeneralComp {
-        v_myAddress := p_myAddress;
-    }
-	
     testcase TC_Sem_220301_CallOperation_007() runs on GeneralComp system GeneralComp {
         var GeneralComp server := GeneralComp.create("RemoteProcedure Service") alive;
         var GeneralComp server2 := GeneralComp.create("RemoteProcedure Service2") alive;
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn
new file mode 100644
index 000000000..3ac7b950c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that defaults are not executed in response and exception handling part of a call operation
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// The response and exception handling part of a call operation is executed like an alt 
+// statement without any active default.
+
+module Sem_220301_CallOperation_009 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		timer t_tmr := 1.0;
+		p.getcall(S:{});
+		t_tmr.start;
+		t_tmr.timeout;
+		p.reply(S:{});
+	}
+	
+	altstep a_timeout() runs on GeneralComp {
+		[] any timer.timeout { setverdict(fail, "Timer timeout"); }
+	}
+	
+    testcase TC_Sem_220301_CallOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		timer t_tmr := 0.1;
+		t_tmr.start;
+		activate(a_timeout()); // activates a default which shouldn't be triggered in the call block
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}, 4.0) { // the local t_tmr timer should time out first, because the reply is delayed
+			[] p.getreply(S:{}) { setverdict(pass, "Reply received"); }
+			[] p.catch(timeout) { setverdict(fail, "Call timeout"); }
+		}
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_009(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn
new file mode 100644
index 000000000..10f1ee97c
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, blocking call with no timeout
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// The call operation may optionally include a timeout.
+
+module Sem_220301_CallOperation_010 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{}) {
+			[] p.getreply(S:{}) { setverdict(pass, "Reply received"); }
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_010(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn
new file mode 100644
index 000000000..99958ce53
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, blocking broadcast call with response and exception handling part and subsequent alt
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a blocking procedure, two options exist. Either, 
+// only one response or exception is handled in the response and exception handling part of the call 
+// operation. Then, further responses and exceptions can be handled in subsequent alt or interleave 
+// statements.
+
+module Sem_220301_CallOperation_011 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create;
+
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+
+		p.call(S:{}) to all component {
+			[] p.getreply(S:{}) { setverdict(pass, "First reply received"); } // first reply
+		}
+		alt {
+			[] p.getreply(S:{}) { setverdict(pass, "Second reply received"); } // second reply
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_011(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn
new file mode 100644
index 000000000..6a0ff03e2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, blocking broadcast call with response and exception handling part handling all replies
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a blocking procedure, two options exist. 
+// [2nd option:]
+// Several responses or exceptions are handled by the use of repeat statements in one or more of the 
+// statement blocks of the response and exception handling part of the call operation: the execution 
+// of a repeat statement causes the re-evaluation of the call body.
+
+module Sem_220301_CallOperation_011 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_011() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create;
+		var integer v_counter := 0;
+
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+
+		p.call(S:{}) to all component {
+			[] p.getreply(S:{}) { 
+				v_counter := v_counter + 1;
+				if (v_counter < 2) {
+					repeat;
+				} else {
+					setverdict(pass, "Both replies received"); } // expected result
+				}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_011(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn
new file mode 100644
index 000000000..c7c2b4af1
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn
@@ -0,0 +1,83 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, blocking multicast call with response and exception handling part and subsequent alt
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a blocking procedure, two options exist. Either, 
+// only one response or exception is handled in the response and exception handling part of the call 
+// operation. Then, further responses and exceptions can be handled in subsequent alt or interleave 
+// statements.
+
+module Sem_220301_CallOperation_012 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.reply(S:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_012() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create,
+						v_ptc3 := GeneralComp.create,
+						v_comp;	
+	
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		connect(self:p, v_ptc3:p);
+
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+		v_ptc3.start(f_called());
+
+		p.call(S:{}) to (v_ptc1, v_ptc3) {
+			[] p.getreply(S:{}) -> sender v_comp { 
+				if (v_comp == v_ptc1 or v_comp == v_ptc3) {
+					setverdict(pass, "First reply received"); 
+				} else {
+					setverdict(fail, "Wrong component");
+				}
+			}
+		}
+
+		alt {
+			[] p.getreply(S:{}) -> sender v_comp { 
+				if (v_comp == v_ptc1 or v_comp == v_ptc3) {
+					setverdict(pass, "Second reply received"); 
+				} else {
+					setverdict(fail, "Wrong component");
+				}
+			}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_012(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn
new file mode 100644
index 000000000..e415fe729
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn
@@ -0,0 +1,81 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, blocking multicast call with response and exception handling part handling all replies
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a blocking procedure, two options exist. 
+// [2nd option:]
+// Several responses or exceptions are handled by the use of repeat statements in one or more of the 
+// statement blocks of the response and exception handling part of the call operation: the execution 
+// of a repeat statement causes the re-evaluation of the call body.
+
+module Sem_220301_CallOperation_013 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:?);
+		p.reply(S:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_013() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create,
+						v_ptc3 := GeneralComp.create,
+						v_comp;
+
+        var integer v_counter := 0;
+
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		connect(self:p, v_ptc3:p);
+
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+		v_ptc3.start(f_called());
+
+		p.call(S:{}) to (v_ptc1, v_ptc3) {
+			[] p.getreply(S:?) -> sender v_comp { 
+				if (v_comp == v_ptc1 or v_comp == v_ptc3) {
+					v_counter := v_counter + 1;
+					if (v_counter < 2) {
+						repeat;
+					} else {
+						setverdict(pass, "Both replies received"); // expected result
+					}
+				} else {
+					setverdict(fail, "Wrong component");
+				}
+			}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_013(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn
new file mode 100644
index 000000000..72f652c42
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, non-blocking broadcast call
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a non-blocking procedure, all exceptions which 
+// may be raised from the different communication partners can be handled in subsequent catch, alt or 
+// interleave statements.
+
+module Sem_220301_CallOperation_015 {
+
+	signature S() noblock exception (integer);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.raise(S, 1);
+	}
+	
+    testcase TC_Sem_220301_CallOperation_015() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create;
+
+		var integer v_counter := 0;
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+
+		p.call(S:{}) to all component;
+		alt {
+			[] p.catch { 
+				v_counter := v_counter + 1;
+				if (v_counter < 2) {
+					repeat;
+				} else {
+					setverdict(pass, "Both exception received"); // both exception received
+				}
+			}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_015(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn
new file mode 100644
index 000000000..5a3dc0a43
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, non-blocking broadcast call
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of a multicast or broadcast call operation of a non-blocking procedure, all exceptions which 
+// may be raised from the different communication partners can be handled in subsequent catch, alt or 
+// interleave statements.
+
+module Sem_220301_CallOperation_016 {
+
+	signature S() noblock exception (integer);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.raise(S, 1);
+	}
+	
+    testcase TC_Sem_220301_CallOperation_016() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc1 := GeneralComp.create,
+						v_ptc2 := GeneralComp.create,
+						v_ptc3 := GeneralComp.create,
+						v_comp;	
+
+		var integer v_counter := 0;
+		connect(self:p, v_ptc1:p);
+		connect(self:p, v_ptc2:p);
+		connect(self:p, v_ptc3:p);
+		v_ptc1.start(f_called());
+		v_ptc2.start(f_called());
+		v_ptc3.start(f_called());
+
+		p.call(S:{}) to (v_ptc1, v_ptc3);
+		alt {
+			[] p.catch { 
+				v_counter := v_counter + 1;
+				if (v_counter < 2) {
+					repeat;
+				} else {
+					setverdict(pass, "Both exception received"); // both exception received
+				}
+			}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_016(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn
new file mode 100644
index 000000000..bd4718eda
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, non-blocking unicast call
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// In case of non-blocking procedure-based communication the handling of exceptions to call operations 
+// is done by using catch (see clause 22.3.6) operations as alternatives in alt statements.
+
+module Sem_220301_CallOperation_017 {
+
+	signature S() noblock exception (integer);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S:{});
+		p.raise(S, 1);
+	}
+
+    testcase TC_Sem_220301_CallOperation_017() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S:{});
+		alt {
+			[] p.catch { 
+				setverdict(pass, "Exception received"); // success: exception received
+			}
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_017(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn
new file mode 100644
index 000000000..4c9b264b6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that out parameters of a signature used in a call operation can be omitted
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// c) Only out parameters may be omitted or specified with a matching attribute.
+
+module Sem_220301_CallOperation_018 {
+
+    signature S(out integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := - };
+	
+    testcase TC_Sem_220301_CallOperation_018() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_Sem_220301_CallOperation_018(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn
new file mode 100644
index 000000000..796241ef9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that out parameters of a signature used in a call operation can contain matching symbols
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// c) Only out parameters may be omitted or specified with a matching attribute.
+
+module Sem_220301_CallOperation_019 {
+
+    signature S(out integer p_par);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+	
+	template S s_signature1 := { p_par := ? };
+	
+    testcase TC_Sem_220301_CallOperation_019() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        p.call(s_signature1, nowait);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_Sem_220301_CallOperation_019(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn
new file mode 100644
index 000000000..271a36000
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that replies that are not related to the actual call are ignored in unqualified getreply statements
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
+
+module Sem_220301_CallOperation_020 {
+
+	signature S1();
+	signature S2();
+	
+	type port P procedure {
+		inout S1, S2;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.getcall(S2:{});
+		p.reply(S1:{});
+	}
+	
+    testcase TC_Sem_220301_CallOperation_020() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S1:{}, 1.0) {
+			[] p.catch(timeout) {};
+		}; // non-blocking call (but the script "forgets" to handle the reply - this should clog the port
+		p.call(S2:{}, 1.0) {
+			[] p.getreply { setverdict(fail, "The reply is not the expected one!"); } // this one should receive only S2 replies, but there's S1 in the port queue
+			[] p.catch(timeout) { setverdict(pass, "Timeout as expected"); }
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_020(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn
new file mode 100644
index 000000000..b9b1d7dee
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.1, verify that exceptions that are not related to the actual call are ignored in unqualified catch statements
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// h) The selection of the alternatives to a call shall only be based on getreply and catch operations
+// for the called procedure. Unqualified getreply and catch operations shall only treat replies from 
+// and exceptions raised by the called procedure.
+
+module Sem_220301_CallOperation_021 {
+
+	signature S1() noblock exception(integer);
+	signature S2() exception(charstring);
+	
+	type port P procedure {
+		inout S1, S2;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f_called() runs on GeneralComp {
+		p.getcall(S1:{});
+		p.getcall(S2:{});
+		p.raise(S1, 1);
+		p.raise(S2, "exc");
+	}
+	
+    testcase TC_Sem_220301_CallOperation_021() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f_called());
+		p.call(S1:{}); // non-blocking call (but the script "forgets" to handle the exception - this should clog the port
+		p.call(S2:{}, 1.0) {
+			[] p.catch { setverdict(fail, "The exception is not the expected one!"); } // this one should receive only S2 exceptions, but there's S1 in the port queue
+			[] p.catch(timeout) { setverdict(pass, "Timeout as expected"); }
+		}
+    }
+
+    control {
+        execute(TC_Sem_220301_CallOperation_021(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_009.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_009.ttcn
index 605fd6e8c..8a704d8b8 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_009.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_009.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220302_GetcallOperation_009 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_010.ttcn
index baa404aeb..ba580fa5d 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_010.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_010.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220302_GetcallOperation_010 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_017.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_017.ttcn
index da30aed40..a91b16802 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_017.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_017.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:22.3.2, incompatible decmatch and @decoded value redirect
- ** @verdict  pass accept, ttcn3verdict:pass
+ ** @verdict  pass reject
  *****************************************************************/
 
 // The following requirements are tested:
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_018.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_018.ttcn
new file mode 100644
index 000000000..8c21f6cb9
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_018.ttcn
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, incompatible template in the from clause of the getcall operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the from clause and all VariableRef items in the sender clause
+// shall be of type address, component or of the address type bound to the port type (see 
+// section 6.2.9) of the port instance referenced in the getcall operation.
+
+module NegSem_220302_GetcallOperation_018 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.call(S:{}, nowait);
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_018() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		alt {
+            [] p.getcall(S:{}) from v_addr {} // error expected
+            [] p.getcall {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_018(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_019.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_019.ttcn
new file mode 100644
index 000000000..ae78caf0e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_019.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, trying to store an incompatible component value in the sender clause of a getcall operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// l) If the operation contains a sender clause but no from clause, the sender shall be type 
+// compatible with the type of the variable or parameter referenced in the sender clause.
+
+module NegSem_220302_GetcallOperation_019 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+        var integer vc_int;
+		port P p;
+	}
+    
+    type component AltComp {
+		var charstring vc_str;
+        port P px;
+	}
+	
+	function f() runs on GeneralComp {
+        var AltComp v_compRef := null;
+        alt {
+	        [] p.getcall(S:{}) -> sender v_compRef { } // error expected
+            [] p.getcall(S:{}) { }
+        }
+        setverdict (pass);
+	}
+	
+    testcase TC_NegSem_220302_GetcallOperation_019() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		p.call(S:{}, nowait);
+		v_ptc.start(f());
+		v_ptc.done;
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220302_GetcallOperation_019(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn
new file mode 100644
index 000000000..d8d161b9b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, getcall with a from clause (single item)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getcall operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220302_GetcallOperation_020 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.call(S:{}, nowait);
+	}
+	
+	const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220302_GetcallOperation_020() runs on GeneralComp system GeneralComp {
+	    var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_receiveCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getcall(S:{}) from v_ptcs[0] { setverdict(pass); } // expected 1 from match
+                [] p.getcall(S:{}) { v_receiveCounter := v_receiveCounter + 1; } // expected 2 other received exceptions
+            }
+        }
+        if (v_receiveCounter != c_ptcCount - 1) { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220302_GetcallOperation_020(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn
new file mode 100644
index 000000000..09bba1909
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, getcall with a from clause (multiple items)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getcall operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220302_GetcallOperation_021 {
+	
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.call(S:{}, nowait);
+	}
+    
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220302_GetcallOperation_021() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_fromCounter := 0, v_noFromCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getcall(S:{}) from (v_ptcs[0], v_ptcs[1]) { v_fromCounter := v_fromCounter + 1; }
+                [] p.getcall(S:{}) { v_noFromCounter := v_noFromCounter + 1; }
+            }
+        }
+        if (v_fromCounter == 2 and v_noFromCounter == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220302_GetcallOperation_021(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn
new file mode 100644
index 000000000..187931441
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.2, getcall with a from clause (any component)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getcall operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220302_GetcallOperation_022 {
+	
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.call(S:{}, nowait);
+	}
+
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220302_GetcallOperation_022() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());			
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getcall(S:{}) from any component { setverdict(pass); }
+                [] p.getcall(S:{}) { setverdict(fail); }
+            }
+        }        
+    }
+
+    control {
+        execute(TC_Sem_220302_GetcallOperation_022(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn
index 2441df49f..cd47470d4 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn
@@ -20,7 +20,8 @@
  ***************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220303_ReplyOperation_002 { 
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn
index 6f2b22100..06db03f04 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn
@@ -20,7 +20,8 @@
  ***************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220303_ReplyOperation_003 { 
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn
new file mode 100644
index 000000000..5f91e069e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that reply operation cannot be used on a message port
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// a) A reply operation shall only be used at a procedure-based port.
+
+module NegSem_220303_ReplyOperation_004 { 
+
+    signature S() return integer;
+
+    type port P message {
+        inout integer;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_004() runs on GeneralComp {
+        p.reply(S:{} value 1);
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_004(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn
new file mode 100644
index 000000000..565448b61
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that signature not listed in the port definition cannot be used in the reply operation
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// The type definition of the port shall include the name of the procedure 
+// to which the reply operation belongs. 
+
+module NegSem_220303_ReplyOperation_005 { 
+
+    signature S();
+	signature SNotListed();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+        p.getcall;
+        p.reply(SNotListed:{});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_005() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+		alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_005(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn
new file mode 100644
index 000000000..b9d157e31
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that matching symbols cannot be used in out signature parameters in reply operations
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// b) All out and inout parameters of the signature shall have a specific value i.e. 
+// the use of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220303_ReplyOperation_006 { 
+
+	type record R {
+		integer field1,
+		integer field2
+	}
+	
+    signature S(out R par1);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var template R v_rec := { field1 := 0, field2 := ? };
+        p.getcall(S:{-});
+        p.reply(S:{par1 := v_rec});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_006() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{-}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_006(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn
new file mode 100644
index 000000000..657568673
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that matching symbols cannot be used in inout signature parameters in reply operations
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// b) All out and inout parameters of the signature shall have a specific value i.e. 
+// the use of matching mechanisms such as AnyValue is not allowed.
+
+module NegSem_220303_ReplyOperation_007 { 
+
+	type record R {
+		integer field1,
+		integer field2
+	}
+	
+    signature S(inout R par1);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var template R v_rec := { field1 := 0, field2 := ? }
+        p.getcall(S:{par1 := {field1 := 0, field2 := 5}});
+        p.reply(S:{par1 := v_rec});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_007() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{par1 := {field1 := 0, field2 := 5} }, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_007(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn
new file mode 100644
index 000000000..d1df3de00
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn
@@ -0,0 +1,92 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that error is issued for a missing to clause in a reply operation in case of one-to-many connections
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// c) A to clause shall be present in case of one-to-many connections.
+
+module NegSem_220303_ReplyOperation_008 {
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_ClientQuery() runs on GeneralComp {
+	
+        p.call(S:{}, 1.0) {
+	
+            [] p.getreply(S:{}) {
+            }
+            [] p.catch (timeout) {
+            }
+        }
+		setverdict(pass);
+    }
+
+    function f_ServerResponses() runs on GeneralComp {
+        var GeneralComp v_client1 := null, v_client2 := null;
+	
+        alt {
+            [v_client1 == null] p.getcall(S:{}) -> sender v_client1 {
+                if (v_client2 == null) { repeat; }
+            }
+            [v_client2 == null] p.getcall(S:{}) -> sender v_client2 {
+                if (v_client1 == null) { repeat; }
+            }
+        }
+        p.reply(S:{}); // to clause missing, but there are 2 clients!
+		setverdict(pass);
+    }
+		
+    testcase TC_NegSem_220303_ReplyOperation_008() runs on GeneralComp system GeneralComp {
+        var GeneralComp server := GeneralComp.create("RemoteProcedure Service");
+        var GeneralComp client := GeneralComp.create("RemoteProcedure Client");
+        var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client");
+        // map the PTCs to the system port
+        connect(server:p, client:p);
+        connect(server:p, client2:p);
+
+        server.start(f_ServerResponses());
+       
+        client2.start(f_ClientQuery());
+        client.start(f_ClientQuery());
+
+        interleave {
+            [] client.done {}
+            [] client2.done {}
+        }
+        server.stop;
+
+        alt {
+            [] all component.done {}
+        }
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_008());
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn
new file mode 100644
index 000000000..bdf9b575a
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that values that are not addresses or components cannot be used in the to clause of the reply operation
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// d) All AddressRef items in the to clause shall be of type address, component or of the address
+// type bound to the port type (see clause 6.2.9) of the port instance referenced in the reply 
+// operation.
+
+module NegSem_220303_ReplyOperation_009 { 
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var integer v_addr := 10;
+        p.getcall(S:{});
+        p.reply(S:{}) to v_addr;
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_009() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_009(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn
new file mode 100644
index 000000000..1392d5d58
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that reply operation on a disconnected port causes an error
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// f) Applying a reply operation to an unmapped or disconnected port shall cause a test
+// case error.
+
+module NegSem_220303_ReplyOperation_010 { 
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+        p.getcall(S:{});
+		disconnect(self:p, mtc:p);
+        p.reply(S:{});
+    }
+    
+    testcase TC_NegSem_220303_ReplyOperation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_NegSem_220303_ReplyOperation_010(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn
new file mode 100644
index 000000000..b5ebe1652
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that functionality of a simple reply operation (implicit unicast, no return value)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+// The value part of the reply operation consists of a signature reference with an associated 
+// actual parameter list and (optional) return value. The signature may either be defined in 
+// the form of a signature template or it may be defined in-line.
+
+// In case of one-to-one connections, the to clause may be omitted, because the receiving entity 
+// is uniquely identified by the system structure.
+
+module Sem_220303_ReplyOperation_003 { 
+
+    signature S();
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{});
+    }
+    
+    testcase TC_Sem_220303_ReplyOperation_003() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_Sem_220303_ReplyOperation_003(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn
new file mode 100644
index 000000000..c6c40a51f
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that functionality of a simple reply operation (explicit unicast, return value)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+// The value part of the reply operation consists of a signature reference with an associated 
+// actual parameter list and (optional) return value. The signature may either be defined in 
+// the form of a signature template or it may be defined in-line.
+
+// Responses to one or more call operations may be sent to one, several or all peer entities 
+// connected to the addressed port. This can be specified in the same manner as described in 
+// clause 22.2.1. This means, the argument of the to clause of a reply operation is for unicast 
+// responses the address of one receiving entity, for multicast responses a list of addresses 
+// of a set of receivers and for broadcast responses the all component keywords.
+
+module Sem_220303_ReplyOperation_004 { 
+
+    signature S() return integer;
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var GeneralComp v_sender;
+        p.getcall(S:{}) -> sender v_sender;
+        p.reply(S:{} value 2) to v_sender;
+    }
+    
+    testcase TC_Sem_220303_ReplyOperation_004() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{}, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_Sem_220303_ReplyOperation_004(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn
new file mode 100644
index 000000000..f54634e09
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.3, verify that in signature parameters of reply operations can contain matching symbols
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+// b) All out and inout parameters of the signature shall have a specific value i.e. 
+// the use of matching mechanisms such as AnyValue is not allowed.
+
+module Sem_220303_ReplyOperation_005 { 
+
+	type record R {
+		integer field1,
+		integer field2
+	}
+	
+    signature S(in R par1);
+
+    type port P procedure {
+        inout S;
+    } with {extension "internal"}
+
+    type component GeneralComp {
+        port P p;
+    }
+
+    function f_server() runs on GeneralComp {
+		var template R v_rec := { field1 := 0, field2 := ? }
+        p.getcall(S:{ par1 := { field1 := 0, field2 := 10 } });
+        p.reply(S:{par1 := v_rec});
+    }
+    
+    testcase TC_Sem_220303_ReplyOperation_005() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create("PTC");        
+        connect(self:p, v_ptc:p);
+        v_ptc.start(f_server());
+        p.call(S:{ par1 := { field1 := 0, field2 := 10 } }, nowait);
+        alt {
+			[] p.getreply {}
+			[] v_ptc.done {}
+		}
+        setverdict(pass);
+    }
+
+    control{
+        execute(TC_Sem_220303_ReplyOperation_005(), 5.0);
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_006.ttcn
index c2dc021a2..c5343ef5a 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_006.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220304_getreply_operation_006 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_007.ttcn
index 647a213b1..3aaa8cd60 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_007.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220304_getreply_operation_007 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn
new file mode 100644
index 000000000..167f83a08
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, incompatible template in the from clause of the getreply operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the from clause and all VariableRef items in the sender clause
+// shall be of type address, component or of the address type bound to the port type (see 
+// section 6.2.9) of the port instance referenced in the getcall operation.
+
+module NegSem_220304_getreply_operation_021 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{} value 1);
+	}
+	
+    testcase TC_NegSem_220304_getreply_operation_021() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		p.call(S:{}) {
+            [] p.getreply(S:{}) from v_addr {} // error expected
+            [] p.getreply {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220304_getreply_operation_021(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn
new file mode 100644
index 000000000..621fe8440
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, trying to store an incompatible component value in the sender clause of a getreply operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// j) If the operation contains a sender clause but no from clause, the sender shall be type 
+// compatible with the type of the variable or parameter referenced in the sender clause.
+
+module NegSem_220304_getreply_operation_022 {
+
+	signature S();
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+        var integer vc_int;
+		port P p;
+	}
+    
+    type component AltComp {
+		var charstring vc_str;
+        port P px;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{});
+	}
+	
+    testcase TC_NegSem_220304_getreply_operation_022() runs on GeneralComp system GeneralComp {
+        var AltComp v_compRef := null;
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		p.call(S:{}) {
+	        [] p.getreply(S:{}) -> sender v_compRef { } // error expected
+            [] p.getreply(S:{}) { }
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220304_getreply_operation_022(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn
new file mode 100644
index 000000000..7837a811d
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, getreply with a from clause (single item)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getreply operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220304_getreply_operation_021 {
+
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{} value 1);
+	}
+	
+	const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220304_getreply_operation_021() runs on GeneralComp system GeneralComp {
+	    var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_receiveCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getreply(S:{}) from v_ptcs[0] { setverdict(pass); } // expected 1 from match
+                [] p.getreply(S:{}) 
+					{ v_receiveCounter := v_receiveCounter + 1; } // expected 2 other received exceptions
+            }
+        }
+        if (v_receiveCounter != c_ptcCount - 1) { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220304_getreply_operation_021(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn
new file mode 100644
index 000000000..cee1566e8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, getreply with a from clause (multiple items)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getreply operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220304_getreply_operation_022 {
+	
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{} value 1);
+	}
+    
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220304_getreply_operation_022() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_fromCounter := 0, v_noFromCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getreply(S:{}) from (v_ptcs[0], v_ptcs[1]) { v_fromCounter := v_fromCounter + 1; }
+                [] p.getreply(S:{}) { v_noFromCounter := v_noFromCounter + 1; }
+            }
+        }
+        if (v_fromCounter == 2 and v_noFromCounter == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220304_getreply_operation_022(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn
new file mode 100644
index 000000000..ac813b626
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.4, getreply with a from clause (any component)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A getreply operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220304_getreply_operation_023 {
+	
+	signature S() return integer;
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.reply(S:{} value 1);
+	}
+
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220304_getreply_operation_023() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.getreply(S:{}) from any component { setverdict(pass); }
+                [] p.getreply(S:{}) { setverdict(fail); }
+            }
+        }        
+    }
+
+    control {
+        execute(TC_Sem_220304_getreply_operation_023(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn
index ed8a3dc95..2416aa744 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn
@@ -21,10 +21,10 @@
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_001 {
 	signature S() exception(charstring, octetstring);
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn
index a1f4f88ea..a7e6a1149 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn
@@ -21,10 +21,10 @@
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_002 {
 	signature S();
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn
index 77112720a..4bac31cc3 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn
@@ -21,10 +21,10 @@
 
 // The following requirements are tested:
 // Exceptions are specified as types. Therefore the exception value may either be derived 
-// from a template or be the value resulting from an expression (which of course can be 
-// an explicit value). The optional type field in the value specification to the raise 
-// operation shall be used in cases where it is necessary to avoid any ambiguity of the type
-// of the value being sent.
+// from a template conforming to the template(value) restriction or be the value resulting 
+// from an expression (which of course can be an explicit value). The optional type field in 
+// the value specification to the raise operation shall be used in cases where it is necessary
+//  to avoid any ambiguity of the type of the value being sent.
 
 module NegSem_220305_raise_operation_003 {
     type integer MyInt1 (1..10);
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn
index e43a887fb..bff9a7fb6 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn
@@ -18,9 +18,11 @@
  ** @purpose  1:22.3.5, value of incorrect type in the to clause of the raise operation
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// AddressRef shall be of type address, component or of the type provided in the address 
-// declaration of the port type of the port instance referenced in the raise operation.
+// All AddressRef items in the to clause shall be of type address, component or of the 
+// address type bound to the port type (see clause 6.2.9) of the port instance referenced
+// in the raise operation.
 
 module NegSem_220305_raise_operation_007 {
 	signature S() exception(integer);
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn
index a0c9f1cf1..38e6fdfd7 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn
@@ -18,8 +18,10 @@
  ** @purpose  1:22.3.5, null in the to clause of the raise operation
  ** @verdict  pass reject
  *****************************************************************/
+
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220305_raise_operation_008 {
 	signature S() exception(integer);
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn
new file mode 100644
index 000000000..84a786262
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.5, exception template not conforming to template(value) restriction
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) The TemplateInstance shall conform to the template(value) restriction (see clause 15.8).
+
+module NegSem_220305_raise_operation_010 {
+	signature S() exception(charstring, octetstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	
+	function f() runs on GeneralComp {
+		p.getcall(S:{});
+		p.raise(S, charstring:?);
+        setverdict(pass);
+	}
+	
+    testcase TC_NegSem_220305_raise_operation_010() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+        v_ptc.start(f());
+	    p.call(S:{}, nowait); // no processing of the exception to avoid possible errors in the catch operation
+        v_ptc.done;
+    }
+
+    control {
+        execute(TC_NegSem_220305_raise_operation_010(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_006.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_006.ttcn
index 187d47e20..c7aa34491 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_006.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_006.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220306_catch_operation_006 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_007.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_007.ttcn
index 9533034a2..e879c4d6a 100644
--- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_007.ttcn
@@ -20,7 +20,8 @@
  *****************************************************************/
 
 // The following requirements are tested:
-// No AddressRef shall contain the special value null at the time of the operation.
+// No AddressRef in the to clause shall contain the special value null at the time 
+// of the operation.
 
 module NegSem_220306_catch_operation_007 {
 
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn
new file mode 100644
index 000000000..6a5f44b65
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, incompatible template in the from clause of the catch operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// f) All AddressRef items in the from clause and all VariableRef items in the sender clause 
+// shall be of type address, component or of the address type bound to the port type (see 
+// clause 6.2.9) of the port instance referenced in the catch operation.
+
+module NegSem_220306_catch_operation_015 {
+
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+	
+    testcase TC_NegSem_220306_catch_operation_015() runs on GeneralComp system GeneralComp {
+        var charstring v_addr := "addr";
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+		v_ptc.start(f());
+		p.call(S:{}) {
+            [] p.catch(S, charstring:?) from v_addr {} // error expected
+            [] p.catch {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220306_catch_operation_015(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn
new file mode 100644
index 000000000..23811b971
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, trying to store an incompatible component value in the sender clause of a catch operation
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// l) If the operation contains a sender clause but no from clause, the sender shall be type 
+// compatible with the type of the variable or parameter referenced in the sender clause.
+
+module NegSem_220306_catch_operation_016 {
+
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+        var integer vc_int;
+		port P p;
+	}
+    
+    type component AltComp {
+		var charstring vc_str;
+        port P px;
+	}
+	
+	function f() runs on GeneralComp {
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+	
+    testcase TC_NegSem_220306_catch_operation_016() runs on GeneralComp system GeneralComp {
+        var AltComp v_compRef := null;
+        var GeneralComp v_ptc := GeneralComp.create;
+		connect(self:p, v_ptc:p);
+        v_ptc.start(f());
+		p.call(S:{}) {
+	        [] p.catch(S, charstring:?) -> sender v_compRef { } // error expected
+            [] p.catch { }
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_220306_catch_operation_016(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn
new file mode 100644
index 000000000..889a86c2e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, catch with a from clause (single item)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A catch operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220306_catch_operation_015 {
+
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+	
+	const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220306_catch_operation_015() runs on GeneralComp system GeneralComp {
+	    var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_receiveCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.catch(S, charstring:?) from v_ptcs[0] { setverdict(pass); } // expected 1 from match
+                [] p.catch(S, charstring:?) 
+					{ v_receiveCounter := v_receiveCounter + 1; } // expected 2 other received exceptions
+            }
+        }
+        if (v_receiveCounter != c_ptcCount - 1) { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220306_catch_operation_015(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn
new file mode 100644
index 000000000..e5467ff81
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn
@@ -0,0 +1,72 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, catch with a from clause (multiple items)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A catch operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220306_catch_operation_016 {
+	
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+    
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220306_catch_operation_016() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        var integer v_fromCounter := 0, v_noFromCounter := 0;
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.catch(S, charstring:?) from (v_ptcs[0], v_ptcs[1]) { v_fromCounter := v_fromCounter + 1; }
+                [] p.catch(S, charstring:?) { v_noFromCounter := v_noFromCounter + 1; }
+            }
+        }
+        if (v_fromCounter == 2 and v_noFromCounter == 1) { setverdict(pass); }
+        else { setverdict(fail); }
+    }
+
+    control {
+        execute(TC_Sem_220306_catch_operation_016(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn
new file mode 100644
index 000000000..01f20b4d2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn
@@ -0,0 +1,69 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.3.6, catch with a from clause (any component)
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+
+// The following requirements are tested:
+// A catch operation may be restricted to a certain communication partner in case 
+// of one-to-many connections. This restriction shall be denoted by using the from 
+// keyword followed by a specification of an address or component reference, a list 
+// of address or component references or any component.
+
+module Sem_220306_catch_operation_017 {
+	
+	signature S() exception (charstring);
+	
+	type port P procedure {
+		inout S;
+	} with {extension "internal"}
+	
+    type component GeneralComp 
+	{
+		port P p;
+	}
+	
+	function f() runs on GeneralComp
+	{
+        p.getcall(S:{});
+        p.raise(S, "exc");
+	}
+
+    const integer c_ptcCount := 3;
+	
+    testcase TC_Sem_220306_catch_operation_017() runs on GeneralComp system GeneralComp {
+        var GeneralComp v_ptcs[c_ptcCount];
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            v_ptcs[i] := GeneralComp.create;
+            connect(self:p, v_ptcs[i]:p);
+            v_ptcs[i].start(f());
+			p.call(S:{}, nowait) to v_ptcs[i];
+        }
+        
+        for (var integer i := 0; i < c_ptcCount; i := i + 1) {
+            alt {
+                [] p.catch(S, charstring:?) from any component { setverdict(pass); }
+                [] p.catch(S, charstring:?) { setverdict(fail); }
+            }
+        }        
+    }
+
+    control {
+        execute(TC_Sem_220306_catch_operation_017(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn
new file mode 100644
index 000000000..c263d8ccb
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.4, incompatible value in the from clause 
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// All AddressRef items in the from clause and all VariableRef items in the sender clause 
+// shall be of type address, component or of the address type bound to the port type 
+// (see clause 6.2.9) of the port instance referenced in the check operation.
+
+module NegSem_2204_the_check_operation_004 {
+
+    type integer address;
+    
+    type port P message {
+		inout integer;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	    
+    testcase TC_NegSem_2204_the_check_operation_004() runs on GeneralComp {
+        var address v_addr := 2;
+		var charstring v_addr2 := "";
+        p.send(100) to v_addr;
+        alt {
+            [] p.check(from (v_addr, v_addr2)) { }
+            [] p.check {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_2204_the_check_operation_004(), 5.0);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn
new file mode 100644
index 000000000..c7aed5c1e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:22.4, verify that a runtime error is generated if the real sender is incompatible with the variable in sender redirect assignment 
+ ** @verdict  pass reject
+ *****************************************************************/
+
+// The following requirements are tested:
+// If the operation contains a sender clause but no from clause, the sender shall be type 
+// compatible with the variable or parameter referenced in the sender clause.
+
+module NegSem_2204_the_check_operation_005 {
+
+    type integer address;
+    
+    type port P message {
+		inout integer;
+	} with {extension "internal"}
+	
+    type component GeneralComp {
+		port P p;
+	}
+	    
+    testcase TC_NegSem_2204_the_check_operation_005() runs on GeneralComp {
+        var address v_addr := 2;
+		var GeneralComp v_ptc;
+        p.send(100) to v_addr;
+        alt {
+            [] p.check(-> sender v_ptc) { }
+            [] p.check {}
+        }
+        setverdict(pass);
+    }
+
+    control {
+        execute(TC_NegSem_2204_the_check_operation_005()/*, 5.0*/);
+    }
+}
diff --git a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn
index 7bbd35d0f..e24f33bd0 100644
--- a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:23, Ensure timer runs from zero to stated value
- ** @verdict  pass accept, ttnc3verdict:pass
+ ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 // #reqname  /Requirements/23 Timer operations/23.2 The start timer operation/timer clock runs from 0 to the value set
 
diff --git a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn
index c4b855473..c7799968c 100644
--- a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:23, Ensure timer can be restarted
- ** @verdict  pass accept, ttnc3verdict:pass
+ ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 // #reqname  /Requirements/23 Timer operations/23.2 The start timer operation/timer can be restarted by repeated start operation
 
diff --git a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn
index 8551764f2..fe8d76ea3 100644
--- a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:23, Ensure timer default value can be modified by start value
- ** @verdict  pass accept, ttnc3verdict:pass
+ ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 // #reqname  /Requirements/23 Timer operations/23.2 The start timer operation/timer clock runs from 0 to the value set
 // #reqname  /Requirements/23 Timer operations/23.2 The start timer operation/Overridden timer value applies only to current instance
diff --git a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn
index 3ce5ec331..740cd48cb 100644
--- a/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:23, Ensure timer with value 0.0 expires immediately
- ** @verdict  pass accept, ttnc3verdict:pass
+ ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 // #reqname  /Requirements/23 Timer operations/23.2 The start timer operation/Timer with the timer value 0.0 times out immediately.
 
diff --git a/conformance_test/core_language_tests/positive_tests/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn b/conformance_test/core_language_tests/positive_tests/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn
new file mode 100644
index 000000000..f91b601de
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn
@@ -0,0 +1,53 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:26.1, verify that test cases can be executed from altsteps called from the control block
+ ** @verdict  pass accept, ttcn3verdict:pass
+ *****************************************************************/
+ 
+// The following requirements are tested:
+// c) The execute statement shall not be called from within an existing executing test behaviour 
+// chain called from a test case, i.e. test cases can only be executed from the control part or 
+// from functions or altsteps called directly or indirectly from the control part.
+
+module Sem_2601_ExecuteStatement_010 {
+
+    type component GeneralComp { }
+
+    testcase TC_Sem_2601_ExecuteStatement_010() runs on GeneralComp {
+        setverdict(pass);
+    }
+	
+	altstep a() {
+		[] any timer.timeout {
+			execute(TC_Sem_2601_ExecuteStatement_010());
+		}
+	}
+
+    control {
+        var verdicttype v_result;
+		timer t_tmr1 := 0.5, t_tmr2 := 2.0;
+		t_tmr1.start;
+		t_tmr2.start;
+		activate(a());
+		alt { // t_tmr1 shall time out first triggering the default and thus executing the test case
+			[] t_tmr2.timeout {
+			}
+		}
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn b/conformance_test/core_language_tests/positive_tests/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn
new file mode 100644
index 000000000..0502b88ad
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn
@@ -0,0 +1,109 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules 
+ ** @verdict  pass reject
+ ***************************************************/
+
+module NegSem_2707_OptionalAttributes_001 { 
+
+	type enumerated EnumeratedType {e_black, e_white};
+
+	type record RecordType { 
+ 	 	integer  a optional, 
+ 	 	integer  b optional, 
+ 	 	boolean  c 
+	} 
+
+	type set SetType { 
+ 	 	integer  a optional, 
+ 	 	integer  b optional, 
+ 	 	boolean  c 
+	} 
+
+	type record length (1..2) of integer IntegerList;
+
+	type set length (1..2) of integer IntegerUList;
+
+	type union UnionType { 
+ 	 	integer  a, 
+ 	 	EnumeratedType  b, 
+ 	 	boolean  c 
+	} 
+
+	type record MessageType {
+	  	integer  		field1, 
+	  	charstring  	field2, 
+	  	boolean  		field3, 
+	  	integer  		field4[4],
+	  	EnumeratedType field5,
+	  	RecordType		field6,
+	  	SetType		field7,
+	  	UnionType		field8,
+	  	IntegerList	field9,
+	  	IntegerUList	field10
+	}
+
+    type port loopbackPort message {
+	  	inout MessageType
+	} with { optional "implicit omit"}
+	// the optional keyword is forbidden here, because according to the restriction 27.7.a
+	// a port type shall not have an optional attribute associated to them directly.  
+	
+
+	type component GeneralComp {	    	    
+		  port loopbackPort messagePort
+	}
+
+	testcase TC_NegSem_2707_OptionalAttributes_001() runs on GeneralComp {
+
+    	var MessageType v_testMessage;
+
+		template MessageType mw_matchingTemplate:= 
+		{  
+			field1 := 1,
+			field2 := "test string",	 
+			field3 := true, 
+			field4 := {1,2,3,4},
+			field5 := e_black,
+			field6 := {a:=1,b:=2,c:=true}, 
+			field7 := {a:=1,b:=2,c:=true}, 
+			field8 := {a:=1},
+			field9 := {1},
+			field10 := {1,2}
+		} 
+
+		v_testMessage:=  {  
+			field1 := 1,
+			field2 := "test string", 
+			field3 := true, 
+			field4 := {1,2,3,4},
+			field5 := e_black,
+			field6 := {a:=omit,b:=omit,c:=true}, 
+			field7 := {a:=omit,b:=omit,c:=true}, 
+			field8 := {a:=1},
+			field9 := {1},
+			field10 := {1,2}
+		}
+
+	}
+
+	control{
+		execute(TC_NegSem_2707_OptionalAttributes_001());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn
new file mode 100644
index 000000000..530b8ddb5
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+//The type of the template list and the member type of the template in the all from clause shall be compatible.
+// Restriction B
+
+module NegSem_B010201_value_list_001 { 
+
+	type set of integer SoI;
+
+    template SoI m_SoI := {1,2,3,4};
+    template float mw_SoI := (all from m_SoI);    //error: m_SoI is integer, mw_SoI is float
+
+	type port loopbackPort message {
+		inout float
+	} with {extension "internal"}
+	
+
+	type component GeneralComp {	    	    
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_NegSem_B010201_value_list_001() runs on GeneralComp {
+
+		var float v_testMessage := 2.0;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(mw_SoI) {
+				setverdict(pass);
+			}
+			[] messagePort.receive {
+				setverdict(fail);
+			}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_001());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn
new file mode 100644
index 000000000..d1fe8eaff
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// Restriction D,E: Individual members of the template in the all from clause shall not resolve to any of the following matching mechanisms: AnyElementsOrNone, permutation.
+
+module NegSem_B010201_value_list_002 { 
+
+	type set of integer SoI;
+
+    template SoI m_SoI := {1,*,4};
+    template integer mw_SoI := (all from m_SoI);    //error: m_SoI contains AnyElementsOrNone
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}
+
+	testcase TC_NegSem_B010201_value_list_002() runs on GeneralComp {
+
+		var integer v_testMessage;
+		v_testMessage:= 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+		 	[] messagePort.receive(mw_SoI) {
+		    	setverdict(pass);
+		 	}
+		 	[] messagePort.receive {
+		    	setverdict(fail);
+		 	}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_002());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn
new file mode 100644
index 000000000..0d96317c8
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirements are tested:
+// Restriction D,E: Individual members of the template in the all from clause shall not resolve to any of the following matching mechanisms: AnyElementsOrNone, permutation.
+
+module NegSem_B010201_value_list_003 { 
+
+	type record of integer RoI;
+
+    template RoI m_RoI := {permutation(0,1,3,*),2};
+    template integer mw_RoI := (all from m_RoI);    //error: m_RoI contains permutation
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_NegSem_B010201_value_list_003() runs on GeneralComp {
+
+		var integer v_testMessage;
+		v_testMessage:= 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(mw_RoI) {
+				setverdict(pass);
+		 }
+		 	[] messagePort.receive {
+		    	setverdict(fail);
+		 }
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_003());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn
new file mode 100644
index 000000000..b25466f74
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn
@@ -0,0 +1,71 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template list corretly
+ ** @verdict  pass accept reject
+ ***************************************************/
+
+// The following requirements are tested:
+// e) Templates in the template list shall obey the template (present) restriction
+
+module NegSem_B010201_value_list_004 { 
+
+	type record MessageType {
+		integer		field1,
+		charstring	field2 
+	}
+
+	template integer t_omit := omit; 
+
+	template MessageType t_mes := {
+		field1 := (1, 2, t_omit), // present restriction does not allow omit
+		field2 := ("abc", "bc")
+	}
+
+    type port loopbackPort message {
+		inout MessageType
+	} with {extension "internal"}
+
+	type component GeneralComp {	    	    
+		port loopbackPort messagePort
+	}
+
+	testcase TC_NegSem_B010201_value_list_004() runs on GeneralComp {
+
+		var MessageType v_testMessage := {
+	  	         field1:= 1,
+		         field2:= "abc"
+		}
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(t_mes) {
+				setverdict(pass);
+			}
+			[] messagePort.receive {
+				setverdict(fail);
+			}
+		}
+	}
+
+	control{
+		execute(TC_NegSem_B010201_value_list_004());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn
new file mode 100644
index 000000000..6c25b113e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+//A template list may contain values, templates obeying the template(present) restriction, and members added by all from clauses.
+
+module Sem_B010201_value_list_002 { 
+
+	type record of integer RoI;
+
+    template RoI m_RoI := {1,2,3,4};
+    template integer mw_RoI := (all from m_RoI);
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_B010201_value_list_002() runs on GeneralComp {
+
+		var integer v_testMessage := 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+		 [] messagePort.receive(mw_RoI) {
+		    setverdict(pass);
+		 }
+		 [] messagePort.receive {
+		    setverdict(fail);
+		 }
+		}
+	}
+
+	control{
+		execute(TC_Sem_B010201_value_list_002());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn
new file mode 100644
index 000000000..f3d4585ca
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template matching with all from clause
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+//A template list may contain values, templates obeying the template(present) restriction, and members added by all from clauses.
+
+module Sem_B010201_value_list_003 { 
+
+	type set of integer SoI;
+
+    template SoI m_SoI := {1,2,3,4};
+    template integer mw_SoI := (all from m_SoI);
+
+    type port loopbackPort message {
+		inout integer
+	} with {extension "internal"}
+
+	type component GeneralComp {
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_B010201_value_list_003() runs on GeneralComp {
+
+		var integer v_testMessage := 2;
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+		 [] messagePort.receive(mw_SoI) {
+		    setverdict(pass);
+		 }
+		 [] messagePort.receive {
+		    setverdict(fail);
+		 }
+		}
+	}
+
+	control{
+		execute(TC_Sem_B010201_value_list_003());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn
new file mode 100644
index 000000000..659abaf1b
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn
@@ -0,0 +1,71 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.1, Ensure that the IUT correctly handles template list corretly
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+// Restriction C: Templates in the template list shall obey the template(present) restriction
+
+module Sem_B010201_value_list_004 { 
+
+	type record MessageType {
+		integer		field1, 
+		charstring	field2 optional
+	}
+
+	template integer t_present := ?; 
+
+	template MessageType t_mes := {
+		field1 := (1, 2, t_present), // present restriction allows AnyValue
+		field2 := ("abc", "bc")
+	}
+
+    type port loopbackPort message {
+		inout MessageType
+	} with {extension "internal"}
+
+	type component GeneralComp {	    	    
+		port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_B010201_value_list_004() runs on GeneralComp {
+
+		var MessageType v_testMessage := {
+		    field1:= 1,
+		    field2:= "abc"
+		}
+
+		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+		alt {
+			[] messagePort.receive(t_mes) {
+		    	setverdict(pass);
+		 }
+		 	[] messagePort.receive {
+		    	setverdict(fail);
+		 }
+		}
+	}
+
+	control{
+		execute(TC_Sem_B010201_value_list_004());
+	}
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn
index 52262d7f2..dcbb787db 100644
--- a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn
@@ -16,7 +16,7 @@
  *
  ** @version  0.0.1
  ** @purpose  1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing 
- ** @verdict  pass reject
+ ** @verdict  pass accept, ttcn3verdict:pass
  ***************************************************/
 
 module Sem_B010202_complemented_value_list_007 { 
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn
new file mode 100644
index 000000000..0ddb19df6
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.4, Ensure that AnyValueOrNone cannot be used for matching non-optional value
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// At the time of matching, it shall be applied to optional fields of record and set 
+// templates only.
+
+module Sem_B010204_any_value_or_none_004 { 
+
+	type set Set1 {
+		integer field1,
+		integer field2 optional
+	}
+
+	template Set1 t_anyOrNone := *; // top-level static template	
+
+	type component GeneralComp {
+	}	
+	
+	testcase TC_Sem_B010204_any_value_or_none_004() runs on GeneralComp {
+		var Set1 v_val := { field1 := 5, field2 := 23 };
+	    if (match(v_val, t_anyOrNone)) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+	    execute(TC_Sem_B010204_any_value_or_none_004());
+	}
+
+}
+ 
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn
new file mode 100644
index 000000000..1b1c66e5e
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn
@@ -0,0 +1,52 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.4, Ensure that AnyValueOrNone cannot be used for matching compulsory fields
+ ** @verdict  pass reject
+ ***************************************************/
+
+// The following requirement is tested:
+// At the time of matching, it shall be applied to optional fields of record and set 
+// templates only.
+
+module Sem_B010204_any_value_or_none_005 { 
+
+	type set Set1 {
+		integer field1,
+		integer field2 optional
+	}
+
+	template integer t_anyOrNone := *; // top-level static template	
+
+	type component GeneralComp {
+	}	
+	
+	testcase TC_Sem_B010204_any_value_or_none_005() runs on GeneralComp {
+		var Set1 v_val := { field1 := 5, field2 := 23 };
+	    if (match(v_val.field1, t_anyOrNone)) {
+			setverdict(pass);
+		} else {
+			setverdict(fail);
+		}
+	}
+	
+	control{
+	    execute(TC_Sem_B010204_any_value_or_none_005());
+	}
+
+}
+ 
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn
index b1fb5b26c..3809fa471 100644
--- a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn
@@ -22,37 +22,36 @@
 module NegSem_B010208_omit_value_003 { 
 
 	type record MessageType {
-  	 	integer  		field1, 
-     	MyRecordof		field2 optional,
-  	 	boolean		field3 optional
+		integer		field1,
+		MyRecordof	field2 optional,
+		boolean		field3 optional
 	}
 	
     type record of integer MyRecordof;
 
     type port loopbackPort message {
-	  	inout MessageType
+		inout MessageType
 	} with {extension "internal"}
 	
-	type component GeneralComp {	    	    
+	type component GeneralComp {
 	  	port loopbackPort messagePort
 	}	
 
 	testcase TC_NegSem_B010208_omit_value_003() runs on GeneralComp {
 
-    	var MessageType v_testMessage;
     	var boolean v_boolean;
     	template MyRecordof mw_MyRecofTemplate := omit; 	// this assignment is allowed
     	template boolean mw_MyBoolTemplate := omit; 		// this assignment is allowed
     
 
  		template MessageType mw_matchingTemplate:= 
- 		{  			
+ 		{
 		  	field1 := ?,
 		  	field2 := mw_MyRecofTemplate,
 		  	field3 := mw_MyBoolTemplate
  		} 
 
- 		v_testMessage:=  {  
+ 		var MessageType v_testMessage:=  {
 		  	field1 := 2,
 		  	field2 := omit, 
 		  	field3 := omit
@@ -64,7 +63,7 @@ module NegSem_B010208_omit_value_003 {
     	alt {
      		[] messagePort.receive(mw_matchingTemplate) {
      	   		v_boolean := match({},mw_MyRecofTemplate);
-				// causes an error as a record of template shall not be “omit” at the time of matching
+				// causes an error as a record of template shall not be omit at the time of matching
         		setverdict(pass);
      		}
      		[] messagePort.receive {
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn
new file mode 100644
index 000000000..23af12b51
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.2.10, Ensure that the IUT correctly handles enum matching
+ ** @verdict  pass accept, ttcn3verdict:pass
+ ***************************************************/
+
+// The following requirements are tested:
+/*The template matches only those enumerated values of the same name where the associated integer values is matched by at least one of the integer templates.*/
+
+
+module Sem_B010210_enumerated_value_list_001 {
+
+    type enumerated MyFirstEnum {
+	  First_enum(0), Second_enum(1), other_enum(2..200)
+	}
+
+    type port messagePortType message {
+    	inout MyFirstEnum;
+    } with {extension "internal"}
+
+    template integer m_Int := (10..100);
+
+
+    type component GeneralComp {
+		port messagePortType messagePort;
+    }
+
+
+    testcase TC_Sem_B010210_enumerated_value_list_001() runs on GeneralComp {
+        
+        template MyFirstEnum mw_matchingTemplate:= other_enum(m_Int);    // matches other_enum(10..100)
+
+        var MyFirstEnum v_message := other_enum(11);
+
+        connect(self:messagePort, self:messagePort);
+        messagePort.send(v_message); //send message
+
+        alt {
+            [] messagePort.receive(mw_matchingTemplate) {
+                setverdict(pass);
+            }
+            [] messagePort.receive {
+                setverdict(fail, mw_matchingTemplate);
+            }
+        }
+    }
+
+    control{
+        execute(TC_Sem_B010210_enumerated_value_list_001());
+    }
+
+}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn
index 30e136f54..56f49651b 100644
--- a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn
@@ -45,16 +45,16 @@ module NegSem_B010401_length_restrictions_001 {
     	var MessageType v_testMessage;
 
  		template MessageType mw_matchingTemplate:= {  	
-		  	field1 := pattern "test mess*ge" length (6 .. 8),//pattern is longer than length restriction 
+		  	field1 := pattern "test s*g" length (6 .. 15),		
 		  	field2 := '10*'B  length (3 .. 5), 
-		  	field3 := '89*ABC'H  length (5),
+		  	field3 := '89?AB'H  length (6),		//pattern is shorter than length restriction
 		  	field4 := pattern "tes?" length (4 .. 13),
 		  	field5 := '10?'B  length (3 .. 5), 
 		  	field6 := '89?ABC'H  length (6)
  		} 
 
  		v_testMessage:=  {  
-		  	field1 := "test message",
+		  	field1 := "test string",
 		  	field2 := '10101'B, 
 		  	field3 := '89ABC'H,
 		  	field4 := "test",
@@ -62,19 +62,19 @@ module NegSem_B010401_length_restrictions_001 {
 		  	field6 := '899ABC'H
  		} 
  
-		connect(self:messagePort, self:messagePort);
- 		messagePort.send(v_testMessage);
+ 		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
 
     	alt {
      		[] messagePort.receive(mw_matchingTemplate) {
         		setverdict(fail);
      		}
      		[] messagePort.receive {
-       		 	setverdict(pass);
+        		setverdict(pass);
      		}
     	}
 	}
-
+	
 	control{
 		execute(TC_NegSem_B010401_length_restrictions_001());
 	}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn
index ee42d3cc9..897911ae6 100644
--- a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn
@@ -23,19 +23,18 @@ module NegSem_B010401_length_restrictions_002 {
 
 
 	type record MessageType {
-  	 	charstring  	field1, 
-  	 	bitstring		field2,
-  	 	hexstring		field3,
-  	 	charstring  	field4, 
-  	 	bitstring		field5,
-  	 	hexstring		field6
+  	 	record of integer  	field1, 
+  	 	record of integer 		field2,
+  	 	record of integer 		field3,
+  	 	record of integer   	field4, 
+  	 	record of integer 		field5,
+  	 	record of integer 		field6
 	}
 
     type port loopbackPort message {
 	  	inout MessageType
 	} with {extension "internal"}
 	
-
 	type component GeneralComp {	    	    
 	  	port loopbackPort messagePort
 	}	
@@ -45,25 +44,21 @@ module NegSem_B010401_length_restrictions_002 {
     	var MessageType v_testMessage;
 
  		template MessageType mw_matchingTemplate:= {  	
-		  	field1 := pattern "test s*g" length (6 .. 15),		
-		  	field2 := '10*'B  length (3 .. 5), 
-		  	field3 := '89?AB'H  length (6),		//pattern is shorter than length restriction
-		  	field4 := pattern "tes?" length (4 .. 13),
-		  	field5 := '10?'B  length (3 .. 5), 
-		  	field6 := '89?ABC'H  length (6)
+		  	field1 := { permutation ( 1, 2, 3 ), * } length (3..4),
+		  	field2 := { (1,2),* }  length (2 .. 5), 
+		  	field3 := { permutation ( 1, 2, 3 ), ? } length (2..3),	//  message length is too long
+		  	field4 := { (1,2),? }  length (2 .. 5)
  		} 
 
  		v_testMessage:=  {  
-		  	field1 := "test string",
-		  	field2 := '10101'B, 
-		  	field3 := '89ABC'H,
-		  	field4 := "test",
-		  	field5 := '101'B, 
-		  	field6 := '899ABC'H
+		  	field1 := {2,1,3},
+		  	field2 := {2,1,3,5}, 
+		  	field3 := {2,1,3,5},
+		  	field4 := {1,1}
  		} 
  
- 		connect(self:messagePort, self:messagePort);
-		messagePort.send(v_testMessage);
+		connect(self:messagePort, self:messagePort);	
+ 		messagePort.send(v_testMessage);
 
     	alt {
      		[] messagePort.receive(mw_matchingTemplate) {
@@ -74,7 +69,7 @@ module NegSem_B010401_length_restrictions_002 {
      		}
     	}
 	}
-	
+
 	control{
 		execute(TC_NegSem_B010401_length_restrictions_002());
 	}
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn
new file mode 100644
index 000000000..ad66942c4
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn
@@ -0,0 +1,83 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+module Sem_B010401_length_restrictions_003 { 
+
+
+	type record MessageType {
+  	 	charstring  	field1, 
+  	 	bitstring		field2,
+  	 	hexstring		field3,
+  	 	charstring  	field4, 
+  	 	bitstring		field5,
+  	 	hexstring		field6
+	}
+
+    type port loopbackPort message {
+	  	inout MessageType
+	} with {extension "internal"}
+	
+
+	type component GeneralComp {	    	    
+	  	port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_B010401_length_restrictions_003() runs on GeneralComp {
+
+    	var MessageType v_testMessage;
+
+ 		template MessageType mw_matchingTemplate:= {  	
+		  	field1 := pattern "test mess*ge" length (6 .. 8),//pattern is longer than length restriction 
+		  	field2 := '10*'B  length (3 .. 5), 
+		  	field3 := '89*ABC'H  length (5),
+		  	field4 := pattern "tes?" length (4 .. 13),
+		  	field5 := '10?'B  length (3 .. 5), 
+		  	field6 := '89?ABC'H  length (6)
+ 		} 
+
+ 		v_testMessage:=  {  
+		  	field1 := "test message",
+		  	field2 := '10101'B, 
+		  	field3 := '89ABC'H,
+		  	field4 := "test",
+		  	field5 := '101'B, 
+		  	field6 := '899ABC'H
+ 		} 
+ 
+		connect(self:messagePort, self:messagePort);
+ 		messagePort.send(v_testMessage);
+
+    	alt {
+     		[] messagePort.receive(mw_matchingTemplate) { //pattern is longer than length restriction, never matches
+        		setverdict(fail);
+     		}
+     		[] messagePort.receive { 
+       		 	setverdict(pass);
+     		}
+    	}
+	}
+
+	control{
+		execute(TC_Sem_B010401_length_restrictions_003());
+	}
+
+}
+ 
diff --git a/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn
new file mode 100644
index 000000000..6e7429de2
--- /dev/null
+++ b/conformance_test/core_language_tests/positive_tests/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version  0.0.1
+ ** @purpose  1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions
+ ** @verdict  pass reject
+ ***************************************************/
+
+module Sem_B010401_length_restrictions_004 { 
+
+
+	type record MessageType {
+  	 	record of integer  		field1, 
+  	 	record of integer 		field2,
+  	 	record of integer 		field3,
+  	 	record of integer   	field4 
+	}
+
+    type port loopbackPort message {
+	  	inout MessageType
+	} with {extension "internal"}
+	
+	type component GeneralComp {	    	    
+	  	port loopbackPort messagePort
+	}	
+
+	testcase TC_Sem_B010401_length_restrictions_004() runs on GeneralComp {
+
+    	var MessageType v_testMessage;
+
+ 		template MessageType mw_matchingTemplate:= {  	
+		  	field1 := { permutation ( 1, 2, 3 ), * } length (4),	// message length is too short
+		  	field2 := { (1,2),* }  length (2 .. 5), 
+		  	field3 := { permutation ( 1, 2, 3 ), ? } length (4),	
+		  	field4 := { (1,2),? }  length (2 .. 5)
+ 		} 
+
+ 		v_testMessage:=  {  
+		  	field1 := {2,1,3},
+		  	field2 := {2,1,3,5}, 
+		  	field3 := {2,1,3,5},
+		  	field4 := {1,1}
+ 		} 
+ 
+ 		connect(self:messagePort, self:messagePort);
+		messagePort.send(v_testMessage);
+
+   		alt {
+     		[] messagePort.receive(mw_matchingTemplate) {
+        		setverdict(fail);
+     		}
+     		[] messagePort.receive {
+        		setverdict(pass);
+     		}
+    	}
+	}
+
+	control{
+		execute(TC_Sem_B010401_length_restrictions_004());
+	}
+
+}
+ 
diff --git a/conformance_test/core_language_tests/positive_tests/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn b/conformance_test/core_language_tests/positive_tests/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn
index 161714165..1f87910f4 100644
--- a/conformance_test/core_language_tests/positive_tests/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn
+++ b/conformance_test/core_language_tests/positive_tests/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn
@@ -1,8 +1,22 @@
-/*****************************************************************
- * @author STF 451
- * @version 0.0.1
- * @purpose 1:D, Ensure that __SCOPE__ replaces the actual higher basic unit
- * @verdict pass accept, ttcn3verdict:pass
+/******************************************************************************
+ * Copyright (c) ETSI 2017.
+ *
+ * This file is subject to copyrights owned by ETSI. Non-exclusive permission
+ * is hereby granted, free of charge, to copy, reproduce and amend this file
+ * under the following conditions: It is provided "as is", without warranty of any
+ * kind, expressed or implied.
+ * 
+ * ETSI shall never be liable for any claim, damages, or other liability arising
+ * from its use or inability of use.This permission does not apply to any documentation
+ * associated with this file for which ETSI keeps all rights reserved. The present
+ * copyright notice shall be included in all copies of whole or part of this
+ * file and shall not imply any sub-license right.
+ *
+ * Modified by: Adrien Kirjak
+ *
+ ** @version 0.0.1
+ ** @purpose 1:D, Ensure that __SCOPE__ replaces the actual higher basic unit
+ ** @verdict pass accept, ttcn3verdict:pass
  *****************************************************************/
 // __SCOPE__ replaces the actual higher basic unit (name of the test component)
 module Sem_D05_macro_scope_001 {
diff --git a/conformance_test/core_language_tests/positive_tests/README.txt b/conformance_test/core_language_tests/positive_tests/README.txt
index 54a7c2eb4..49636fc93 100644
--- a/conformance_test/core_language_tests/positive_tests/README.txt
+++ b/conformance_test/core_language_tests/positive_tests/README.txt
@@ -1,20 +1,11 @@
 // README to positive conformance tests
 
 How to run:
-
-A. (Makefile)
-	1. Build and run tests using Makefile in positive tests folder:
-		make
-	2. Clean everything in bin folder:
-		make clean
-
-
-B. (Without the Makefile) 
-	1. Generate a Makefile from pos_conf_test.tpd in positive_tests folder:
-		ttcn3_makefilegen -R -f -t pos_conf_tests.tpd
-	2. Compile Makefile in bin folder:
+1. Generate a Makefile from pos_conf_test.tpd in positive_tests folder:
+		ttcn3_makefilegen -f -t pos_conf_tests.tpd
+2. Compile Makefile in bin folder:
 		make
-	3. Run tests in bin folder:
-		ttcn3_start pos_conf_tests ../pos_conf_tests.cfg
-	4. Clean everything in bin folder:
+3. Run tests in bin folder:
+		ttcn3_start pos_conf_tests
+4. Clean everything in bin folder:
 		make clean
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 fd672910f..dd38d90bf 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
@@ -12,6 +12,8 @@ Sem_050201_Scope_of_parameters_002.control
 Sem_050202_Uniqueness_001.control
 Sem_050202_Uniqueness_002.control
 Sem_050202_Uniqueness_003.control
+Sem_050202_Uniqueness_004.control
+Sem_050202_Uniqueness_005.control
 Sem_0502_Scope_001.control
 Sem_0502_Scope_002.control
 Sem_0502_Scope_003.control
@@ -71,7 +73,10 @@ Sem_05040102_parameters_of_kind_template_035.control
 Sem_05040102_parameters_of_kind_template_037.control
 Sem_05040102_parameters_of_kind_template_038.control
 Sem_05040103_parameters_of_kind_timer_001.control
+Sem_05040103_parameters_of_kind_timer_002.control
+Sem_05040103_parameters_of_kind_timer_003.control
 Sem_05040104_parameters_of_kind_port_001.control
+Sem_05040104_parameters_of_kind_port_002.control
 Sem_050401_top_level_001.control
 Sem_050401_top_level_003.control
 Sem_050401_top_level_004.control
@@ -291,6 +296,14 @@ Sem_050402_actual_parameters_198.control
 Sem_050402_actual_parameters_199.control
 Sem_050402_actual_parameters_200.control
 Sem_050402_actual_parameters_201.control
+Sem_050402_actual_parameters_203.control
+Sem_050402_actual_parameters_205.control
+Sem_050402_actual_parameters_206.control
+Sem_050402_actual_parameters_207.control
+Sem_050402_actual_parameters_212.control
+Sem_050402_actual_parameters_214.control
+Sem_050402_actual_parameters_215.control
+Sem_050402_actual_parameters_216.control
 Sem_0505_cyclic_definitions_001.control
 Sem_0505_cyclic_definitions_002.control
 Sem_0505_cyclic_definitions_003.control
@@ -421,6 +434,8 @@ Sem_06020501_referencing_fields_of_union_type_003.control
 Sem_06020501_referencing_fields_of_union_type_004.control
 Sem_06020501_referencing_fields_of_union_type_005.control
 Sem_06020501_referencing_fields_of_union_type_006.control
+Sem_06020501_referencing_fields_of_union_type_007.control
+Sem_06020501_referencing_fields_of_union_type_008.control
 Sem_060206_anytype_001.control
 Sem_060206_anytype_002.control
 Sem_060206_anytype_003.control
@@ -592,6 +607,8 @@ Sem_070103_RelationalOperators_044.control
 Sem_070103_RelationalOperators_045.control
 Sem_070103_RelationalOperators_046.control
 Sem_070103_RelationalOperators_047.control
+Sem_070103_RelationalOperators_048.control
+Sem_070103_RelationalOperators_049.control
 Sem_070104_LogicalOperators_001.control
 Sem_070104_LogicalOperators_002.control
 Sem_070105_BitwiseOperators_001.control
@@ -612,6 +629,9 @@ Sem_07_toplevel_003.control
 Sem_07_toplevel_004.control
 Sem_07_toplevel_005.control
 Sem_07_toplevel_006.control
+Sem_07_toplevel_007.control
+Sem_07_toplevel_008.control
+Sem_07_toplevel_009.control
 Sem_080201_ModuleParameters_001.control
 Sem_08020301_GeneralFormatOfImport_001.control
 Sem_08020301_GeneralFormatOfImport_002.control
@@ -671,6 +691,7 @@ Sem_1101_ValueVars_002.control
 Sem_1101_ValueVars_003.control
 Sem_1101_ValueVars_004.control
 Sem_1101_ValueVars_005.control
+Sem_1101_ValueVars_006.control
 Sem_1102_TemplateVars_001.control
 Sem_1102_TemplateVars_002.control
 Sem_1102_TemplateVars_003.control
@@ -782,6 +803,11 @@ Sem_1509_MatchOperation_006.control
 Sem_1509_MatchOperation_007.control
 Sem_1509_MatchOperation_008.control
 Sem_1509_MatchOperation_010.control
+Sem_1509_MatchOperation_011.control
+Sem_1509_MatchOperation_012.control
+Sem_1509_MatchOperation_013.control
+Sem_1509_MatchOperation_015.control
+Sem_1509_MatchOperation_016.control
 Sem_1510_ValueOfOperation_001.control
 Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.control
 Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.control
@@ -843,6 +869,7 @@ Sem_160102_predefined_functions_058.control
 Sem_160102_predefined_functions_059.control
 Sem_160102_predefined_functions_060.control
 Sem_160102_predefined_functions_061.control
+Sem_160102_predefined_functions_062.control
 Sem_160102_predefined_functions_063.control
 Sem_160102_predefined_functions_064.control
 Sem_160102_predefined_functions_065.control
@@ -871,6 +898,11 @@ Sem_160102_predefined_functions_089.control
 Sem_160102_predefined_functions_090.control
 Sem_160102_predefined_functions_091.control
 Sem_160102_predefined_functions_092.control
+Sem_160102_predefined_functions_095.control
+Sem_160102_predefined_functions_096.control
+Sem_160102_predefined_functions_097.control
+Sem_160102_predefined_functions_098.control
+Sem_160102_predefined_functions_099.control
 Sem_160103_external_functions_001.control
 Sem_160103_external_functions_002.control
 Sem_1601_toplevel_001.control
@@ -890,12 +922,15 @@ Sem_190301_select_case_statement_001.control
 Sem_190301_select_case_statement_002.control
 Sem_190301_select_case_statement_003.control
 Sem_190301_select_case_statement_004.control
+Sem_190301_select_case_statement_005.control
+Sem_190301_select_case_statement_006.control
 Sem_190302_select_union_statement_001.control
 Sem_190302_select_union_statement_002.control
 Sem_190302_select_union_statement_003.control
 Sem_190302_select_union_statement_004.control
 Sem_190302_select_union_statement_005.control
 Sem_190302_select_union_statement_006.control
+Sem_190302_select_union_statement_007.control
 Sem_1904_for_statement_001.control
 Sem_1904_for_statement_002.control
 Sem_1904_for_statement_003.control
@@ -982,6 +1017,8 @@ Sem_210302_Start_test_component_006.control
 Sem_210302_Start_test_component_007.control
 Sem_210302_Start_test_component_008.control
 Sem_210302_Start_test_component_010.control
+Sem_210302_Start_test_component_013.control
+Sem_210302_Start_test_component_014.control
 Sem_210303_Stop_test_component_001.control
 Sem_210303_Stop_test_component_002.control
 Sem_210303_Stop_test_component_003.control
@@ -1074,6 +1111,7 @@ Sem_220202_ReceiveOperation_024.control
 Sem_220202_ReceiveOperation_026.control
 Sem_220202_ReceiveOperation_027.control
 Sem_220202_ReceiveOperation_029.control
+Sem_220202_ReceiveOperation_030.control
 Sem_220203_TriggerOperation_001.control
 Sem_220203_TriggerOperation_002.control
 Sem_220203_TriggerOperation_003.control
@@ -1100,6 +1138,11 @@ Sem_220301_CallOperation_002.control
 Sem_220301_CallOperation_003.control
 Sem_220301_CallOperation_004.control
 Sem_220301_CallOperation_008.control
+Sem_220301_CallOperation_009.control
+Sem_220301_CallOperation_010.control
+Sem_220301_CallOperation_017.control
+Sem_220301_CallOperation_018.control
+Sem_220301_CallOperation_019.control
 Sem_220302_GetcallOperation_001.control
 Sem_220302_GetcallOperation_002.control
 Sem_220302_GetcallOperation_003.control
@@ -1117,6 +1160,10 @@ Sem_220302_GetcallOperation_015.control
 Sem_220302_GetcallOperation_016.control
 Sem_220302_GetcallOperation_017.control
 Sem_220302_GetcallOperation_018.control
+Sem_220302_GetcallOperation_020.control
+Sem_220303_ReplyOperation_003.control
+Sem_220303_ReplyOperation_004.control
+Sem_220303_ReplyOperation_005.control
 Sem_220304_getreply_operation_001.control
 Sem_220304_getreply_operation_002.control
 Sem_220304_getreply_operation_003.control
@@ -1135,6 +1182,8 @@ Sem_220304_getreply_operation_016.control
 Sem_220304_getreply_operation_017.control
 Sem_220304_getreply_operation_018.control
 Sem_220304_getreply_operation_019.control
+Sem_220304_getreply_operation_021.control
+Sem_220304_getreply_operation_022.control
 Sem_220305_raise_operation_001.control
 Sem_220305_raise_operation_002.control
 Sem_220306_catch_operation_001.control
@@ -1149,6 +1198,8 @@ Sem_220306_catch_operation_010.control
 Sem_220306_catch_operation_011.control
 Sem_220306_catch_operation_012.control
 Sem_220306_catch_operation_013.control
+Sem_220306_catch_operation_015.control
+Sem_220306_catch_operation_016.control
 Sem_2204_the_check_operation_001.control
 Sem_2204_the_check_operation_003.control
 Sem_2204_the_check_operation_005.control
@@ -1265,6 +1316,7 @@ Sem_2403_getverdict_005.control
 Sem_2601_ExecuteStatement_001.control
 Sem_2601_ExecuteStatement_002.control
 Sem_2601_ExecuteStatement_005.control
+Sem_2601_ExecuteStatement_010.control
 Sem_2602_TheControlPart_001.control
 Sem_2602_TheControlPart_002.control
 Sem_2707_OptionalAttributes_001.control
@@ -1288,6 +1340,9 @@ Sem_B0101_matching_specific_value_009.control
 Sem_B0101_matching_specific_value_010.control
 Sem_B0101_matching_specific_value_011.control
 Sem_B010201_value_list_001.control
+Sem_B010201_value_list_002.control
+Sem_B010201_value_list_003.control
+Sem_B010201_value_list_004.control
 Sem_B010202_complemented_value_list_001.control
 Sem_B010202_complemented_value_list_002.control
 Sem_B010202_complemented_value_list_003.control
@@ -1301,6 +1356,8 @@ Sem_B010203_any_value_002.control
 Sem_B010204_any_value_or_none_001.control
 Sem_B010204_any_value_or_none_002.control
 Sem_B010204_any_value_or_none_003.control
+Sem_B010204_any_value_or_none_004.control
+Sem_B010204_any_value_or_none_005.control
 Sem_B010205_value_range_001.control
 Sem_B010205_value_range_002.control
 Sem_B010205_value_range_003.control
@@ -1357,6 +1414,8 @@ Sem_B010303_permutation_008.control
 Sem_B010303_permutation_009.control
 Sem_B010401_length_restrictions_001.control
 Sem_B010401_length_restrictions_002.control
+Sem_B010401_length_restrictions_003.control
+Sem_B010401_length_restrictions_004.control
 Sem_B010402_ifPresent_indicator_001.control
 Sem_B010402_ifPresent_indicator_002.control
 Sem_B010501_set_expression_001.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 106af0732..b9c2429f3 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
@@ -281,6 +281,8 @@
 	 <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_001_import.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_001_import.ttcn"/>
    <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn"/>
    <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_004.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_005.ttcn"/>
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn" relativeURI="05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn"/>-->
@@ -366,6 +368,8 @@
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_015.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_015.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_016.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_016.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_017.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_017.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_018.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSem_05040102_parameters_of_kind_template_019.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/NegSyn_05040102_parameters_of_kind_template_001.ttcn"/>-->
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn"/>
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn"/>
@@ -405,8 +409,23 @@
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_036.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_036.ttcn"/>-->
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_037.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_037.ttcn"/>
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_038.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_038.ttcn"/>
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_001.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_002.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_003.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSem_05040103_parameters_of_kind_timer_004.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_001.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/NegSyn_05040103_parameters_of_kind_timer_002.ttcn"/>-->
    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn"/>
-	  <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_002.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_003.ttcn"/>
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_001.ttcn"/> -->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_002.ttcn"/> -->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_003.ttcn"/> -->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_004.ttcn"/> -->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_005.ttcn"/> -->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/NegSem_05040104_parameters_of_kind_port_006.ttcn"/> -->
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_002.ttcn"/>
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn"/>-->
@@ -584,6 +603,43 @@
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_143.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_143.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_144.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_144.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_145.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_145.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_146.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_147.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_148.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_149.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_150.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_151.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_152.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_153.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_154.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_155.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_156.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_157.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_158.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_159.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_160.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_161.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_162.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_163.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_164.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_165.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_166.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_167.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_168.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_169.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_170.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_171.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_172.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_173.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_174.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_175.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_176.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_177.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_178.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_179.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_180.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_181.ttcn"/>-->
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/NegSem_050402_actual_parameters_182.ttcn"/>-->
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn"/>
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn"/>
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_003.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_003.ttcn"/>
@@ -785,6 +841,30 @@
    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_200.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_200.ttcn"/> 
     <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_201.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_201.ttcn"/>
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_202.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_202.ttcn"/>-->
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_203.ttcn"/>
+<!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_204.ttcn"/>-->
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_205.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_206.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_207.ttcn"/>
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_208.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_209.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_210.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_211.ttcn"/>-->
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_212.ttcn"/>
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_213.ttcn"/>-->
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_214.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_215.ttcn"/>
+	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_216.ttcn"/>
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_217.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_218.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_219.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_220.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_221.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_222.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_223.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_224.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_225.ttcn"/>-->
+<!--	<FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_226.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn"/>-->
@@ -813,6 +893,12 @@
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn"/>
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_001.ttcn"/>-->
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_002.ttcn"/>-->
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_003.ttcn"/>-->
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_004.ttcn"/>-->
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_005.ttcn"/>-->
+<!--	<FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/NegSem_06010101_AccessStringElements_006.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn"/>
@@ -839,6 +925,14 @@
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn"/>
    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn"/>
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_008.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_009.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_010.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_011.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_012.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_013.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_014.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_015.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn" relativeURI="06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn"/>
@@ -1047,6 +1141,8 @@
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_010_import.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_010_import.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_011.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_011.ttcn"/>-->
 <!--   <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_011_import.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_011_import.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSem_060204_enumerated_type_and_values_012.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/NegSyn_060204_enumerated_type_and_values_001.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_003.ttcn"/>
@@ -1054,6 +1150,7 @@
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_005.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_006.ttcn"/>
 	<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_006_import.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_006_import.ttcn"/>
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Sem_060204_enumerated_type_and_values_007.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_002.ttcn"/>
 	<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060204_enumerated_type_and_values/Syn_060204_enumerated_type_and_values_003.ttcn"/>
@@ -1072,6 +1169,8 @@
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_004.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_005.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_006.ttcn"/>
+	<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_007.ttcn"/>
+	<FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020501_referencing_fields_of_union_type/Sem_06020501_referencing_fields_of_union_type_008.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020502_option_and_union/NegSyn_06020502_option_and_union_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020502_option_and_union/NegSyn_06020502_option_and_union_001.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/06020503_nested_type_definition_for_field_types/Syn_06020503_nested_type_definition_for_field_types_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/06020503_nested_type_definition_for_field_types/Syn_06020503_nested_type_definition_for_field_types_001.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060205_unions/060205_toplevel/NegSem_060205_top_level_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060205_unions/060205_toplevel/NegSem_060205_top_level_001.ttcn"/>-->
@@ -1140,6 +1239,7 @@
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_005.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_001.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_002.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_003.ttcn"/>
@@ -1209,6 +1309,8 @@
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_006.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_002.ttcn"/>
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_001.ttcn"/>-->
@@ -1223,6 +1325,10 @@
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_006.ttcn"/>-->
+<!--    <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_007.ttcn"/>-->
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_001.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_001.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_002.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_002.ttcn"/>
     <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_003.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_003.ttcn"/>
@@ -1435,6 +1541,9 @@
     <FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_045.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_045.ttcn"/>
    <FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_046.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_046.ttcn"/>
     <FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_047.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_047.ttcn"/>
+	<FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_048.ttcn"/>
+	<FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_049.ttcn"/>
+<!--	<FileResource projectRelativePath="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn" relativeURI="07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_050.ttcn"/>-->
     <FileResource projectRelativePath="07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn" relativeURI="07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn"/>
     <FileResource projectRelativePath="07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn" relativeURI="07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn"/>
     <FileResource projectRelativePath="07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn" relativeURI="07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn"/>
@@ -1460,6 +1569,9 @@
     <FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_004.ttcn"/>
     <FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_005.ttcn"/>
     <FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_006.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_006.ttcn"/>
+	<FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_007.ttcn"/>
+	<FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_008.ttcn"/>
+	<FileResource projectRelativePath="07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn" relativeURI="07_expressions/07_toplevel/Sem_07_toplevel_009.ttcn"/>
 <!--    <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn" relativeURI="08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn"/>
     <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn"/>-->
@@ -1469,7 +1581,16 @@
     <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_006.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_006.ttcn"/>
     <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_007.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_007.ttcn"/>
     <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_008.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_008.ttcn"/>
-    <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_009.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_009.ttcn"/>-->
+    <FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_009.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_009.ttcn"/>
+	<FileResource projectRelativePath="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn" relativeURI="08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_010.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_002.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_003.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSem_080201_ModuleParameters_006.ttcn"/>-->
+<!--	<FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_001.ttcn"/>-->
+<!--	<FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/NegSyn_080201_ModuleParameters_002.ttcn"/>-->
     <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn"/>
     <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn"/>
     <FileResource projectRelativePath="08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn" relativeURI="08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn"/>
@@ -1748,18 +1869,21 @@
 <!--    <FileResource projectRelativePath="11_variables/1101_value_variables/NegSem_1101_ValueVars_002.ttcn" relativeURI="11_variables/1101_value_variables/NegSem_1101_ValueVars_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1101_value_variables/NegSem_1101_ValueVars_003.ttcn" relativeURI="11_variables/1101_value_variables/NegSem_1101_ValueVars_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1101_value_variables/NegSem_1101_ValueVars_004.ttcn" relativeURI="11_variables/1101_value_variables/NegSem_1101_ValueVars_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn" relativeURI="11_variables/1101_value_variables/NegSem_1101_ValueVars_005.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn" relativeURI="11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn"/>-->
     <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn"/>
     <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn"/>
     <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn"/>
     <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_004.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_004.ttcn"/>
     <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_005.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_005.ttcn"/>
+    <FileResource projectRelativePath="11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn" relativeURI="11_variables/1101_value_variables/Sem_1101_ValueVars_006.ttcn"/>
     <FileResource projectRelativePath="11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn" relativeURI="11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn"/>
 <!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn" relativeURI="11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSem_1102_TemplateVars_002.ttcn" relativeURI="11_variables/1102_template_variables/NegSem_1102_TemplateVars_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSem_1102_TemplateVars_003.ttcn" relativeURI="11_variables/1102_template_variables/NegSem_1102_TemplateVars_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSem_1102_TemplateVars_004.ttcn" relativeURI="11_variables/1102_template_variables/NegSem_1102_TemplateVars_004.ttcn"/>-->
 <!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn" relativeURI="11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn" relativeURI="11_variables/1102_template_variables/NegSyn_1102_TemplateVars_002.ttcn"/>-->
     <FileResource projectRelativePath="11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn" relativeURI="11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn"/>
     <FileResource projectRelativePath="11_variables/1102_template_variables/Sem_1102_TemplateVars_002.ttcn" relativeURI="11_variables/1102_template_variables/Sem_1102_TemplateVars_002.ttcn"/>
     <FileResource projectRelativePath="11_variables/1102_template_variables/Sem_1102_TemplateVars_003.ttcn" relativeURI="11_variables/1102_template_variables/Sem_1102_TemplateVars_003.ttcn"/> 
@@ -2018,6 +2142,8 @@
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn" relativeURI="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn"/>
     <FileResource projectRelativePath="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn" relativeURI="15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn"/>
 <!--    <FileResource projectRelativePath="15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn" relativeURI="15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn" relativeURI="15_templates/1509_match_operation/NegSem_1509_MatchOperation_002.ttcn"/>-->
+<!--    <FileResource projectRelativePath="15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn" relativeURI="15_templates/1509_match_operation/NegSem_1509_MatchOperation_003.ttcn"/>-->
     <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn"/>
     <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn"/>
     <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn"/>
@@ -2028,6 +2154,12 @@
     <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_008.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_008.ttcn"/>
 <!--    <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_009.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_009.ttcn"/>-->
     <FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_010.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_010.ttcn"/>
+	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_011.ttcn"/>
+	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_012.ttcn"/>
+	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_013.ttcn"/>
+<!--	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_014.ttcn"/>-->
+	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_015.ttcn"/>
+	<FileResource projectRelativePath="15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn" relativeURI="15_templates/1509_match_operation/Sem_1509_MatchOperation_016.ttcn"/>
 <!--    <FileResource projectRelativePath="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn" relativeURI="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn" relativeURI="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn" relativeURI="15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn"/>-->
@@ -2092,6 +2224,8 @@
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_036.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_036.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_037.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_038.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_038.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_039.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_040.ttcn"/>-->
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn"/>
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn"/>-->
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn"/>
@@ -2153,6 +2287,7 @@
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_059.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_060.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_061.ttcn"/>
+<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_062.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn"/>
@@ -2183,6 +2318,13 @@
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_090.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_090.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_091.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_091.ttcn"/>
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_092.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_092.ttcn"/>
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_093.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_094.ttcn"/>-->
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_095.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_096.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_097.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_098.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_099.ttcn"/>
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn"/>-->
 <!--	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160103_external_functions/xf_NegSem_160103_external_functions_001.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160103_external_functions/xf_NegSem_160103_external_functions_001.cc"/>--> 
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn"  relativeURI="16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn"/> 
@@ -2194,6 +2336,306 @@
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_006.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_007.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_008.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_009.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_010.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_011.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_012.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_013.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_014.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_015.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_016.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_017.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_018.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_019.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_020.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_021.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_022.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_023.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_024.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_025.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_026.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_027.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_028.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_029.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_030.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_031.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_032.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_033.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_034.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_035.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_036.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_037.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_038.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_038.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_039.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_040.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_041.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_042.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_043.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_044.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_045.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_046.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_047.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_048.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_049.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_050.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_051.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_052.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_053.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_054.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_055.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_056.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_057.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_058.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_059.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_060.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_061.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_062.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_063.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_064.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_065.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_066.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_067.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_068.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_069.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_070.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_071.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_072.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_073.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_074.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_075.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_076.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_077.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_078.ttcn"/>-->
+<!--<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_079.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_079.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_080.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_081.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_082.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_083.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_084.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_085.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_086.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_087.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_088.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_089.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_090.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_091.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_092.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_093.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_094.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_095.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_096.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_097.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_098.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_099.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_100.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_101.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_102.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_103.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_104.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_105.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_106.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_107.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_108.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_109.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_110.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_111.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_112.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_113.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_114.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_115.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_116.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_117.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_118.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_119.ttcn"/>-->
+<!--	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_120.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_120.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_121.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_122.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_123.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_124.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_125.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_126.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_127.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_128.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_129.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_130.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_131.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_132.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_133.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_134.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_135.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_136.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_137.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_138.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_139.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_140.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_141.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_142.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_143.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_144.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_145.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_146.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_147.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_148.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_149.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_150.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_151.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_152.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_153.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_154.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_155.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_156.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_157.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_158.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_159.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_160.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_161.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_162.ttcn"/>-->
+<!--     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_163.ttcn"/>
+     <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_163.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_164.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_165.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_166.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_167.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_168.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_169.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_170.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_171.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_172.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_173.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_174.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_175.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_176.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_177.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_178.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_179.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_180.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_181.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_182.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_183.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_184.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_185.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_186.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_187.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_188.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_189.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_190.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_191.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_192.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_193.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_194.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_195.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_196.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_197.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_198.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_199.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_200.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_201.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_202.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_203.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_204.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_205.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_206.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_207.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_208.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_209.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_210.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_211.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_212.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_213.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_214.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_215.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_216.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_217.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_218.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_219.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_220.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_221.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_222.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_223.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_224.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_225.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_226.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_227.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_228.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_229.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_230.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_231.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_232.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_233.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_234.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_235.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_236.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_237.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_238.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_239.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_240.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_241.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_242.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_243.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_244.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_245.ttcn"/>
+	<FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_245.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_246.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_247.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_248.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_249.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_250.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_251.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_252.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_253.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_254.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_255.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_256.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_257.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_258.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_259.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_260.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_261.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_262.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_263.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_264.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_265.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_266.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_267.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_268.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_269.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_270.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_271.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_272.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_273.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_274.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_275.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_276.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_277.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_278.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_279.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_280.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_281.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_282.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_283.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_284.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_285.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_286.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_287.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_288.ttcn"/>
+    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/xf_NegSem_160104_invoking_functions_from_specific_places_288.cc"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_289.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_290.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_291.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_292.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_293.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_294.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_295.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_296.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_297.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn"/>-->
@@ -2219,8 +2661,11 @@
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_007.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn"/>-->
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn"/> 
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_002.ttcn"/>-->
+<!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn" relativeURI="16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn" relativeURI="16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn" relativeURI="16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn"/>-->
     <FileResource projectRelativePath="16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn" relativeURI="16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn"/>
@@ -2242,17 +2687,21 @@
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_002.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_002.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_003.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_003.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_004.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_004.ttcn"/>
+    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_005.ttcn"/>
+    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190301_select_case_statement/Sem_190301_select_case_statement_006.ttcn"/>
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_001.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_002.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_003.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_004.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_004.ttcn"/>-->
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_005.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/NegSem_190302_select_union_statement_006.ttcn"/>-->
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_001.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_001.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_002.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_002.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_003.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_003.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_004.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_004.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_005.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_005.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_006.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_006.ttcn"/>
+    <FileResource projectRelativePath="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn" relativeURI="19_basic_program_statements/1903_select_statements/190302_select_union_statement/Sem_190302_select_union_statement_007.ttcn"/>
 <!--    <FileResource projectRelativePath="19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn" relativeURI="19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn"/>-->
     <FileResource projectRelativePath="19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn" relativeURI="19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn" relativeURI="19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn"/>
@@ -2289,7 +2738,7 @@
     <FileResource projectRelativePath="19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_004.ttcn" relativeURI="19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_004.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_005.ttcn" relativeURI="19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_005.ttcn"/>
     <FileResource projectRelativePath="19_basic_program_statements/1913_continue_statement/Sem_1913_continue_statement_001.ttcn" relativeURI="19_basic_program_statements/1913_continue_statement/Sem_1913_continue_statement_001.ttcn"/>
-	<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_001.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_001.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_004.ttcn"/>-->
@@ -2305,6 +2754,77 @@
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_014.ttcn"/>-->
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_015.ttcn"/>-->
 <!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_016.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_017.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_018.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_019.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_020.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_021.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_022.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_023.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_024.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_025.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_026.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_027.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_028.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_029.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_030.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_031.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_032.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_033.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_034.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_035.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_036.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_037.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_038.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_039.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_040.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_041.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_042.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_043.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_044.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_045.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_046.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_047.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_048.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_049.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_050.ttcn"/>
+    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/xf_NegSem_2002_TheAltStatement_050.cc"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_051.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_052.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_053.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_054.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_055.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_056.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_057.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_058.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_059.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_060.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_061.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_062.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_063.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_064.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_065.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_066.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_067.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_068.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_069.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_070.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_071.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_072.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_073.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_074.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_075.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_076.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_077.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_078.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_079.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_080.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_081.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_082.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_083.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_084.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_085.ttcn"/>-->
+<!--    <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/NegSem_2002_TheAltStatement_086.ttcn"/>-->
     <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn"/> 
     <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn"/> 
     <FileResource projectRelativePath="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn" relativeURI="20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn"/> 
@@ -2473,6 +2993,10 @@
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_008.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_008.ttcn"/>
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_009.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_009.ttcn"/> -->
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_010.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_010.ttcn"/>
+<!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_011.ttcn"/> -->
+<!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_012.ttcn"/> -->
+	<FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_013.ttcn"/>
+	<FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_014.ttcn"/>
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_001.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_002.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_003.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210303_stop_test_component/NegSem_210303_Stop_test_component_003.ttcn"/>-->
@@ -2523,6 +3047,7 @@
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_012.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_012.ttcn"/>
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_013.ttcn"/>
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_014.ttcn"/>
+<!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_015.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_001.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_002.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_003.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/NegSem_210306_running_operation_003.ttcn"/>-->
@@ -2545,6 +3070,7 @@
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_010.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_010.ttcn"/>
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_011.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_011.ttcn"/>
     <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_012.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_012.ttcn"/>
+<!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_013.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_001.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_002.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_003.ttcn" relativeURI="21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_003.ttcn"/>-->
@@ -2669,6 +3195,7 @@
     <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_027.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_027.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_028.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_028.ttcn"/>-->
     <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_029.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_029.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_030.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_001.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_002.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_003.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_003.ttcn"/>-->
@@ -2724,6 +3251,25 @@
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_003.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_006.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_007.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_008.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_009.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_011.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_012.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_013.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_014.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_015.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_016.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_017.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_018.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_019.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_020.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_010.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSyn_220301_CallOperation_002.ttcn"/>-->
    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_001.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_002.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_003.ttcn"/>
@@ -2732,6 +3278,19 @@
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn"/>-->
    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_008.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_008.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_009.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_010.ttcn"/>
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_011.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_012.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_013.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_014.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_015.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_016.ttcn"/>-->
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_017.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_018.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_019.ttcn"/>
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_020.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_021.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_003.ttcn"/>-->
@@ -2770,11 +3329,24 @@
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_017.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_017.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_018.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_018.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_019.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_019.ttcn"/>-->
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_020.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_021.ttcn"/>
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_022.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_003.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_004.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_005.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_006.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_007.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_008.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_009.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_010.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_002.ttcn"/>-->
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_003.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_004.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_005.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_003.ttcn"/>-->
@@ -2795,6 +3367,8 @@
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_018.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_018.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_019.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_019.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_020.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_020.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_021.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSem_220304_getreply_operation_022.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSyn_220304_getreply_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSyn_220304_getreply_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSyn_220304_getreply_operation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/NegSyn_220304_getreply_operation_002.ttcn"/>-->
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_001.ttcn"/>
@@ -2817,6 +3391,9 @@
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_018.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_018.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_019.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_019.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_020.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_020.ttcn"/>-->
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_021.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_022.ttcn"/>
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220304_getreply_operation/Sem_220304_getreply_operation_023.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_003.ttcn"/>-->
@@ -2826,6 +3403,7 @@
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_007.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_008.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_009.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_009.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/NegSem_220305_raise_operation_010.ttcn"/>-->
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_001.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_002.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220305_raise_operation/Sem_220305_raise_operation_003.ttcn"/>-->
@@ -2844,6 +3422,8 @@
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_012.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_012.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_013.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_013.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_014.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_014.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_015.ttcn"/>-->
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSem_220306_catch_operation_016.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_001.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_002.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_003.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/NegSyn_220306_catch_operation_003.ttcn"/>-->
@@ -2861,9 +3441,14 @@
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_012.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_012.ttcn"/>
     <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_013.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_013.ttcn"/>
 <!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_014.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_014.ttcn"/>-->
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_015.ttcn"/>
+    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_016.ttcn"/>
+<!--    <FileResource projectRelativePath="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn" relativeURI="22_communication_operations/2203_procedure_based_communication/220306_catch_operation/Sem_220306_catch_operation_017.ttcn"/>-->
 <!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_001.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_001.ttcn"/>-->
 <!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_002.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_002.ttcn"/>-->
 <!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_003.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_003.ttcn"/>-->
+<!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_004.ttcn"/>-->
+<!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/NegSem_2204_the_check_operation_005.ttcn"/>-->
 	  <FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_001.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_001.ttcn"/>
 <!--	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_002.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_002.ttcn"/>-->
 	<FileResource projectRelativePath="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_003.ttcn" relativeURI="22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_003.ttcn"/>
@@ -3115,6 +3700,7 @@
 <!--    <FileResource projectRelativePath="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn" relativeURI="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn"/>-->
 <!--    <FileResource projectRelativePath="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_008.ttcn" relativeURI="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_008.ttcn"/>-->
 <!--    <FileResource projectRelativePath="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_009.ttcn" relativeURI="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_009.ttcn"/>-->
+    <FileResource projectRelativePath="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn" relativeURI="26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_010.ttcn"/>
 <!--    <FileResource projectRelativePath="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn" relativeURI="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn" relativeURI="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn" relativeURI="26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn"/>-->
@@ -3173,6 +3759,7 @@
     <FileResource projectRelativePath="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_002.ttcn" relativeURI="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_002.ttcn"/>
     <FileResource projectRelativePath="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_003.ttcn" relativeURI="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_003.ttcn"/>
     <FileResource projectRelativePath="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_004.ttcn" relativeURI="27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_004.ttcn"/>
+<!--    <FileResource projectRelativePath="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn" relativeURI="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_002.ttcn" relativeURI="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_003.ttcn" relativeURI="27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_003.ttcn"/>-->
     <FileResource projectRelativePath="27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_001.ttcn" relativeURI="27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_001.ttcn"/>
@@ -3197,8 +3784,15 @@
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn"/>
-    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn"/> 
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn"/>
+<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_001.ttcn"/>-->
+<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_002.ttcn"/>-->
+<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_003.ttcn"/>-->
+<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/NegSem_B010201_value_list_004.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_002.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_003.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_004.ttcn"/>
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_003.ttcn"/>-->
@@ -3215,11 +3809,11 @@
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn"/>
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn"/>-->
-<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_003.ttcn"/>-->
-<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_004.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_002.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_003.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_004.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_005.ttcn"/>
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn"/>-->
@@ -3276,6 +3870,7 @@
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_003.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_004.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_005.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010209_decoded_content/Sem_B010209_decoded_content_005.ttcn"/>
+<!--	<FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010210_enumerated_value_list/Sem_B010210_enumerated_value_list_001.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn"/>
@@ -3304,10 +3899,10 @@
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_009.ttcn"/>
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn"/>-->
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn"/>-->
-<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_003.ttcn"/>-->
-<!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_004.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn"/>
+    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn"/>
 <!--    <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn"/>-->
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn"/>
     <FileResource projectRelativePath="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn" relativeURI="B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn"/>
diff --git a/usrguide/SoC_TITAN.docx b/usrguide/SoC_TITAN.docx
index f9a82c1067ed3401b596fabbcb97176d0fd6c973..0a48e55e1b0d2c8d2fab93059e34faed59a29327 100644
GIT binary patch
delta 282955
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%0Duh8hrJxr_1`DETPcrFg6;SU-@O<?D?H_>Gz
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%0D;EK5MC{!eG(BL-C)yA5MQz!A(z3cu?>+}8*
zUkru<r_8Z$?Ylx-Qe58AZ!zz)f_&AT0&d?^ZcrZ6>|Z$1eD{-KwWSunK9M|b&{rYr
z;Q-qM?=uVRdWIBc;CeY?ObLLA7;z`<+JmWqMX_0Tc8A%}8wk<G$4#vLoq!t(yvIoU
zXt6$&v)~x}Jfq(n^>4E%PgfoV`*mR4Wi71N`aZ#w6Lb{^e=OnXVh9g|zlQSj6y)bM
zvF-CBWk1a?;XB=#wM?__yH<{r`@+cp|9-o#OyrH)DbmGRi?4QPN5G8~?E=yT$jY0@
zYPR<`R+?PiWt6~jf#X7DTB~pEfzf;|)&&mNKB!N#))T&kNpOiFmvg!1%Pqc7;%au9
z?Pq>NCfq<Z=lY1j9`%B}ff%G@a4qV_krHR6`SD$=uhrb7Ia65*AmC^US>3BIpZT^V
zMq`Jz*37E9@=Ws~>@okl+vqv;V`;yQV>!Q`7)b0w*ge&Eik@;WOHfg+poATRgk6Dz
zQC)#K(<MBR9>}0Bd5Clmx{`ZvRinY_HVS0fC6r}{Aj>X6mPuSbm*Y6gRiDM)7Ixz)
z!UE1d_LH7vi&4w@GF%5;du26OnlDR$gd7B2^V&)K%Kaix@ZG_?SP~l)o0XqESnl!#
zsb3P?QjbWiU9W__fa0+a;&B1R<3e^OZUR{Bu!H?>!4H4yzfjj0KzT@GzUZDK-cpWq
z2o-w^RP6qs)LTHQw*f6fq9(DdE4O3CkYl(FkWuNOCm^Fv94T;C8bL;RiaO2*fxPvE
zqIAM**X{|Tv<bIBy2YI_S0{{n>x3F84*HQr=*kA)Jv}J&TPRMKAWpX+P8zpsJG^WU
zGH02>PVtve#S*^-73((i0YdcfaTCD0-wAjq0HGeBQ1>9z1C)}7H7DM3O26eKGf?UQ
zz7?R<E3nRSxOSml#5xHo^`96&Dexa7?V`mt8lSt)Je{)6vxDWhdHMS3!3=rWt-!;3
zN^o6nHT3qqsjA;k)ltlX=wC;jL+;>Mp!DX;ZtLwxj{#677ctu9-GKm>0DmQ>2oc68
z>zyq{GM0Eht*V|ZH)#iukeNS{6V4`p*u6;PL>f&R-O2_2pC`^n(DSo|aey9EfPnf+
z%n>wP0nl)}lc_i6biZTk`&m-}ELYr=t6R6&+6rj4PuP~_3}qs#^TZWOkVcCsrr#_}
z7y?kXR)dl@l>4<VY4~}nT6>aJIl@M|?D+dnW>2N$HH&eo8$HaY{op2I{naU7U;O6I
z@})Bqzx(6YBOax)vj!0m_s9GbIpUO7pF!PeF@*N`6%-WMBf&32c0;>zU)d724y#Tf
zL-a4MTpnS^Hg%r$)ThgjE)Tx~0;ho{*3|DzhS9v{1e$nbFosz`{m4o#up0(LKv|H9
zB5Jb$LJOf&5C=7)>1nqq;Ip!0!UewehTVGsYYIk3(7m2qy(-f+N-#}js9J9N=D|ex
zGW1yoMirzs7YzR?vVa)m85YQPE2xNnj8<b<f!<Z!O7`W637}l<U#j#|lAwp${=IC+
z)7Y=x9s;i75=sA$uD1@TBI?$M4<Vs+cN`QEY3c3|5l|46?hpy3q=x3uASxwN3J4N{
zgmfd_CEeZK-#*5B@9*CG{WA=(XZGG}uf5i@p0#GC?vnTCMuEg&L+QoI`N>{GLu|t(
zjskI$hj$VV#wv~cqeGKSWhy@i3BjO6ha=QCeHTT_+|!?~?vV@r_)=D<luQ<@i-KC(
za=O<(f9asT(k+#8_SxK%Z`$%Jjj-ke8Wv{R-3SO85_~Wz6lS`9b-gDqfWD6(oh0o=
zM9Y`CtB228N4n1rH4U=SP4dbg=$bIv=6xGi14esT+t7Y*At01HGUNo7M1eCP6!vNT
zh$=LL8>>OlB;v}%0<%7=h8DHCEJ@fXY%HAGWS_}c>9I-J1WV>-5XIc|BA5K}pZP(9
z4UuAz&pk5Z@VNr(BmsHYrXQYajnm9E6*tr1>ULH3{K3T?9RT!B9dl#yWljzpj>q!t
z@)Lel1|?Sdj7_pC7zE88%Mm=d$`n9<_1J+aPCQqV5a;5@11=dLEW^LTx=W#ALJ)S+
zOv7=WSVd%Z)!h3ByFqyteWEq1(M%|KwL-B1wJ3tJIQGC8Popn)Z!%svLV<IuH*gX<
zF=4l5QzEcu44=jVi1PNLM)7mu$ANcPdlYxnwHEIb`H5;!?h**hGaCPtfo!5IzQ*A*
zs3IhBV-z04f0}%f6>r@Ge2+KYH4NcKT0z?sG)Hf|p6E*)s3qYJ{jxvS0GA{0EmUFo
z`}4%Y5_uc*YrMII*A9Bj2V}+>XXVARFb`7bR=VxKjyljCfYt?WytkyqK<me1z3|r?
zUU%c0J7tC0JfpinOyC%WBvbm5XS9n}MEbA^vy4_O@B2H3z5SW#xcKzCBMVm#<7STo
z8Z8(F<Q=hZAvm<YiRUPdZcQPaK!ifebZZwosq?P${Ypt%Rvae;^(p~3;9U5#(np(V
zSCM0N;=SdI9BYg)=hLn+)yF0}e1RhNnJSI;n47gpUN04jGDXLc9dBCRM|TN(n}xP%
zTDix|E-%tZD{TAS&$$Qh7nr=nb7!bjL4*;tIEPj<xF;f-=w#qw)xAeiOP1<1&mZ^e
z_^N&&+YT;6Yr##PCid`E1#?<TH5T_)WklucxUCXA9TQFD)SWpBkJvSFs#h)ELzS4h
zJ=?4*8<zY@;<z<0Sso~;L;#RiGViT=Rr&k-UQb-b$UGmf4Y**tMOaK}L2??~`Y+#7
zqZ7I;mq`&|p-O#?|12>GT}Z?USqG6zKy-JR@xGgKy+(4f^z5FB#awTrt!WKhj>|EM
zL;6p?@i<^-J3mX|+?N|)4n_3F?qhl$NE#%xVC<XyzUU=`r&V@9b(ltbX0@z{ZdO`@
zT5y?63+}rVA`Rm@Ht53Y+s7*4meg7ecaf2Rq(+~{4OYr8Pwuf+Jyuu0{HVH9F)aB4
zU;Jh6igs#3J&w17IgD!-!%!BdcDef<%DNP{1B}bB6=-D?8p?ym>@f3B&pKfl?iq%F
zO*#?e`LKDv$mmUx>oRUtYH7ynbb)>O#^nuJs7D8XpI;q%K(pNWw`aG0jT=><XND@V
zrfc44_FtD#XuL(pxxp!Hvl&GI*bG?L-?rYMZ7s5G?ZQs`tg6M{G_{AHoyuOI-F7%)
zW-R!!wv=vrL!H~9R^ad0c2pj-AA_;^93PU9W8u|(`=nqmKn4l;%GhH?I92Xvp75Mq
zKIC>_5d3pN1J*-Lc61AH0eY-LE2}d<es!I|@er@wF~$^vq8eZ_k2RF3>>&O`!Rf@h
zd1Ttb=Q!gFna90Hxso1<a>$I2C}=ya(_cA5?ZISx?3^aCor~!~eTNzE*!=I}K-E^+
z*QUZW?vhLaxa9JG&jX20|5qPs9_@X+A4$75Q3PR_(+P{X(=ZxBv@*cD+Ka(H0BBN6
zi8QSKG+6ct)+mBZgV)i^UKiHeQ$)yJFzez3&2-6z&2T|9ffWu76F|vuEdCCu0qDyN
z7*W*B``*wZmucKeAFytI0^9P9(_r0db?~<jQ{n_`|4n)uOxhJWX;+=hZQSZ_AA{_+
zHy$*C)4EdXr7_w6a}CH|P_KNY^J;+Xj&rRhk8x`VxxE0iI3Gf*Q30UB>t0+XNMHy>
zP4N!a+sS8>Hrs9PgqTt;A+094eeTR_^x<hLhXy`);PXEEvLUoQF;-^0vVT&|1411J
zQ@|NM<Y{+pyBSzf7jvV*sEnV`L=eo}cFZ0h2}2qvA3(oF)NG$^ZG;q&b(u#}#zOMX
zQArBSIYZt4N+X&uCSwW!-?;KH!*b|;+01%7V8pn9bRDMghm2=jU5dr1+#HeVKmLCd
z{L%lZ-!C}o0Zj5lvloC|&B6K&GaG|7gpG%z*@C5pefX<Ru*@%H-axWP`1kW$-auPi
zrEl@H$$tZ+YVI~3r5MfV4vZc81q-Xz*pPTNQYQt?M%tUU8UfjAq|cuNi26An=z->6
zJy6t4uuf%V8WgVH6ztACHT$+JvUd#Wym^1w+JBN73?o*-c+hyU<ABCoiyo)VuM9o=
zYP|*4!jR|BS`ftX4x&Dg&t5=zkh@>h(2s;kOqu^+5?bH?hDjI1B%fWQf;j}%c}#sD
zynqKjh{EQX5R69#GNym-3JDR!^A7rg+ma?c;9z`_FZ&`crdsK?4!Oj4zm%+!mRo$j
z(rO@)sD^c2YN9L!iEpL;O-L=lnvsQRupCe7)}6q#ak}>KR4$D~1UE@wy_$e+))#=r
z)c!6O&)bY=6m5#dq7>Fw_cQ-tC9wp^HJ+Fc?~%!O|M$NDyWB(ctlWVesY`!t?n?%C
zupQnb&FB03?{DU-6Pnz*ANCF*Vh;)d?;72D(gC=?8^2nUKwtO&^cD2&P4+YGR>fkE
zXI6CSx2$cxHd|t|7Y9=S4*R>~+_P+?7D+1qX$)cZy~%iH30g<wi)_+u)r5JC1*|Vs
z?PhZ-?kayIcA>+ZNqO~pj)6wDQE*unvRA{W;RQ-1`17wJ!~^CUlk&?@kZ{)J5RM`u
z#7&2aiSec*v+>P=+t?RQf|m=!8zi3lUI>3@%r-1V7DtF`-gzW>b!P062E80w>$c~4
z(t!zUF-!sG-z>jYoe!fFq(ZliM5~~;&Ajd<V{DPC;{Cb$DGgKedv*=Iu@!m}$_t{o
z=^oX;Y=ghEVC1CHxE3iqBE5@Sfgzb^?TpGGKq>%R=|?5<?n!QkrN!@}ApSrrFBCv6
z!nmg>u1QW#4xc{84usAdD}D?nIv(F;B+U4tcdCdU{2`bkn1S$SpK9><-9@yU#$0Mk
zTyF{uf&t+t+aa*X6a01*g-{q%7D0^|*8pgcAXOq(YF>()9!BWr12S)KFQjGrDHxEv
zA|o=%HI1p_N8gAmF|EMf-H9n=Yk&wmLh~BOk>E}2Y=H3pUb8FHPjPHi%^j<Y**a{M
zP^Lc|A(y2W8hky}F!~;$2_c)W+^H2|XU2wh;~z=YkOA^F6p*j(p|YX#@3b->7q>It
zKKGFTc2!~<^Kv;;f_E%s?%(}S!Try{{WmVSyB{4(^>ZX9f()i0M9h8eO~0KUdmdM4
zC3bGvgb&j0K_|`2`q+<z!ShjkFzIpFd<I||P_Qn3;4rMC;Y<EP@!yz0`ANnAzz_9a
zp8$dMI0L%BH^FK8YPWqG^E$&PTImrTT7Me&%{j5xU&hRcNigadEa1%y6zG2Y{S50d
z5mLV>{XP3Y>J?(x^c9Wu{hbZ-p*nT%4a2mS?2Jc9;bx)mUC83P=ldl%XBlldsl7tw
zE0UvGIIt_Ox}zcE!<n$FhMO%!%$+U8mz9y6ZA9;)(f^QdeQq-6&UEp|S5EtTs9(0M
zcWJt-?XIDySTgc5+FGKjSpOHB-7{})Sr2t>_I#pM85ymL4c~F9Gb7F1J9YUrNtBgZ
zL*D6{f-wNJVZfV8tzUJZz(6$1Dv0VZ6q8S9V19?qJXXFfP!drgH;#qw!$5#6r+7Ge
zi_YgeF;+$6kv_v#f%>0x*uouTI*jsfI&7MXHS9Tpdib~Q<Uv4regsY|IjD#X7o2%)
z>7~1uYa`QOYsfTMS6Wm3=xsIGD=9(;KR6siZodURgpN<-gCG2l+Ek?}4pOKgvj=I*
zcR1_`IqKya!$T1i<TLR83rcZoe*G3X3^XS^raNa&(SU;f>0u)5q)u1EcIilVozwv}
z1%l7Y%gKg?EJxy!S~>eF{A;ZVT4#aQ<<-y7!@LQ(;I@XcjkSuWXkqL1ibY~#Ts#z6
zuPBs8Im19sTppSHT1Z1Czob*)4`CXz<5>uVI^o5)RCwpx$dJD=NDf@ZL=BmGIghvj
z(8*I4jYe$9I|M;ZO32NcCc&@am>-9)7X5dtYJxlpE6AhRYVLzI6uA))B8Z|!=#UPF
z%L6e4hR~7hp|JiPMSciK!O4M9<c1XThFb&_Jt{*yhLIBraKMdqWg(j~%d|Lr`+s-V
z19#>?W@z+yRiP(6SX84DH&O_Bt%<pLedT+yl6ezY7tt(D|L%J#D=M^bWUh+}nd?g8
zB0Ol3Z43`aP!RXhQ!~41bYRB){JSHWL6(sinPp^tmYIdPLrh92zzUz;1e*uQ;>Rb6
z^a>FWlKm6M7r35@8ibTbcABLQuSL2cp#_W$ZmTWZSb(@3G3-_2rmy|G&KHG>{S?~B
zd}QIzKYY#O;P6UGDH6JCgaX&$#w4<kcnP?Fw6VCP)ZYcyjLP6<K`wZe;6BF3u%%81
zGD)V{KzZ5mjXpA}-sE;m-X|RpX3xLT^McV+#e*W09+p2vC}cNi9pEWUv+@eEVG%$<
zXst3l9RG=h79`#xkYb?)OpVJSHc2m}COe*jKuCdQ_epba@__xDXed~BN#s1eT3K|8
zo)TulIN-LrAX%9A+yNrIu$oLh3+jBiP#}@MdKOIkfVOxpG?^Z_Xz$-Hx^;vzML3tN
z@49+!5;b0qlgEU*R5P9?_}blrTUunHZ|-~+hwrq!r?=8%u*-@!vm$(f$9|=g`zF)z
ztg{pU?bNgXmVVNHe0#w68G^c)fZICyGUYv87G#zdC#V+s8}Kyy45WP_v&L4>-L`gM
zkmKl+&Dp^34srTUVY+6#O|;O<!$JRvcLSB1A+SsehtQ8=1s}m38h76v&phJS3}BW3
zdx>I<!@Pwoz6y!6&ADbQt+DouAm$SnM)UVp>gHMscpx`Oc$uK?Ta-Q$ok;GTfYQN=
z-DX6^&5dcO&^JQl$qF_q21jtxblH_XhQ4*07xfK4VnEX$mL5|BH3@GLL$v#3k?Ey(
zI62*OR{ZoSZwP#TX$EJ@W`XNGvQ6pch)x5Q5fv}S%g|$|iFDx?l(>8%gL9x6m2+^0
zY}rlOU=FXLq4x}1$>qgXP|sznj>N~pgE=eRt+?Go-n_P=A{gehV5|VZ^Rgat)2`<{
z=T4`wF-J1B4o7SAu`70c)U||_61Xo#)>RL-UqE=M69*Q&12)(31;fzG&-xDYkPJap
zwX5tPg`?3Y?x4q#PH~5J9-{3g2c(fJOT9~+_!VA5`L16>j;}#(`-NsbbIx;tbe_+I
zrSVT+QHt><=E>kQ`Cz05WpMWZLZz~AZsYSJ5_yYoSQrwl21+5Q{Xj-j8X8AV?y)!q
zH<2ZQAMnpoVZ0f4{oamB5&XiCLY&!*6QKJ_{<h4xqi%G*-<hy<x@Dr+rK)d-UfWJF
zsr4&^d@#31mj09GgGDC#VCs~hMLKUA-gcf=uQ-g(@Be;2p^g<G!`K)ut@cy=zkGPW
zc$oBvFKxj0$5<jc=>(%VrqPwVr?2h@iXy0AGvLolK~zT;yrxr*^Sux0Y=R<0O&cQF
zuF*N-xDp6#!{}=LE_pYhZp)wVmuu5$MMth^T-ObD)UTtt_3$i9javYb^ni2vm2S(%
z>ZP7^QZbEiA3AxexfnVm>#))HeFy-H?R1sKZ8WdiNUvSLjm{Yb5wC(+p>x4`g=UeB
zN4)#s9UN$$Dfp-TWfJLx?n&v9&Zma?ulBzU230V0f2Li9rmWnR?E@F<DQ5%k*_$UX
zE&9=va>_QGp;*`k-dj(`v-sr@c+o%8f!);sayr8`gNGU0ID<|1Kqc#T$A1$>_js7a
zNGNUh_dOi<Z%5YGU2~UoX)h|pRx93$wiIpUz*$}MIZiRb(<g7eiPWTji^kZ+8B*)R
zyS3gm*{<oEAIg>^m^56|fB1eHr!(MQBd*2tfA67d9LHj0kGAXk9FBW+Lp;01t}9v5
z6r8Vtt}$G!0P`?KB6q#+;nqlclGw;f)zP7AOIX^uSn{k3r_3mw$Go-T#mHRgA|0$(
zO<z_9h*zE$fzb>7kuTmZA|uIiM5_8ItyfIwtMKIa4+la0dT18C#xv{0G-)UHh_V?1
zLWAlL0W$kbJb2&o#b~Ts7!QksWL^mElaM12yG+27%F2cz2%<F!!}$_3ncz%5fdtXn
z+=!owCaA$I$n1*njewvmaXPrIsBB|wzQqo~1=P!){8=LXo4J6C=s(kn4@_%N7%%fU
zDO^$ZY@>vpNGgq=PzDaL>8TRDlWZ^QpUJ)nOg0gv)q^Z$S&&&t3aFRSpvNZ^po7mU
z1E&LS|D!`DL2Pv=>aR}~1D=nLr!UTM>x){)M`U~G|G3}|JwD|hPIFiWlvOe^g<~(I
zF1a2~JY^A;J=h^|m}7)j-!xVt#s^MB6zR0L|7QnkbZx)Mf%}Z`wnzkmnvihk7NK$i
z0&%I!oQ4UUAmT43fbIh4KoA|>j84=m`qT%0iVyGr388})Xq^ID2c`uZi^Kk*5;=fM
zQjp?IwWO>PT=NfP5vPLN@&aLk%vKuX>8tp_48VBd{vEy+7=8+J_@7dpLjDN;IT*aC
ze~`AgG9*8z(BuJm2mKw%8l#HIb`%)MuG)9@gd%ls#3mYi7DHCnLkWO<22khWv%HrC
z1|$2&zq(%oYwHaLQ}6xPCI3#LT&X#o%ZyL7ghSi-mqtI>E+{?e0Gv2C`3onmfSH28
z;`Uri6<9SDg_I*M{XjQzvg;B+q9j0~YP^p+FjM|5F$-8?60pQ-B!BWKUB)x;hbVuN
z<D9|TeT{NJAIZZ>_fR<gfuT^|@H#npD&n7V$l6d(Um0F{JVF7QKT0tJlp;(9kgj;Y
zg#>+Cj|EbyMM}vv9=PWdf&~SDZxDzP2uvHECJ`IFtj|r)@DGTD03af3`iXmsURr-m
z2vnV2Wnf`G48gE^f5{u!t`KPUhB*fwk2@>T*4<~x?V6)==WP>eMvr2g^mxl`;2o}O
z83ozzF2lqnSQgRZjJcpc!BvJO724x4-o<0qnM#FKa@)484rHk)D-$Rc#gSroi|Ydl
zVONlqqNo5cW19jvNANGEy9Q!9RP5fkiPOsh?%U`u5k9p1X{&?bZ-_q=!5!+~W3MEV
zOpb83_rZVBXk3;)yQR8P=<#8M?wQx~lQ+=kL{)=y(co$hW0mNhYvl~Kj#7=w(x-kL
z>#Nd5L1N`xe{gO-2SAwQj8w#r$nhThT!^qNzWDb4)};LSyh1txqi)0n^`|z9P;H=|
zjU_(<llm_jYYGHqZcMT!>n2P}GZ^ERF#_Y>)Ur5`03h3K;})8$%+H+4jQ%KzmTeXl
znm`zD^U`yHCl2afRv$Y;P`2#l`lm4+lEbOJYVnWjtTj*Xl@G6b;Ys|}-*$Wz5V=J+
zAA`@cmMrnH8gEN=*J3*O;cx$|Bu$&SfYA&1;U9j+q~F-CtKOeB356nG<49Oioio@T
zqex6+URZVGmq0=E8^?8rTf=>Ep$048#tPFfUq-6v9daIPlYW*sv{P}~|4jc*%W?X;
zt^<diuFqWrg%&8d%_~^DeyH9;x}jSqzFL-6b=NwdRDta0tnTDb)TabHq^-unbkNCK
z{_QQyLavcyj31isN#8*rzccE&k|L4re#o??^qT{yDKwPWy=&XCqgnqS7NCBBEpkxx
zJym4Tkqf5kd$+xx@Vf^*adwCJ4@xEmfPQFmQlo-G7eYm3R-6#Tst*`!_#z~KVf*Jc
z6C$wYH!kcXazj|Osx3%Kj9y%qOHph<q+*dkKJbfASnd%r(at1B-3~0f5pXkSMgKlV
z!dZE^;-~lj@rORLw({_G)d<;NO8ytE(LbNSr(&8=A+_Qm%?A2o;DnFSpy^1jQ$P0h
z9R(4nz)a{eOAi}_^3N_e4gDvJH)$zQm|nm!m<-Xw_KBGAZ7lKRpBc$QgA`oGpSZ=j
ziP+z0>8Cv$hG99N5x~I9DOBCP3qA|MtS|{mcrh6Ya}3|l;%5g+AgCdbYL$Y1o%!i?
z{_ZJ9=yIfn>XSbPYN`#Ee;FYb>X(K802+p<L_#d;M5ZWbR3npD=!K*|mEZ4OR+8Wa
z5V(w$sbfLcr5M?s0S|;(BBj8%K~m4Z%rdXWNNLxpJSB<c;734!Dh-C>Utl7PWfer=
z`~Z_t$G_~xuC8&~Wl~A0zcq{f8frR~1}KBq@UvD^k<e`5SkKBx0`Kah9sHoy`JV#T
zp`Pg>+(5p943)+LjG@{Dufjmu2_qFqWT+tBJ)iEcF;R^=-DLh<!iu;)IT%W144%PY
z9zjp+Nj~H^igdB*>tbHt`3)A7IsSnKHQZ~qdWN8PK%iLzPGBX|dPInB@cUz2k(Ts?
zTx%pu&|`Yx$Iyr?#eiV?FZ|{^eq9P;UMI(wdPWGaDi&CWPOROB)N&{8;!Runpswrq
zXL0oDw-&ojF<3!r19`5a4{iaV912kQYcrAyjOg7A`|<eKWv1LmmOpYop|yL~b=t6!
z=X2{WS(o_VK-gzaUM>rZv=<5E(ni;4NGY*-5x>J#V4)S|AXNvH{}Es3ri0}OHoxI)
z_zw_JfDkkc_zZ%u-D9(z%p$b{#61`pq04lc5t0}Bn)dsGwxEA*(hRuC0;Ffs<CK>F
z`SV=KJ1j~)5fM$uBQ1aNHrhPh&Gg@`AxZ!?koO+Ami{|_uY-5Nv}MPA<^tsku*klJ
zyuS=%PDt7``WHMu1rUM_2_ft%enSXfxeq7>2xN*X)R2(Pn3Vm3QiU1#V6wkHI93jL
z7dY@PO=*81gmxn(EELIKg4@@@p(nk4$-So8arlP+vj;V{zZe3AsSCvrIV24ES}clh
z5y&ASGp`hXyC9cOXofL?F3{6Kf<b-+i<+=>rtBLbf4w~0XCRst;I(Vz|9b6W;I&7P
z5MuN<gn-aPmL*u=o3(&nQ9}>WmI1h+AEem+FUXNp57$NyMNpFwas#Ocp3WKfD*mq!
z{S&v3Hpz?7MH>>1S&~{gWU^D&Kh&PE-4ZB(Fkm{%{&{u|;MvK6{2x$||F_!JS_Ue7
zKLj-fAvX?4>6ci8$z}j=jqy*MQb3#xV6Kj@msLb5Rg>m;Yvmim!x3dgAk}UI%1euS
ztNv@cXT?Ajkkj@3^`D@g&Vjj>X%>%0K-5=Z8$t|z-?!lPR0GeR{2Q1k7#JNG7X#g&
z&>qPX!I2lRO3P&-<dE%?fcMt;r$eMbg+hP|P0OX*bY{qXK&wTR`4AGikbV1v9k$$U
z#)afl{--i8Uda4>F17?At5^kQyp{h|vHmPz!~VwlW|ZMF{hW>c>CTf<BG%Ar&r;(Q
zLcv2#vkG@D7alZPUdv5+=ViU1&P@-BKL3!ee~Laoakpq;FFk!!6ZY84LOFnl`n9mc
z02V>&D@p${)h1k7Z!7|%3DyfrvB^7&Xbk`GhZX`jTv=&e^U@9p8{l`Oo6tpG$qqiJ
z{mja*Ew~vV;MY<39pN05_oVf4IU7AY#%Srw+NUKRt$m%D`RX5K4amP`JfuJa&lol{
z7>6-l)KNHxa|33GqTw$y)C?XzG4Z#2;A$eM$fzZmHt77}={F8cz<>UI_C!c8!C4CL
zr_^|qAA&JxAM@qNtswK5*FXOv0)v+TAPGtHE<XDi{RyP40h<64=x_{Lz$OT<r^yug
zi7fv`DxAWAk)s7+;+`CBP8mxLuc~>Iw?KWGJ&QlE_t*cMZ%BzsREH4eZ3>M47$XE=
zj2ab9JXmkCj_pyAa$}_0=B@=waVdhN1{Ovg!v!yv&X`G*GltP~cbr1LpQ49pQL7W)
z%wIKAv3ad1xOsh;dp;%e8tJ^Y?2BNwxeKv}|2TffSkWn=%ZWc4Jd;JU%1QL4@(@jH
zIs_yYuIoxcjb*bSs}P{4RlqHhXSsBp-+Zg;ZkNICwjZub)0<V3U#;$^_w-lVO#`(M
zXP)D(3qzHKC)-Xto0|i+C*u=eye!;Z@Z6lT9j?wKA}W?Iy21iurs!J65<NyQcCPf#
ze;}r2FLY=++x-<Pww+r%It#bjc}i-?)vK+fd9H>bh^n=Zm7N~->LB@Y$DRL7lrBQS
zC1zzpXGvG0h`pn(`+<UsOJrn!cSQ#6#Ti?g=1#K1vqP4TR|@+iQ0ts!e_E%(I{EAI
zeDUj7WoR{@_xvh!f7k_0xw)Rb<Gjehzui#LdT46@L~?U)Ys{tYWTD^0DZSiJqV9*z
zdxuLiX!?9($}3VYy&b>e$LgA~z|$97DGxLyx*TJRN+lc{9&3+Aem|dUfhyKpu5^y(
zc<$0(p44!7g_DQABoaFgeg8TlLjrX|;;{1K*Vw`0`~(Wmah?5w#Z{>&-{j`%#F9bD
z(TdKSSPO#^O0&I{L)~$Y!@0y7^UwnxvE$1za;PNe)96&S?25<LDAaDzK!0R3)djW3
zoGe1gZIKHUFQ@1?otIuL<jhrcKW>RtSm2pBSm-{gP|Da{Xqjm|80;QnoUg8$_`E7%
z!52p|pImggYqoE89{M4#0?KC<dUSqa7EPj{TE1b@*9wjQI#-#*>@rTDFrI6mo4Be%
zKzzz=FIs|6tc@=(hOhR{Ae`M}ogWXCED}21O8Uuz4OC`1*UoS0e0eh|3Xk3&ym^sq
zXK}DNMFX9k89EBkJh(lV%v-@}^PW}~;_HnKWFJa^7ADwkf^YM^)UT;DeeEE++=;2=
zD)FE}#FYe%?aD4iJD~+@=yLeoPGtK;It0D_!8SYWx)WI;qO#90U7mJzAw+k623_da
z+r1b2+<FzNbr#wi6q}mvC?03_`nATl<5vW+kiV10+ZM9!Y={O%Fg*B%J~oQ4;<jX9
z&UKwv(&+&(!pOk%UQ>604<L*!4lTm$wTpm2we|m7Y@Lp|_y&r36}&iuDyFN|tgxRF
zOb1T(mwn!+VAjjy50g6(i<KD++3&uHC%Cq-_R_0&{gWR{-rYH-v>w?=aN;H_rA%<m
zh$&<(G;WQMr1Mxe?e)byx3avj$Ym*FF>tcni^eX6?;lQ=$7#GT*&Eh<E1~LnPlJ=0
zhb(@=a&H6VBo|3%iS5Q<vv03VSjy0p+%i^h!oZhxe*Exyrq>NcqXJLB^w}5yrtgfZ
zS|`)In^MsMylI^=fY}Y4^vYa+*0)Go&M3FlaCx<!v|&4@m{6h`uq?6F5ox+_r1J<(
zMDk77Ln?|6jHCybRNpm9f_uOl_Q!YVI_cW!Mj@Rh_^n52mf1JuSck6hKI4{qBsVD#
z>NME0=S`9n>q>oR|M21@_1d*M{KNj|;e&1a*%Kyj<S{e^gFf&j5q@5}_eCsx$Q6^-
z=E?1a!gt9YOp&!DOWTT_Oa_OD_j@`*K5AXK5XMS++svGM>!UQkw%eZ)BVT8yh|I8S
z%%XBbd*=b4LNZ^|w4NH+Li@>nuJLi&=qY7k)}PFhnI&hUMqqMFiPt(!NZyf2ejmeK
zl^IKUDG0v#PJ$cpO-c{d<b%w^y`uo*uvmm;KHmLqdvp#TIs$4pd!^a-xET#95g)p)
zt?D_vK&vB-d%h(($|*rN-WDD5J~JVbEBhj{40$WZwfc{w_$d?Ji)nSr*--kDD^Gbk
zh|RuXjVC!n<2JM}{GFyq)RK<4l}Y%Z78<)%Def+JO8fYu^^yqp=$Cd<mG(`QxCX{=
zMiE^CG!KP=nZ1s131FNrDbem`GDb|s>=Pxqm3Oz$OnSoYDmiQ3*ag$Cbdgdsd-<tw
zK;3r5nZ3=vDl|mY{3{;MjfY(ozau|rUi#T(=1D6=C203nmwabAfO21f{&vIq?WG?N
z4f<l$NFE;FJdfvXU>FvfTH=VPkx&Y#$r{cc=Zk9<m{56gBzGC}y>(;Q)s1f*AG4~r
z%wVKwGw!REzOcFI@&R+qj+1R$;Mt!0K12h>%H5@ch2o}$PMuM7-oN#g<n#GpSy{b|
z-Aia-E4;Af(-Q~1<NV8{%9gFk!^Db_M6YMb%Uby-;v`ycb)I_7AB^h7X<0s1cXBGp
z!(II;B=U2{`l0ZxH>?QNAll2$b$dP9cXn5L$5Q^OUoDkgG>Qe+EKAF5PO2Q2hVY=%
z`Op2WHJ5kj-=t+#<+wbJ-}Ez$z9h^k%94<gxO#rE5G1H8F86sW6nB(E{d}d0zViv>
z*$<iV`ExY1C0!}{#-A?voxfe`F{`0lQnfc*)4a;IeFf=O97S}_<$T2$84;!=IgtLM
z7&te-u*ARR^TzRwSA39E`Ce+fzI-P%p(#UkGe|(u>(}#(qXA3(3AO4wQKNM6HD1SK
z!`=GuO*wel7o~2Lkg?Cl9`PL}>EdZK_HU~=)PLc9zGC@k&55XtG^muy-wIb~5MWLx
zzL+%hJv_AJT;bCjVjOxdttv0$SfaSJ;6ZnL#Wr;?=!vUS!uxCEN@(A&Xt}`q&j|Qc
zq;hyUu3cL{u=A_*+bmg5xu@$LbYuNx-D|RG6k_KepLnOw$-I}VC*@7L3j9=vl6gH8
zLUUkTy3Wb1mA4Y!J6qxCmD!?fwLI1)@%)GgQ2f}$`6Ak6c+G0fq7cQ4uyu{RsQc2-
zH5to5uS%H4)?oxvY4)~cNEqe~w1gNE#PU$n97a8v*D5W$etq7#D~mSZJcSwtk{8X&
zJr&skjwpJP<Yil?n-x4(yglF7iS%G`6Q#8ky0+b_vcdFpw;uW%FHW=s3%CcLXBw^s
zy*!JNNN(@6#w%#GvCFFGaFHZcYkE#4LuwJ_+Cz^c|CHPM){r$S0mX)gQ!7-gbml!|
z5(`5OL}!3u!BD+n49?GSBn43jR{d&y&d~8XtgAO_eMY~DMD!9KmY`uy&cC-QlQ3w4
zA7orge-EY*{PI3^{~eo@msQZ@gcuXX69Z0a{THWJo@oYEv;rw*B+}RDbaM$=x7Slq
z?cB6Z-B@*kE^^8{{py_b9W)>T1KeHVEGm)$1DA+k@gffDR8%W(nsfMVjTB-YV%8qM
zCT!B>kUszGj#}>0*M!sVrJ`~V-3gPU2-<vJiAO3}snP`REMLHynZY<-xG}k?BucJi
z#+{g8%5^a4E5KQO^rV@K`&y&nyE{W@t;|JzM(7m-<`h5ni0%oI9wl`{p6CzlV;Ots
z0=*dxu_#c%54QJZ;v;KaTzRYZWvB`t3;P&NrH}Y7cZs;UP&B^#T;J+u@Z2Zk4Al^Q
z-T(E(YL-|KtxNKSAX>0U8|7;H+4DKC#Qn)uGF9hA-G}|f4yOTSRs6QvWo2Oh^Nu~A
zlmFpDz1dyS1b0PzyjcnrYtsm{k<AT2#pNY3c3U4q=dwK~sm=ciP|qc$jO<AZtu9)j
z@aB5XT;6RHPqD#42d&}Jw4qKj`-`;lQEgs<vb<5zj{`|2JRM$YvEhRb-!-*qgF0TA
znmc`X9#SOSMf&+E?NZ+1*N9iL7EfA?zCNZ1_4&E^T(`ppO4>gyy(~A0FtQZru{+}0
z|AjLt&405o@A8)xI|{e9S+H^AYw0LW%mMR8AhaT3JRmgBuTd}K8P({KGDB1i1TwBa
zqW&$vaTlJWZ$w>Yfs&rTMR^GRUZDKq_qqL4@OW(QC1EsMT%6}2edC$zakh3FWM)d{
z9M7RvbGCXl{5a~p5IkILO1V+v{ZQyE2=KIe`OkYE_b^r(GM2WX)pK1w?s#yHV(m?p
zg=@{gos|k<4%oMN4l}D@B)p|Xxjx`R#6kwwoH?z<9!Ggt_K9B*<)Jt6@4drq#nY3r
zj`c95I!16t;bZd6%NzSJv2`e&f8Q|nR}UKaWx6`%hn;DkY08Bqtyq?<bff)Cb<d%P
zhQYYXwFDeraAj%<xX?F6;?J5vf6t<ySUn)n1{<c9=ob;pU)dVaR_HLFvxke-!Adbc
zPfW>SzE}klv6oZo1lO#lgX*pj@k^QdtikY#A%RFQ-o1GvY4!+6EwNp8XE`W!DJXQL
zg1G-!$+f+l_|A`^CGKy;+bA9>{M$Z_wLzD((+#vo2ky)-FcMPqQt*vioDJOgJa&X_
zezI4WD#k4E>M;{>d<-ofoqb9wWgFkD1kbP<*}nd3gOUKPQSt==TCfz(g$P5S45E&g
z(t^+rRtQFB@;wUbVTevU7{Ms>frc(o1au!!kK5A-h)3ATU%gJ+qS|owJM9_ktJpT?
zkVksKlNWvNw{^ru<6o^*f8tDK>DW;^zPA!7#o<}qtw#evZ_*&83)vHvxQiA}w2QB@
zmobiA|K$abv+ZprxV5NT!Z6?5xIO2v*&hg<r3+K|oe99-Y93pY?FU{q*?GNH@pZa$
zx9JY_?%h6xK)J-~k^E@?;~Y0H6yOBAffE!sZ4j^-+wVV>t#Qkr3Z2b<soWk}nO$*X
zuRL#HUr&p~>B9%wd3#)z2_mIijhPL2SLV)TdGFgwuQ<*b>eYtoK8vs((1Z>9=IKLv
zO=cDwvAsih|8azG|Cb{y66ILUKZvEDwLc+wSIx<9S|PiWc~lr*eY%!-nN#z>9N|Y(
z(!S=Qnd8L_^H&g0_L%6ho{BYpq}^_LW}y>LM>eirNt$BIT13LBI&^AAhq2NX#NmFY
zS7<P)q;0G4&Ey2e=ocPO66e<QgNCVUuR|gSP9j2;@I|GxGR=_g*j7<}E~b*R`&a6s
zgZc!o>1$m5^rxsJ1MQYoR;v%+825i}P0%TSyWaO&D7i(6R(VM}2S0avm6!d-&*|^&
z&Biw6XH@x2Fg#noGaYD9%%x)WBU4z=4Z3YF(Ez#LrC@Eu{L}N@qp7XoiSI;sSMHQQ
z^D9>#1)P*ApRc$?b5x!Qwl?Q)&5njz%#zsGXa6!5qj^y%OzsVKdSJQ;CwGy7!_>*R
z0s<4$?e_k>)^fcj8ZSEbcmlq(za&N4(-#!=9K}XRTU+aS8+t|WLq%hO#X$7W0Bb+T
zktu5j-p9=0j4iYsVd4IC+-YW{+=Qp%1!rhG`PcPoiBa&zZYA=NQHv|7N>%@S(X7ol
zw{D0qHEy$m>QN1=ZF<T=exVazOO#>vwO517c+`Qmz#+k_4D(L(Nwk`LfB3D*lXWCP
zb-K{E>!pPU)+0H3Tmsp8`or{Va`uTg7V}n}KjO%*71EX&Zd!AdT^{R8RJ=aw<0k9)
z;$Fxum>YNFMH2-_T)SvQ$Kk#_O{F16PPN)NRZ}N<hnd~Yw<Yo`CLD2(JMli1%De3y
zy!6|6A|Py#*OjTysfC8di$or+BEBUxdQ{MoOmBn!m2<RH*TlmMrU%y7u+|Hu8oa-k
zG*O#{Heh^~!mJSeM)#IKJ_eml`&LPB9PbCin8sM{e9}1keotoNL~ra0URxAm`Moi3
zY(vyI7&8HNoTRa#G0KCo4e=NkEH0ziW_H8+MvPj2J$@MTc4NkEZ|tB(3})|O8ACW^
z;h&KMW9I1bWOuw<kzek<SUnlkTd~ukHDU3llp?M`d5(<B$QaGAo`V`j>}uRkT<b4m
zj7E$MO_=wcf1>2XYpYZ&{YsgI5pl?N_3gzEe3XAaj!LweLq`0{8;{%=uLnid8xL`j
zFp`3{T)<v++T))4Q1`KLPimr!J|FbtF8*t)qj3rinv@2i`LABDj2&5Gi*#>LoLoyN
zBdB>xe}z#a`McvD(6J2YIF4f4oqRElySB)}Oa#M~&a?C~j*VvL3C^|>=aE&zg*vC>
z#p2<6bpnMot)oEfRbw{`2luraD)Lyj<%!9A<1WR@?hO?x61l3M8a$!WGRCIQgnMVx
z<xz1{OOYqJ4SROY=XBv~X|6|hj<uVeox=jJyL_xWw!HLjXqtE(6?r<1a_}yec72u1
zX^MCfYSm%4;9y#ki8i|(H<f)V?eLsLf?=`LjVbjz-+l0AW|x|QOZijf*h$evmt=);
z=A@0_6P3LwW)sS$bGlyW@alw0ReV2?zR))8S$Oe>D<b@y)D`RHsyDd$XAYj(#)cwm
zog$)=g8PP=RoiTDrZ1b6=`RM{Nvhe>1hmAKc09Qa!OKi5wllm)n!X5xrw_#9s!O;j
z(Jx$V7w!-3%BoLt)5z{Jj6UO|n!`}}TBvRnHpVi@Cusa`Tt0mqibALmxv&#3lo`jI
zg{6f=){@3LG_jxyl^L_=DPqb>Q5_p?OBgS<-p~v2RoV2votS=aP*p!ZCk?x$@%A>B
zsPFhT7EuG!HsaOhz3UIeeHC;U3Da2?w-HUEyJ8_%VWJXm?R<W!`dNIVV(XPmbDhUp
zyD}uyM*m?%cr#GW5F%U}w;&nzKo2eJfXhqu7!f{ydQ&sU@#406V01!V^nSN1v0`Nn
zn{VdptV4Z7O~MF<D2i$nwW!oA$80O5Z>HaE1^X%0>m~64<^=yQv@nzZHl*O)-t;AZ
z!R8u=yLyOvr4vh2+Ukt!TOy3mfgAJ5T=$P46|{80TLNKyuY+^(TJfUJJ!r)B6b}jg
zclH*(Qc~RsG97+-`8G8=V~>umhF17TWqF!gLP)cjF!nrj!;X%V%qQeyLh~pI2c)q7
z7>NwuPPN`UPIZYr?%j|6yfviVTv<xW?{MFC<P(6LRX2`kSF4|t@$h6R*S>r8bJQAQ
zCMW#C)!~ro;KQJefi7iB(8wJuMKJD?b@q($=ST_%ic}ZlQUC*%dWj^#jLKZ*?EuDC
z6466(uSadZ9#@wiR%vhG1xv!&4+6m#6K*08ONyq(YO#{=rKmk=MgQYxQHbqx#oKf!
zJl<jN-Owl{F^Iq+@KscA{=*|XNGo2Fa;axen#J$uQ(JX;Y-SQ$1if*&1`|zP75PGY
z&%$DS89w~Sf%wCH*250*moiqc#zw&?ted{$QCLJW@F+!>aV`C^@#*T-^Gn=4O|tAa
z-Lw&-p(cpj1+o@J?Jt=W!FR9hQmggZ{06j`?tE5y#?0&kK14hp_%y046zb>`p0vBO
zP2Ta+>nI66`#kykI&CkKAebi&v3bIJx;7_!dh7j@qi~Ik=pV^h4>o2(wGxYx{5SFv
zudxETW&ybp&kO_R0K1m&$rv8?*lps9CR!@?pgL!`;t$@FvJmlEL5;rsSMPcSVrpMZ
zw+lT`WHDsh>lZfmp~!^hF^q*dchrNP47BLEa+9Zry6)GX^RHB`9TX;iSnBgsGMLx7
zC(v?xru&lw#*h6IaTka43#E|DTL;7o>4t~&H8}F4MMNj6eL|%Mb1Q=d5;XhrbLulA
z2`0_)P4@xPd6d=qDf#UC%%z7X$*BM4V5o=8+3b<He9<H9yK;9R&s#U%7|f&!{P+!X
z%m!IMl8Yy{?QFh)((ODO3Xx`NKWEs3KICp&E}O(I>n2CXT3Mg6jh@tikE?T317EV^
z{hOKu$#^2?iK8>+!mLx572AGTGEa}*Z!RadwLO>8%KtiBsClor6qo-$80SC1KJ=ex
zzi2=8{{cD6m|~avlab~*HPtIMg_(M>Mhjig&AJB{ds1F)ua*l9RCn7x6*{?k#)wr>
zCt_YqYHlnl>EmkfN45y?>D+GEDYub}#yP8K>wYnr%6E{y-!6*NmxQl($YZ^JQBJ8p
zjP;OuK^hukscFCO<}zlI+1B8N|EoZ8F`xeO@SrFb;U0~!v@R^iY1(+?QT<?Xr(SVo
zhQ(bk?K|yn<YSH6*upuPGJMpWK0}@EfnSB9heKwCjQbPz@l@q;tVciXy%dj(5q{ql
z@Pz)^%%IgXGW*-OJ(pXR-*}A4{@M!YZyaLAoR3cx%>TupE85-3o&GjvW~ek&v9Fa>
zTyu4nBcM9_L$RJ*_2&)U`}l0xo@LDJI9&A{oL^g#!_&x6@Sc2m!F!H#Z{+5VnJm*C
za_j;SlrTSzvlRdJnR^{3Qj6z`;_OYU-%A0Ghh^7C>dcPf+4|E@EMuW&kx>+Te_BJ#
zk<_GL1%7(g4R{4;>)s%Y5RZw)>Qt!UoovPPX8L`Xje$T~5Nd&&V8wrX8pjmaL1DpJ
zvk^r(nzpCcV)}U$FFyK0fA2!wZdZaH?dgD+uX$L};K_kOZr)DMSfxczn6+#vZa@FU
zckyVvgkHznA<rSWO><o_z0o}m2AgIz164ko<}w$(qNhX5C&V@1ejq+R#!cjITT2Qr
zpnN)ytH)n&-t$oCc<|u}j=(7uR^m+DtbeDyoK?MfS&o>|J(}M50!oTCl4fI{$47kn
zm@Q@1ox)4nvx{+PRDlTsZqF%gHmj+J{5pp*to^W@zjPWxua<6^r?GB|B%f(7%}ZXP
zox>z*@yn!wZ%Baf?awcO`Y_3j=|6{w*W+*dDcgF}gD}O*n|>M-8E+D@G+24T=w~pG
z>uw3u;)6I1+yK3Ogsp?y&&;&D&AA}V<Eh&PGVGYI<JmpfRyk6rYPZ-)yqGhaUxM<^
zvb9N}?WD<j`pspnrN3dpoLS||dm-&`)8;xS2F80`^gJdW>G_$32iXSHn`si&ZA^zY
zHXjE9JIXc(ZIW;b0V2SPmwLW1O)koKZ+!U`gK3~i2r*9s>1XWtnY=^)4trS(X>&tl
z*nLfPV%U|IXKvA%tZ21U1r-_>Tdkb1Xs>;Bg!_%owVGRvS`FZ6jE?|E6Kf%HbW7W9
zOgF|9tQK0BoFO6voW%|V!c(wVP>+&2JikIOli<^eET|#&9RzA13Y8&LLnlE-q2j)l
zWe*AMZ<3(M37TWE)ZZ#j#bWVQqe=`AGG_@7dtD-J^<XyuS~+Mjbsod}9NqNYvRq>H
zm*@Wi*1bWONmxfA1rB=b<|jEegO}XsBlqf?KecxK78a8Y??muy0#?3*eU+kX_+HR3
z3w&Fn1W!T0$$=N6YOV6k=!i#*7W&{eRr;@Oss{KW-VERR>qneFuF1IKLIUM*tbC*z
z4I|a)IZ&e+KA=Y1RKL|oMFXf&&@jb>dD5$|A+I`6niThW9};n^G>~ugMw+K;&nFc}
zU){_f)RC`)IOT4Vg_bgBcvFAnX>#LrGfm<D1Y-Lzc^7@-#qYD#dp{zb)NP|0mC=<X
zi7FJ0cZfb;LXoA+4`KARm;)H}Q4}6MHE7~xbK+#OKO*p9H;-ZB-uTlpN8o?8nA<2w
zdCLwgS2yE`)q+j>(3{pUNQ*a+cH9i}K#C^ZbJo)I?sn;%rRmzV3vCSh+Ehe(biSD#
z2w=r72{L!|>v-e`3*XkXk&V&Macq&ZrB6NIg>3p&*N9gPDRBkT%5EB)(dZr#-kmcx
zF~cdMvKDzFf3c{fXBxhf#Zk~~8aF6cZqwM7^6uq!Xp%Oi?fyN2yA9k;!S7~5`WoBp
zwcL%(1k>()<KY7QSQCQ@kX%a}#Z-2+kbFGtz1mInMQbf~Mjjfj2Dg;gHYxnxKsGoK
zFAxs%m*2u6eHej;jsXKSU{D845^O&hiX@Bx$(}F)_7>)Y0{Fpt#(OX%7XtnP`^|-5
z#q@fH$Jd~XN#e($xY<8=v5ey8O=myVI_~lUNu`Vsx*6^g0d_^u6l1v#C?O_j00O^P
zQ{jLmIfP6UmVM%t0sk@`MVW#LRGTgZ)7R0CY%xx%ylB;4MA3!rcIjc9lKHm{h6#Zm
zs??j2Ztpk;`fqz7R(Nn{E%WUsVywU1H)!QqAa`HBn7pU!;<Vcy=#FH`6@%7nos>gD
zne3114j6qZy6MW!GGfKR3l%DYE-J~s$S>1DIIHy@_<>cT+>(6uM>q3tXZuv--#25j
z7hsR|GdM)wbWT6>shx<p^KjZ$>n*c=X~i$%vN6IW?D6n#4~^J{#DvsdFGnx6=B}oh
z3?}NVx=VblPg~xTWs}`y^Rl9d=qh)(TVg5fIkdnGe?4J*I0_ML5zpl0JPEp&u@TXk
z0C^P9ZG5CShQYtJVum@3FmS&z`@QR*-Hi>tc2JRjdDk9QtL%Tsj{bSBZU*MSR`sc-
zyxJ>ck1a1sm7=FBk0o%LIx1A>U+h(N8%V@ap!#|<s8Rb$8e>Uc;i1n&oFRxed8AUr
z(NUy;Nx%Xoff2&O@^z&JHo>?uLg{dKEMhpCGcsR-`EI9kWrR8)XwK3zh;PF6nBALJ
z;!N*utkpczn@>G@-7QEv*vd(rhvX^Yw3+EUPe{n+JR<zoBxYZI5EE~4B1FxiN;VOt
z8n)R~wLYTT$0*(rvRy5C7$`R=>4E3|aX{Jj3qf)NgdHE;J(DooxCFNU>?^SScZ9(9
zKc+!$f4H;^AYNl#d(gTrCUZBFm=uFd$VRH>Uldimm$SngF%p{|-=h49du!yD08<x;
z425#awmdeOtbNh+2pG_@P^1kpUtkiT`n$@RfaAy<t0Y$Jgu*g<DIuyqI-?{O0V?DV
zV;rLLBiMxdpBhe#iLXr-T9~;{jA<enhdlm>*5Rs!yV?mr=@Nr>8uUXa`QJ~!t7*Ic
zIxTU$#B+8kKn0^Kwtpq*;LQ)#65eF}{KzrS_K;8uhw-|1H$&$*3>|c<olD9E^St&_
z1o8lqT#no`D;#Wcn5(=$rcDzIB|VJ|Z*t(Z(54CM$kjh%i+J_Gfvn|68gJ;__~6GT
zhlu5lS-~);>n7Z}-vDhx-g02qaO`818?j;#rqmtd%JF8qiFg+^wht}TS~XWm1Xa7B
z{l;e$tK*cjm-iSZUI)kbhn#gSi7)aB_ng2)VfeLZ`Y<|gV7M^AQ4GpMb+sS$WJA27
zpkq*&MsbDFJ!``i1p?hhHvYZ&!wVX=VM3_j%I%&<w$pVSKYTDj%io*0SSiux&_rMw
z<s~|uH|BKe=kZ!Uy_aanwnz+9O&!CJw$Wl+i#Csi>{~_|Tw5^@y2f;eyIK(1L2@^@
z3jguJt8~M<864-mp|3keCMnThv>aA*RO-4sFmK!#nT#2)!{t}wJh7trEcKnl{o3&)
zi|R>E;w%q-RsU;>O})UM`L#7SoDiGVk%xilzqh}_hS!2QNvz!Rrr&b~X%_>@<<0Wr
zUk$xnIbTYoU54#8kM^MQ6smIfx0+}=sTIh`9&18HWO3RVC$(Z?IgG)v6!`J-G2q81
zHh>@BbOwIh#RTccm!IQl(792#x#~D}5klSEn7m<fb}l143=^I*Z!tcpJgM`=c5dzT
zc3ir}{CR&eKxnbx6+fa_Z2bfN>;QdCc$j8Tl3B(5_mCnoG+<fpo*ev0-zj?V@Ti|5
zf^5?BgR2*d5&IkJj{z>X=`NNS^qB`^-7acheY7vx%wbzu=QbUA^`Kl>{bj?zpAf-i
zIf*qd9%aq%xhlrjZgE4;{`RHs8bK*7TBDTw0tN@Gfu)$k!>^rBS9|tTHV0yI(iRPC
ze|>~*AG{e8!qKkiHL3G1HVL_BxDnC^e$5d>8v?55&DSg(@QotRF=f{^*cP*DEPv-b
zdG@J4&Lff3(+V!nB0B%Wb6M9*N7ltJaaDZL^sEK<FFh39dhYd5T`y36-i+h}d*9h3
z`9OUx@;fMl75S(1#vJDw2Q+8V3ANuKc??c%7!IBgiXn^whT)w$i*b<pLQSZ$NfU;{
zQ4y(Y$bpKM?PB0me8{eL;LLJvfx=O?ie`_Z3nQ-$2%#PbDv?^)Ces3cT^BEeejsjS
zO?nRQ#jq6~q^+bU_`SvGenUBg!oz_1Gc|W8%1`f^3|<u4{BL~y2>PK2;bq|oN#aE{
z(1CwATj7H9#*s0A9ZlBF24|eZs=^DL7EA)muNBjp<o^!ivR<Qk#cjSDWXJa@zIex~
z=oJt&IWNYvthx8VPP=3!^B~yqN$JE<Y8iZXj#hV%kbdhNd&0KR-YF4#qItO3XWLD{
z$!FX2-P>V~L4RAwuYBDuMn8IEXZzT-3P0UtF7ot8XGK^9A-(EE%!@j!bX`m8CSLK6
zyMjDAOnWmsJB6z^nsU|0MaA_G<)y8jzZEz45FK2XbbJ0u06%iLor5}wz4v5bX2;sl
zd$9(sndkaj`LQY1@T*&N8uv@3@&(E+PFW@cR#@8ujIu<vp;`{i4t@C5oj5nR(rn|6
zO^|&-ruKIFMI&~7%nuY;9uZc%x)_OGaG1+?dDGgwY_@JZ$yMT_v8-eL79RKk<yzv+
z>af=A9{)r@0A*pQI3k$Adm>au7QC(C18jo~yL9ipctqHUd20=0k70g*Jj8jgD7uV~
zk^YsUm<W2#cVy^iS-QO{lU(pp&_+_PPdk>P>7gI4FrX;$ym8lGN*0E}Uvp0y^i3<>
zgsu^J`&SKO5P75DL>`t_iP8~PlF~s8b&V*JzIu4tQuWrCgelV*#IS3C<RpOwsLTuo
zi5o50OZt?5`o_V1Jqm-x5sL&2k!557CIR7mjJKT6I85=8G4{hqsmu5~5X;{K(O?=W
z&QX>`0}QJ?8h9WN!&%6Xl#N>08xL@qu-`vc-)ODAi3XJrv?HG#?$Ls`2M8Cmp-e_*
z7O<R(65faw4K=vG_FmKDw4yOGBXTm&rFTfFXnGd@M(eJ5@&zWeqyJGwFGpBcbhzaQ
zH1R|&NUX&AB}{ZS40oE))l|pzAXQach=wke!|JPYGlmnksBvs_r>OBP%(amNbAT<B
zgB$C3I`D=!I+!hx&A-_){GM$*#lS5f6)FK4-(WOv^a`2+lc&5XFqZYt{NTvIodSbc
z1hr!K-7(%_1E~Bn{FC84OtFpw^XrgY14coezBM?a5P^e_yNzU?#qg-NZuf+X<OVC|
zG)&M{?*%wY8iRv9KAz&lx-d;t`6#!b_9x?yXui?=DJYiSBPl3EiOM)shTm`GE1#O$
zI@99*93S_@9N<(BB-Gu7L1EKTBV5u!6sh8~6J5*Bt2Fj#iz0UfqB=&MY#HK<WX21M
zttp-DTQLiO>NMcd8e=w-bN!-Rdn5kigWeMQOCgsjlm))_C?DlE84SE&T)=N7*5}}R
z*0;^P_N)0)8&!9WDmTE^EM3#3JM0OO;{rmMhvD6;BRN}Uv`0cN&=d;WefuYFJ++MA
zr2K3ZzYd<)T!lNYeG%XHx-0XY4U^p~Q|FviIk!^2&wN;D+O^snk7JU2;n&qxHyr!_
z<Lj&AqUhfC7Z#RWx^qQJL_%6xT1k~sx}+NfiJ=<-0V!!jQb0huLqesIZbT6Q0j1%0
z*5~^?@AJmz_s{HpVD`++IWzaU&UIb)J=@032O}Emmmw)*w<V|}vk@+9YUi9$_jlC2
z-d+>CPs4vmeyP&;q`NbEhoDHW&natl$2IO$e!-%Rfw{j=F&<F>1y02y$g)+<$_w#q
zYG?=p1$l<0eTdAo+r%OSZ4Jr}S>@ag=PQ|g878=P`^3ub?XO&;HS6N~C~=S5$E!*C
zoE2NO=xHir=u|-D1et(1etsJ5k2!O;wW#gZ1Mqevi}>vV-iOtZNqB-C>M?03Ve3)T
z$lCM|pE{+(j~>ggKsN9B^YSiDTVYqhWyR9`l*E+-t_KX_2&9C&zF9f@ZU96SgmY63
zPVBKOb76D1WGac!l8*{yb*5ki=Pn-(yacz&jy6!wQ8$EGwUo$MOFiRQ-Ldq)Vo=M1
zRwUi^Kr08Jl{}oAx^l!G2QpH2hhI&pl-l9!m`o4}z1P>8?uTki7?%uK#03=yrp=|m
zg30ZU;D;DjXkotXic4^_U}DA>dZl<$OWDD@fn}3Ra*R^(-)AI!Q{Uq)n^xVsdp(fk
zO%(EW004a#BNw#s7jz*-a=6dU#G^_0wG3RyumYz@<X@xDlmwh<5XwauOG}A_^^<2D
zgksVzW%g>9Z-<+~|2m2UILcCB_vdywMv3_K8A-3yuuhE}90M##l<>i@CFs3j_=Q*m
zQ=c4Ca(o2tUBp-ruEc-dsyPX}Qb~pzIE9i=0f!0#ha$No?3YE}9!G^F@XAC)A1YkE
z%`Go~#-@rTffC*wwu!8T(%V5}xJ-SrNQv<dxLDDAaJalGcEjrKNb4_xGw^WiqA8Ij
z<{#Nt(q1oz-||Q8*Z7>p4}A9}DTCUTcHw4S#F^;Mkp`!I6gW4wE5|4u?=vImpL$}7
zD`CR2gi#e3&U3eH0*h&PNOo6d+h!@3h^bHV2a|+E1O?>(r;Qz|zX+AH{Br@;W5F}c
z_r$E(o^i}%{KUrp*QJa9b?L9?^TTlxfR)7N5+4!ZtZe_sKe8M5dnmqU3?|Pg6Yn`A
z8K8V-BD==+pZ){a{CEGM8-YLvqFX7>R%g!rKl=FZ12GohBtM~h+O9ARH<Kea1Q%>`
zn^>2*Lh9hMx{4v4Y2n;+?38b^71+(Tv#A=B&+pGm?rW$F&q?bRyxfk+0wymO`r+UN
z-kfkS3<8qfTC9cF&I00~-zCONIN{x4%#Gt0<_8!T_CwhXukKtF_ik`cFwi%>hBzcW
zltL<i$!-cuP~8?4vBrQX@!sFsepzPStioDtf{|2j&xQ~p$&f`pW}URXS%fkE&go%I
z09i{K)@Meo20&%6nv+B{JZg_6a2ecg{h&DKwYTAnU^3f<S1m&^=%EP_*d4+X4VIsB
zR`mIVl6>d$vML6JG#Kwxhz~0@lcNKHLYDr)>0_nYgtF;)MW0br$~&KeWetILm{28Y
zQQ%aLBKkQDqC48aDv}Ly(9D;#jrW|D99ItJ0M!8t{5#E%%~(z-;pP!^|L-C$#4w!V
zpVKc`Lqqheo1Q5mW>)u1*_`239kJ@@TSWw%k8?2A!jhuT9ICvov_645U)hMIJ1_%9
z)Ey?;$X%sFzS1tufg*bDFURmBGWfyLHmMTJ8EsBrBn;V&5d5>pFxUfz+zW=&{g4eV
zTiy-~qnn9HDVu3mszjJ|(V=f!2+wXQTkgzFZDDs?_ZacObdBI>dBv|Pk=d6wDqloE
z0ihvF!98lS8Ogj?(MQ~JYFV(Vp?1!P#l=Uh88{__t%>nqDf<UTjGb%96ZxT;G3x}i
zoS^YVN7+!iq*M+w_U&M0R~fR81DqHNONF0pX*oNuQ~@FkGb(4I`22n>B-uEl`rBzL
z@7axK8&naix98q6yBtlJ;(w%QJ*+%P)Cb9jw>S$qr_AY;iYq*yU*4eVkSid3@q?@F
zY5Mzwll^H8%u5~$MMX^E0C3&H@kbV9c0z&3GdIjB6t-yP2$Qff29bR;5xtOoZn(^u
zg6EW=;Ysf6NtZH&e2gzP<kQX+f%HNB><9NwCleUIE!lg{Q~8oU@e~ZdMX7wSNDnal
zWSEC>{(SI^;&^xF#{E8!&2oPH)x5US{K~xs8!FWdxVjCuK1DBA#SgxlND~Y_l(0!)
zH%B6f3wnR`@1_$;p5*QLlUd0SP>XYy`^W9>hcQ?>5K35Y1Rc{%urI_qys#tN0%Lzy
z%C0yanwYb<Bg-ttF|kE}H*yXp(vGCdn~@f$i?=vOh|H`a^xNh;V@L60F|VHq>DiZ!
zOsP?242p1--lS5@3KCxe_lfvly|GLLdSe@fCptHhC9aG~^n@W$TzE2AjwxQL8k&j6
zSqto@N_c-7*Fwx(jsNtq7%Gn7K!ad@;G%fDwM$y00Bh$z&o5sXczz?J4|~+pH4_WT
zmWO^nTyR(;ooX*^gbRb{GnI4KL3|2!S#zk-TD+FM$ud7-wdeOlejVHvv1$>^UXFoR
zdAe^PKZe!Dy%RG#;VfK)1nvZ|JL3y37flUg31X-Xe;U7-9+6`05)mB9V(;7i!KBuF
zi%TngkTt8is2b}3!XGNjDq&OY&H3@&QE7rlJHakyRR;m9R2rDWb}=ts!g%|>A&qL@
z6SzKY3a7q-b3K4C1&L)L$|W3+VF9BRl&*z51?g25kQO!JgwLNqO*pg_&rI#H^U6EJ
z5-i*CD?xMke>GQ$Zti;D08*#sJ^owQrf|v|?|A|UsAJ&<pt(OwAVG0-bJYExkp?y4
z1bZIhxYUuN0|lI4<U6Q8+ICUzVv}`IBQFAZxmOA9xpz_jI1ZwiC)!gu6O6n1ExE4$
zCKR=1Ntc5l;JxLDLUn0X1rnm*eL2U)=hgYs%4UwJd`XM=)LF^C-L9o+3qpA1*LoWm
zfl?2G8%EF`#QysC(6d68v^tFF-zKtO91h!8aw@fk72apU4Z#`yF)kh{oj#WL{DFSB
z8NkCGvApLuB2Q?u%S!g;mMK#X1ZF2hj%k}K44HW_^gCYOgXhdvz@|<-&-I5*O)opA
zi$ooaX2W?<`_gK-aXNmdOi1cpo<x1;t)X_x2&8U1r8D-$^m6v3fh?wDeV(Lle88;a
z8}uDMCpv;xpVNW|7K#-rgnyQca?Y|R4oi8G2J!y0lJ%&8GP?yRke7tMHGp@C;H<h!
zy8Jlk!|bktPb+HwU9hi9H)r)L`KL>W`jIl>dJIPtfBnc3vvb$YIn-5=`Vl6PzP=w!
zjtq28RNXNChowlf02*aNGr=RA?n*-bzCol}jS}G=7&aQENC|?+?X=|+VFF8ptYHFl
zXYj{*y|il^VFJ*M8{)WOel^CtrxaUACU(*`7z_tlFdgy&Lx@`r`PMy{?uS+|_xyHl
zZ(xGm6++zn+8Gi=NMJXKVladv9K;QFpC?iD=|maU-EeGZpq-m*uBf+sQhjAn-_AFR
z=A8*5b>yJ~AN+%i8DD;fv`O!)lh-piEi<aZPJH>jRFL^w?<O3I?sAWh;_+B!a%AyX
ztbx$O)5oea+hEMtKga|*;-r}_>eWO)_|TG;8rHgCXKFzQB8-f^2}Yy_JD3Rc+NHxk
zIL`2I$%Jh`D>Cq*E3d-4%`kK$phs-ZwR>94A@36=`F1UD;9s^AJd+@+LU7}JxkB3z
z2u1$plT~y)G|BVx)sN_GQDm0~o^ujxc?_-LN%W(r$ciH(Ka$1S*YSf%Yl~8as>rz_
z6Yqg2t1yWCFiJrY^aDWNUxR#56OMn=p$Ui5!K}BFY+H!e6dW#$&ERolX`C+e$>p>j
zk=_dC`Pl8cbN!&T>33iC=g%$1Ax$3BZ)agT7_^^Ele1~DsO&3euM17!PX$b6m<1!}
z;{nhR#L_zNpPw2&<$Ee}QRD{~e#tCu{P{=nJGo+(zH<R~>UTGu>a<Od{!y*xKMY@`
zxPQ2QnO^=}ebM4OUDEbKw#%O1@-czNS!%Qm7yTuKx9a7;q0x4iOD_UyYZZEnUGAS@
zFI&2JrOM{l6Qh;O)5WOXSD6!U665j@yB7BhjXj%W{jBL95QWp4gi#8_kI&dxp$48O
zejq7`%i59TKDR)~ERh22<)vT-wt(k^;p)PIUQVdPu@aIEup+$4G<wXgP<c=3=qD)o
z(@6{>W!EfqF%)D-q0?d{_)sPUn@?KZAxY!v_pwHj8hJ09d?z|TWPBUDAt6nAJ*kiC
z##ii-p|=M>Xqw>EL|bwG5}J%$jK!m@_w>hzH@j3^eh3DW_!gh;l_n694)m@Yt|*Nu
z@oH9Qb-NcAtqm!WdTYIu8YrC*mpuM<kZ`QYhYJy62DhX5B2I>dix`N&S0ytNR}1lv
zD0#Qd*0Y_-s<fc5Vp*Fo^|H=(I?eFAW^#<0IOBn*MlOp(IYiHG#MKztUAl6Jn%11|
zGWrWX!by+au;rCLn7l5%-Kj^W;yu^hmckov#;E)o?z*$NokPf3oiYQq!QEg3AAoAk
zW&K3;n==(@6P>McVhs06RSc>{$(&rN5-bus)NK43*AgEXod+vZ<nR??0;dJAK8#{V
zULi$WH2e{fU`Dke<ByC+L{71_u_Wxs(nO`<MOzT4kJtAL`lsK`8adqrg_;5e{B7Y}
z0r+I-P0r|VoL|cp^iOCXKqu_EpJ9|uYq~kl5gIH;g|A-i6ki&W;dWgG*NNe=^_*r?
zG`KtX!h~-iO6$6d=U5A~hN;$oHwzVuH&xr&yqztfu+013tO^l&k=;Tw_FuUK(<cST
ziaFTUHmg#unc~PBYqy@jA8vQ&Uovz@0)voX#0xVmL#KOmj{^-&pcLTWH8i1Swd%$K
za@Wj7j?~M7Z|Yq*Dq~H&ZArc@n}(0M{<4!Etw^4XsH%-NrkLFP?^g4DQ59-MCJdmv
zb|a+Yj~K{;nd^5n56=nDQ0t9jN3sJRU=h=PbtxQhEX*&I=d8X^6$FkD2|v6(3Vl87
zE87<2j@NHF-BWT&xHrG=@!W%QR(B}zUL;{GdYZwEKoX#Sim^&@p^D=En-lf(cS~up
zp;xERTSM~r{+C6AXI3?GPm3?{<D${;?dUU(Z!ZCRd0;!mJRq`SVIcYr?Z<uvnfC@~
z+4~*7U9@YJw#{>6`O?Yz>)4^s_-yUHwGNlXE5Y>&9cu5de%o;;En2^K$D^`R7TXf*
zj^}6n+ZwsdyK4WUUk^9SIeEB5YR>wuH#YHAe0w{(`P9)+ZQR8Hcr<=x3*Kc7{l}wm
z?;no_JO$b=vW=Sjb%P@1Mq3JEenvLC+5Hy!O}B3MC~BYl;<-NN7tcK^ZRSDs>+#nO
zsJ!irBz*97(Scvpm07kZ>6XL%>CFnKlZvhWaZA01eP$KD`<K4)*?SC)Tc62l-hMB(
zZ=o|X1|m!xdu_&h5fPybr9_pFIunF?$>p5SO%EZh<B^Z2;f4N5|0HFoRJgNaWK-2X
z@J~rT*rw`JPY(YKw|MurF~e7AF<M^!ej-okMTojW21Pb+qPP8&x4Ya%g2EqT2ABW(
zd)_Q8Y9|T0R(^d8@$HnEMP=yQXlZWHtA2|F{&K-mccV`eH97OZmkRx5OsywJSYL>n
za3?;&a)6oyf#%bvlp0?5Ex&$((Y>yesBzY4s2c$bG!)kKs|Jn?I~$fwiOAPxRV2~n
zQlMzZYm;C#f4w-dj1S5<6lG+y1#!fRm3Kf2Qqn^nG89n0RKMK7AOo2i3QHKAn9@n-
zFa<D!0BIbOA+6t$-yZz36KP#|?}q<B#&k<|C+ee4_Fu*u1mwLTyjy!RpGag28qD53
z$Q3x_J9tZ2jz9n+?I!F`juf^`6(Y*I?!V}0O+ZH{9^sh;8`8CfA=!W6R(9|ZmsNET
zQx~UF+uU3ANw$i(f|t?^!DPXS06~tA^^bMjE*KvX1WcEoaXUj;uHZIFRI=m#lv7P9
zPNmd3ChW$c-6CVQ08kfzNz}!HmFY8Dh}TEw-RjOdY58VcKi%EgpND&}N5JEtrb0vk
zg?2(zK0Ql=Lq>-a+Ag`_3*RNpceN7}9YyQ@Fx7-mtFDuhi)r_=cs&y<(c<yyZmiPD
z(-N1Xlhv&&3;6X<w5e+=q_f5yn2aZSm+394<bnH9fN1gKZlj{}LvHFBGyd2vj>UvN
z`?wF`@0aCVnkYo#x<nYBcXzPAilYs$Sfp1SUSRqW3;(I6=*~S|P%RXAWPSO_k~?3<
zR}i}#8uem~*xCGjs7-8mZ9YQ_3u$1ILeP3_%9r@u=bO3kLi7CnQgTJK(AD;EJ=))H
z1xeD$<y7`QH@5I43<-=kNw`EtN5^E$;@8}3{-#U)bI^2Y%*xJ)>lTglQqXqO($ISp
zg%QnNm4gp~WOAu}#4G{0MMxGD#2*1;ajyrwaIVs7rFldELE}!4{u$y<09g(er|Iin
zP0S=1n`VmrB%31XzBRLF44Jd+q2VscYkp@K0}Q7f!`Y;|n=v{bhhJ}9Dj(OohEiOS
zus-LM2aQ3?Uhr7ZdduJpn@ZOLBkwqZkvk#P1v|!b*`q&J<$J(yQ|LV>2DSSlwg3i4
zJ*XrM1oCApQPcbXp?%f=T!$iiIs9P+<0_WHupc#d5)C+JW%f*aprI`sr~Mzs+W9ZW
zI&rneo^hCai-rMx*(S-)+%T9#*(JS}p3f}F0<VoXCfaMmj?Q3+W;91Y21}R%1%s?X
zv;Zh#SOtKOzx9`Ppubcs3fKq?8*EVtE@9#rp!`2{na~wvF&6?bs9(KQLT-XKqx?yn
zL7OA|o*#FTNE$2!5Ln5w6c#^eiz&1rQKGw2=#q3I%gQ^NxESUA`y<zTfe;K+85)3M
zUHqX){iA>po@SnJiPO}nUzfpANaUBW)G;_T>0egfGjqnwH}o<b<shh}7yU^lbR){d
zK5w7re>l~h{AoTs2$($Je`H~pYL28J7}5x-`_5SVOFXwt`I01|8RH+}eNZ<XeJ>4N
zq9-$MifX8i{S91=+to0UK7i_pFRVrs#a~^9)~h~q+~;Q<`_9id>PKA@O6Aoh=_Er5
zoDbR{oeCSB1#)5`u-)2MAs=Jrj8y=;CW9Z}iCrs;ACFmpRz{7p$KQXtik(k^!dAw(
z7eK*NgaljEe}1Xr$#hMxZ_JMXIy<Hb=_FW9b)VLRkHdsykeYJ8|096OAl2`~za=u}
zAgKJC90Q#Q<(Fa^7hu<b`>Egv<eECTW%Mn)Zo^L&X?j%KA7JswwdB(Sv8<Or$3MLk
zr#xLNCs4VOfyBIl^6`~A_Y^?|mc4)H$DwBI6oY{=f95afH$n_S@hdb1n$cQkV-|&~
zE2SJ?>fA1GPg)<OUH|qb`nBHpmwK{g`ICHI72|WOq{79=_uTa}29o0PB7IMf=>ncR
zvuC>bBtFwPk!{-`UZ1}H-tm^=Y`M#a%8fy~7tp<9_xI-w4b%$-A2LM9&5swJ?fn*L
zZTzxfF{*5NUF@UbV-JYO_-THy>=JlMO10K6F8H$Y!bUW)>@d+_v(>C&3XjIY$SlOW
zX`ub$MRZ9KeUG;O=c36s_)%)yWyG%aSV@i}i`f-Mo<}0pU4v%D-ls}GUqzVfBSf}~
z#;ZjP@EUzRCZ;EUrF2v?CviBvRDW}RjXCL7@kM{A`k3Ir-ijSm@+nW}m#T=ZL+$>}
zSnBG6s<wq3=y`!|wuPim!|!qf0v#K@#{EO?^de|y?Os;C>S?hr$jGjFm-X_n^lf3S
zm}nwpEiywxT{zRi*(h1EynG{&M|hxSLgi_ThWaYswKp3s5A6NE9^8#2)|@XcJ-hPF
z&4<yVbify?y!#~s8Z>rn1v$4-s;uVuVRtC%?)*Gv$#^ZMHaf3+Vt4+)M{C8e^*3vy
zSC{N%OaBwgR`%&vEw)N}Ylz$XD*Zf})cfA)l(V5a(f5|uZHQD+$YCD(=-&4rHxA#@
zeG{jyr=`AJYIL4QdUS;FM+iBSJe68@v%+)UUh{;FF@@$c$mIInBmJZhuB3!W@&H8X
z%Su~!sdE^oyRlPxCeUsr^<5U@+?dC%iSANjMztgEMhzS4ce#*ChJ>bai?Ix}aC$4Z
zMMp+bw&U_)wshdKBCc+-29j>q$6cdn$7SDeBf4tqRn*&F{0=XYLaTF)jz<hLJ%IhU
z4WXJ0xzZXYln&en-B&}|Q&Wcc)0K1Z7%;#;02Nc!kF?dA$?-VCXb508@MLyT&c#z9
zmw9zpu*x>0Ncr}ck+Db}$;@7x7m+`oxp>bqqJQ@lsfOYg)Z)NP2L{X#R46;E8Z7w_
zufy<KM9?&4;m`M_RuR|itYbaao2F*a9$Pbc_D#|fi)$&QDHNaLUt&1k>Y`0cB~YPT
zbr&W`j1(a|T$W4XdHWV8i7DOCJR<TMct+tZvPf2h5V%x2aH;XHV4+y}^`o>oG{r-B
zyI5J8E1l%K-BPj3cwQ?J2JPe^kTQB6wBLbK_P_awrT2|cW9<&PGv?g@a%c$)<fz%Z
z20u&^wr2E~;c3T9nWsKtuSIY@*NL1XwE0{SpGO38Qa&jZuBMX4b+VNdh3Sq9Tc0)I
ztMlt5f1D%Ne__S`3C2?vN|2}mLT}Rnf`>byp8DV^JToSiEX9_ogS6jsc_L53^t-cY
z&|3=;B~6czt1lR2W$+)1L1qc^Di7pM8P0K@J5SJq)qj<SxpF60q)lPFpY$g`452%_
zW|7qLMa~4gg2F}DvbW{)3{V{_KaGm|C`*N-RaF((pI2$N-PK+!vi0ZGxaMd^lM4SL
z<CF@IG<|kUg)dz0gRD^XDa#lyK1Y)J)M!>hr2YwN&+=}sVB!;=XV6~f-PgZ*=en7e
zu)P8omaxf!sXd;z6NK*u^;s`r&%Z(wY(4?h&j6_wK)r;$?IUoA9dZZG`;}*1)JQ_H
z$FGsI**i5<;L6}rCx&RgU_KNfF1#}Ue6(;n4Bt8nFp!~9Cr8MRqGF!&Sr53r;CrsX
z;1g%_+mAM0eBmebW_lZ8jhQavWQ`dqE=z999|fg<NK*0r)qUo<ZQS=TM#_zC-s2}l
z^bCV8%S&bGfa_c7V$A5lscMwJVMyAZmSDn;G?eq{WrzS+U}U)ajuM|pLSJ!e%|#dm
z48*Ob_ASc?q|1F9e_d=v1^Bt~Hm}e6>GwaXR?K`k)L#H41nS($XbSs<^eP4gMs{&d
zI%cdRxNw%0?>PUw^0k(u&d}}P&D|7^ldp`<0-N^Qo+;5KGz>l3VpBz5-ry&wMWExL
zdy=P00maIuWjG`t-pu_ry$+%<juL&b?zZ~uj-<~?)gzyB5C=Wz&$;XTHM5#sZZ-UV
z?R#&t-~{5JzNI$CnHXpFClCggOzMd9j(PFlr91tOJmFAz`s<o1`(UlpdODB7fFSq$
zu@9Bnc-s@#YeQOv=kA)4z2)T`kGrao8NssW!*wFrM5pw^#Bf8RHx81-pLA_X6Azvm
z=k=Q2GZ<PenmQT&MoqQ&s_}l@aXtxqt#+%@6vVdwah+GhSZ7Qs$7_Q!oA<4Ex<HE3
zVe&;|`Uke3QpP@HcFoH<ms#;j^Pi2#9IN=g#dmJ7H@O>q*sytb)jIQG5<ahnn+c{(
zis!VR>g2FrY{q@;-|mBg`<|k<p(Tb-yBGpT#vgqors?&*^2O+#@{2L}r!S)%oA;|u
zMAX(G`i^d%oKS5~8)1Wtm?mtFt<j9I@1O3fis;Q9uFkz*LoOlqy#nahlh*e6biIGA
zxHI$`k$%Mb`79vH?<t(p^BWSdP%?k+OMXkZX2%wzi~=5IGB1U0h)eD)|9Cf(k)0Ls
zm)!t?-`|jrr(TJ?G>z<T$@xtG)xtih{sFX)TcG@opn_^0?@@R#MG~9%AlVmd*tOI*
z@PesW3N6eBqF*R-FpH*M^Z((ylGwgm;w8qwDJdVAVCR@&Q;sRzT)3(I$>@GN@h<#n
z7qRkLK5OAV`Sz*Hwz-i@PF@gx*|6Vr!LU1CrrV*hCJHt_SWl+aN!b>-Gr14ye?SF&
zqf^~i`4BOI3w#K&E*g*LCWKGsMEHsYHLJE*%uTTCXjUPf4Z<w19={hn+uNm*cXyAB
z18@~F<%j7>FyvvRbBCVW^yv@iiu@kF;=ez!0%vm+2-(~(GFuQ;ZBE#=ICsrEy2{&W
zLDmZlA#I_l{IcZ)?16l!7(Y5W8i=Hqv>^cG(l0isyb4UW+`tW<wh`Zf@9gLsaQJ0K
z8dwmo7!ru<Ty1LMBVTxTI9h#wCyJ*0OS5+0+YmZzff9wDZs*}Bg|OLmd{M-+>DT-W
z@b?S}1fso`huEzuenI&58!}<EE=@bZ!qrLqLN82DO12*=JcPe5x&I<kNCqM*EyK`*
zQJsSK<HDk^x?<>wBB>5qFt}5xKVPdXN;Au{id7_y?^L@Fz*~=0EWmdlq6bi@U&YRJ
zkioa=@#w;t`0C_D@p^S9T*Jb0g|Hs;jf_)0W~4DYf36VUjE2z*EO$4IE2;3$h9O?%
z-X*GAaKHtBMLtGVIlRn;sPd2A>$}|$up~2<<ZsJ7rG6WhKV(qsZYa@{_q!t*mtz#a
z<<9!1NWS2?RN{#dwP_(Yx!PLkr_XH0EXFyPUQhmkUw(dDFU&E26!!9WW%1e>T<BZ&
zGahc-R3pokGcULDw^5olG~9Q)X;bhv`DHIpS}IoxZ_5aTjybpN#OI!pKU?!_Jt8@n
znJ=8QZ~8vE9x3(obVnhxbYRp~E7>-`o@<hBVop1)5-<LjED^Qm=#9t+w+&jhcAc!k
zQ+n?0|BhR^OZxt8y~CVV@nffYGWX*bCDrAnT)~f}IW-nUGYwAfOL2PKJ5MCYEVM~l
z@A>>7Q=xnl8Y%rZ^wN~t{WkHMFOB<iYqDJj7xM0ti!255Uptuw18zw+()${N0D1im
z&hiiXEPVKMgI**X>l~Re6kO75>m(_r|EgSl^t)d;UAT&iWL&=4ce&TbcYKpK)j#gX
z-A;WVb<AW6-rAeeHs|~E1v5&sc|U3hqMnxcnD#dR^bS;>Z7URbzG0`47cIhYu$U1O
zwA7VgICD4Z22}=$UG}iA<lDO&JqEG%Q#>{QM4e<1bqJHcxAuC>6|@sOI*lG@ugG?P
z(A*9=Sfm?sj2Wz`{((1;_+W?gw*C{sma}WT-KxZS0{l2jCdp!(I$xkAc+s$5t&RD1
zb9YQa7kbJiOmL%Oi(j~rlp4B^P*m;W{M2H-*?;P3?5M%M?z>ic?SkTds&5e%*VbD+
z&E@AaKm&Cld{Bhlq96D5Bi+}O#r=gc?d+<L@4t>q?0mdc<lDG<F*o;pY2!pZ*Eh1x
z_yEV<4(YxKTxKt({h)7*(r+KxHMur^S^Nubi?0-pPv=A5qX*?dWq{p_^4E_uZslfW
z9c2jPyryp|Lv-{zcYW!w(Wa|Ct$VTlFzsD-HT2ykdnQ_;mb&YroP%TiE=Agp_~Z5S
zN5L42wD$Mrnjt&q89AHiB>#^W<-tbz7qJJ@O$WX6kHR~k{f8pAE}L&X8f!`3Y}4+&
z>8+%BSa)|-F{6fgPKSBZvCG0$oM59gEycBqry?Lw+jENHrq2`UDb+LMhAX_YMaCRq
zzs(=a4W5+PUcUIOnVt8TWoSK4V*M)bGuQk{=cyic0VXna@gtMTdqn+uzn<Sb#>MN_
zV{>``bn*5rod#&AfPlTgJf&AD{@F-bLi{srPf>)eU|fMp8Oyq*0!8nhG<cohWdI7*
z#{}~7NY=o^kK$<>Vr|F91x_p_R751B3`x^grJv>!;w(q3+oMT_f#f|?<Q1Zb)d&L_
z2A-y!?wo)?(XG)V+!ekmc(-W^qxC_%H1AJhT+E;?D1io$KhOHGaaZ1+sw44fNV<7q
z<77z4#RE{D)21yW=Cp6bD;_^!#?#Qb$+587qAXEs%F^qS+J8ffC5}8@L-0xJ6!uDh
zXgvLj%u05)=<^?rn$e?(@-E^&?C#~ar=JM%X(GBnn<yf3aTx~B>0A|t##*z9WUi?E
z6%|vchb~gSA>`TZMnzRsLQL~^nm(jCiXRmC5#4AFl*NFXPrdp{8e?h(YPs=<3(}hR
zlP-uFvWAL8@9FEsOprXIeC)OQb`;O1-hx~iK00-kzW~Dq#9!qu!^0oxS6r+$586?}
z#Sles>J$c|YLJLni!KE&Hd>rQt)D(u{2L-lljeQY&2m_1^QGsTXiO<7({rUPB&I0^
z4#isyCr&JUSu;hKGU3}-Ku6Ajjub+7<Rs|GGSHDkX0dIKJXet5$N_@y?h@L#Cky_&
z0}4O~U@qo_U<hrI9XpTny@eN{e|0;SHz#aW7z5~SkR;IB3>A=cLe7hJ`G}Dr*;s@v
z$vMOL)Oc_SWj%ZtCJ5$jYZ#rfYDTZ^)tqHPYZ70EVe0@y$9s&}jrrH@gzvdA0dL~N
ziV$dz0TYOoXe=!j4UPa^s%(G@->UcLYkXb&(STU#Ws2;Gd1Ho{2XFGUGe>Ckbi^R6
zAQEkc55uVm((9qAvS^>jGRUh0ZjWHZAEb*#{3KcM#joB+i;oQy4-K8&c-@zFq%Ztd
z)$ZX@aB+Fjy#HptO&M35!V`6z$GIA$%arhij~}6maUUh38rWT9)K0O@kG<Ssiof_6
zH*8R~N<L!k4JnrdmE~+`q)-li5ro;0i_dy-t=Mdsp76r^;W<S~yI;j-tD)8j=Izj?
zUixyTdo{+Q%dj4rRX(kd+(t=-{<pO&{9M}^AF0``0(f!=*1~w=Q~foEL*2FsaDV-{
zB{yt@0ZL^MrD1@S{@==ka_-4jtaCxDA4x)X0b>&0yHlvp8Hm63G(v(GVu<T$?kmNZ
zNxw#Cm~F)})Fqx9=0N}+Udc~+xcTx6q`cI`d)!qEDwmvJ&9fJP4<fL8_`U7b12D8t
z<$r}q*`DOwfS-6ZQ>SUF(WMKH7Bdx*u4(%yCHds0@G3S8pXL=Dmm1y7CB-5{pB5h$
zp%@RfNyHe<?QSQ&0;rdy(>&k`J%0frW}fC=S5#y)dY^_45>^D*`;afhYso}8_DaYQ
zOfJhbqB;6-qE&PI8Z9eCbY;~&cY$o5@49J7tNw7GR7)<YHCAM9!i1uAw+-DDdr`rA
zV-YIdl-Aumyk`?JgLUdGG58&#voUaQ873drFbP!LRaXeZTU3ono-AC#c8@P|5Yt<4
z9sA$dC$l%f!72Cg#+1;6uxc<{T+JGhxP!1=s7%F*uIPYEw5%QpRY>URLVRUJ4w30Z
zh$UGhqVw$_LCp^nhO4W??^cuMfWZR88?1TVjN?SV$1ABZvH!F~5jQo%yiFMTAb7)J
zKN6f!JP!JX`xQ}7<UPJ-O7;t}2l5D_B)*tZeQIvTCE!m~@Da0@idj9-Qf=n^iJw5d
zs;MKO<Z|o6(G0%`vqZ)bh+~j{iSoN9*&BE0Ylx&#)S97V4`c~Fi}LcK+F8?)4@^_2
zTO+yCrM!Fm^u89qyVE%=-~h#Tb<^YVUNU{$U^6Q6`f)uxwI1FK<Bg|pmRaFh3Vj%}
zlFj~K;Hb5NSFEC-i6_fUD`WLe2>G`-BR0QZ8CvQ7*(xIy1iyIv&S=ywe!gM0rn%FZ
z25OI}-I7Xp^z>p_x|p%)TWVshd6=ZW(EhpU`WV1Qimk&ChnA7{o`in?K2`s-lp`+e
z>~#%Y8%MS`4R>Fk#yXw`GS%ZLH8C&}f>Os(x@TNMO-CeUAF<w@9x%6<JDK^3mvG4O
zl#sbm=qgyPX4Z2#2`|@5^(_ZInBh)nj3`Y(7vS1`>u$Gjq2+sRMUQGd7L*>@Lh1(b
zECzVI(=LZTLl;rpf8!(5|AmiCU;G;${l!cbSf<!54%C_?hrJSqhVmj$4%K<q#Rh7!
zvyLqNXC4hb)h-^MVR&hO=CPEmi)~=HpHpY^eOEQRLG@8)!RON`w%o${toK?~zjDWR
zpm+0&HBWuFD~ks9m9D6Az2oR2&$P36C-)`eU(A$gj+ZlHaH`<QH{s*hobtEUp=yVO
zQRDBgANqx!`TkJB+zSi7@JV#K_gD`3K-nq$;CX0tXn)<8j$^S~j|%q9TE#!*{0*6m
zn^ZD3+th$DJ?!rMB7}CPZ@-A0X_=k)d~5zqdD~>|>0r7S=B>&>@{ccm)Dpidu@P5E
z>H7KLX!dn8N%c*p?PwCR%E|%Oj|j&^=g{^LZPyH6oRF(!&+F~-_X3a^pq{`U)znu$
zd;9CLS(#p+2^(9T%(x?Z*v%OwRi2PL8}(RTzdrb=B#csLKOHK#-;!q~tU@li#Wx_?
zqp>eI^h=fFd2Z{RLAoA=(dJtPV?QQunvaIjvQEPp4*ATvBIpCK&^-Ol*K*t%$pPbS
zlK5FxY)u3+rKF3Ar(c7C6oR=!t8IZOB%!N2otUZwhU?UN<VMTb!H4U&U+jC&OFFPh
z=zo6c6?e!o0@d@Au8MvrDQ23mxKYxSes8Xu59HAV&IRC*!9ju!x~f7NftNd-1Zc+#
zv@;nJcTb?7%%iV_^H~%}57kfr>j0Y%#i*E>nHeddkYyY-L9HL8W|!C@ZBHMz(5+ZH
z_AHpt)}B1M&<noh*fE8BUe%o0p*=_bNReh2NdFK^)ZivQ&=j^3Xn>O&K#_J3T4Qdn
zVlreRh{!cy44&R*ZhWQq*MvPvxcc+c5vs^<CM<kP<#3Q*2Btk(nRqbm1p&b;U$haW
z{F=18n;aEknB^5QTL02qH1nx<!mIwwO)Iwj4a;b~wFSYC&7zFqzozy$Z4^@=AANU2
zG-2cj2qVb<i^-np++oS~tdQG6gX{=AcB<gwr=Zyi9tffu4Dwf@d4o=tH{#e-feK(|
ziFQv``1f?r4KUQ7>0S&>_sVO0dsuy@DI7$%pYft_)G@?lo`K1p!BBxHT^h{5S8);+
zWS>DEYp7B2zN+G(iHGuDUhsvf*CNdrPAGmghSJ#Gu(4*@$|qjtnIaKmL{1Vr+Sm><
z^uvlN>tVt<NNf0EOWG-BP@)|D_ZnGeSL;>pa4u{3On`7Bw@3|!!`AlQUpoD7oYWL(
zZef%sF*>u!^xDK<SrbE56Wt7vz_AeQ6Z`@#hFZ=Y;BmtTLHEA^SsARe^Ep(nkPpL|
z;|T(~Y?e^t4PEV3;Efz7Qo*u~P9bfb#|EkcFedH3xMX_OgK&^8xfaG0pQ^P!9PD!-
zbFjA^?K|GxpecWd{5cyYR^0r)sQxhOy*uRxi9@EbEuZb!G48~+*eA`<yGQVL7{nJ(
z-!5YYgSR^q^F`<onbg37`PX>his=sm2PsY3frHF<#Ij+T;3#NYqkboLuI@UQiA=m}
zU%moU49Al+iO%{glt|{&+>mF}2A#_HVCby6QOkxvbpBn3pVODt0Nk}4MFJt3pFeKe
zvKCWYJ&C3T#xRBobX_|XKjdCDgKJp7)ymY-n;T7Km`ZpY&a-v1yKVNqT=`QCp)c`!
zopS`=)UoZ_=_-4LBTbQd09LotsaGSkdQD@g>{3-pV0KfM5#?o7o2=N5CKS$H{0$vQ
zXZTz@`shruy&bVsj;X5DFh{UgY<<Tr;hEMkd?4T^xPdHXAX-2|4>+ga#N{Eftl{jk
zu!V7U@yOX1#DsivkR=$#teN8Bx5jt~AnkCcO$};J#Cqg5L1HmXhM<Yih4g(aB8v3}
zSEuzV7DlTqA)ti`(WSOxCKO4!Y`RhHA`v6<G3^#oFp@4VIWK5v<<_@-)io9$k{$nZ
z_P5q2YY^pOZXS__g?_rX*0zI>q@?)Ho8z}T@_7>M>;UZ-^;z=lJf66I*I4jFNGGGl
z4>EFcdQ1VTY3CHfb_Tx3aor~By8PiXf%QAJ{Nc)LCh7!k5%LQl2Q9P4J%yW>m({OG
z%+2j1ttrFnxaW#_-Ph%fV&wE^8G61QHAUWNCxS}t(WzA6G3IH+r|$O@DN?Wro?OOR
z!>o6v<B7OUWKgpd#JM&vB46E5P+zg~th6mugoxaUwfW4afbQnkVr)yAuSiQ7TF{vQ
zrPHe4N07eHjiIt6ahcN|ph@u<j1pLDOH{1m(wHd(cuwv0qlE~a2XX7T9^{9>_ygg(
zcA=CBf$?XXA2+wp&@!IQd+tQa?=_HN8S{r{gNJpQ^lP0`kKi@18}altGG<^%oIm;b
zt;7dYwQ39%18KL8l7B9|fyquP)7D>Er>{zwz4=yv>2gkwQ44wmBWcfCW^f;h#!`ha
zKEb~+*?4EfWH|)mLh|lIQZdLqr>$i5eyZwZek^$=yi8QxsS>kH#;nq;mbA>7?m8~-
zwy4gq-iSBcK8x$gRl72n+_IuupF%&~?1J_XPotgLgMc2&@BETHibY1Zfu+ceaG<D%
z^TOulefFOd<omM?(DLcY^Zh%G-&d|t)rx`lTP0k4)gIMtqkZ-5FpUB_Z`2g1mGF;Y
zzx4V{tUi&J_}?V8^Rbz#jAtXBb_@br{kD1IC41kVow{9h6;g@e?x_2KTiv+!SU*{h
z?QL@Ump9e75_wyO{*cJa)0|I}FPvGO_ItujZpbXB+dVOClo(NR+9@v*(58LJQxfDz
zq05%34ms$5Dvyd(!+HZ~<g-L8l>(A~Xyl~7X=FC%KQwYza?T*NZl;5F?5}M21Mj`w
zZ)-Ezdt$|jo7o0m1=aFZCrj>mP}P=v*Zbd?#o~wm|EZ=yr{BD_B><<Rfzz1uaCUD0
zG*~UeheKOsct%2E(f!$eYpY4xyIU$1hq-nP>^;9Eo<)@tXZo}KINS1={QQbnh*I2^
z3sNqdH-b->xEi<8CxF_aPCQV<@rtDx*RcRC0mV-9%D#fIhTGLwr||Pec^mPhi-*z^
zwr5`e)e{8$;d<yj5`X&mT30Ij^jG$DT3n3m%Q9!)81?4Ybs+vPac$|kh|m4Yx&b|Q
zUc8bZPn$Dd7hNIWL&xvCqIC@q`YL&EoXozutfi1sdaS+jeW;o}PYzorveov1@aAVs
z9KBcX`b8v2+JUrkU+NZr#dKlWqv9;6?%Mal8He{@3o9Nw3<Mhgt(c0En~qqk7$!pZ
zyIdyPYivGOep<V`v!CEF@Vd$1KkS^3lS1aTnIvO_i;=>!)!C%*jE9jLXQtYtHNrR>
z;0bx0ajupT{#v_#%<=yANTI6Qx{&d9%{B2W0uBRjuBm6dy?$p5D%^VW8~iN~{Eg=O
zjTnUtGf+36_S)h3((ijv_Gtz6r;!jG?tK|i^4PRgSE1GKe(8hIxJ1RW7xx#d`^~or
zJZViQCg(0;SAb;rFhiWz<vqK35UR{ITP20fHqO(gIS#c8100782?-YXnBw5a3Ox0H
zd3wU0jIfP^GFd=k@ZbNGA^ELBD7)0kywUpGq6kNau1FGa%7&>7BJFMDLK1b@B&&Qs
z6@SIw?*o|XwaA)D$^uB{go*uG-S`Yd!>=PBFf_>#xf^b_Vq^(Pv?HI1!5jnVf!qk}
z>mbrQ0=4lmIB-eq{4(Mex5pv`^N5zCQ6e@of6pe<$$u9{765cR3_KaY@`8$HO-?5F
zY;u^U8RK(y9v&h!g=HkVaKCo&Gs_SUcS*&9Vg}2A<RJ$8S%dxdtf?g>*a&?Cm}o?P
zG?Rjw5vJL_OTkS?IaKoalI-`2c!;u<@C~CsPTwkgedD*pJ!?$}J>Xi){BC}4ZZ<wS
zSCr;*EP4j3chS`dC-jYN^0$~9_Iz9<M7-1J?wxnj@hhoF;U^X?d1C`%GVm5iB~r=n
zDaSV8gTNi{9TShc^Sf(&*3O=V!H5b6CPH-)dr97_S5j<zOesdHs~4uHU+>AjY2|KF
zq|oxv$Rbd`@de^2@1ap7onTV3va|5_rqD9<&8-)T%1|Pm_^XcH=NOif5=LdG*n=;!
z@_v~P?(gI`>WEkxF%U%;PZsp(QWaRp+1ZUd#eZHS&%N`)HLZUZ&Q+;${(F3(<<WWh
zfsS8qlc9gFfc<L(6}Q0c^k&}E`cKhSn{(*}3cvJ4pk{*n?ru!Y5N#^!cbXX=%HU#p
zY;{_2p<z(vPFm?wr>|4(Fs)f`38zU=DuP)x1|~ga8FG1N<+b7>F<S=px)Gp2@>9LW
z1jkI!NP2GOx<$n`6n+F|!xeniFisRcs4sTYiC!L5!NVa9jU+|kH^q?jDi}pHY>vL2
ztb&^DUrbH3_*PKE@MJI>Fz{FrtT4R4euF~)CNLzD6o%Inlj9=$rI$YPboa^~>a_Hb
zt1$wk>RHY939Pn{-)_Nb55glw&|bv`3<6fPIUck?_MD;;IJtt`JG*fMLJbvR+`GNP
zPB5x~9;QePf_C%`M#TdGD$(ki$)6*Evx5;d#qb%jnom^sM?VjDFB2F0=BPQCCY<7z
z-K@g3w+2xdu}3MeFT?ws`#59}@l{G@z^^aLLM;<ExGfO*7~cZWb+YlMW>}~$o~zuC
zcwf}~q@g@~E|5gZYET5j*m<jvcblqZzqhf(#*82pvk(Hn8#B@rKebcrFil=8^ctYo
zP=$Q_n5w2Jq+d+m+*~a#9%x~?@#uQ`PmPpHQ!|7z=5rZGWz5Jcc*@{6ne-HV@gatE
z%<^RHiUF)!H*c$vCGJ_YhphU;K!rg`GB|mAH)#V5NchG}^htcfA%-l>x5*V11K82~
zl0yoD<h0z&_4FoqdS-Fml~~*^@;oMZul0kJrz=CO@K`LHy2!i}ZuIuBBvM>)tJfS8
zXH%g0CYJr+@-@RJ=ecXnh?k%fKnY&Z3C>|-FJ<K&MCIHNq_yHsSpOzc=1u4G-nHas
z8L|@XuaqiVZ1=3)_2Q6%ELk3S>xOq-dnW3Tf`_8PwTkN|A;fZ%=RwiD#tXw;n5Xu>
zgb}5y06ap#xR=M+Ab!}X>V<|=WO}xqKRa1(Y%3^^MTl?1fPMrn7Yr}BT<(_$0+y$6
zfKZy04-G4AH@tAGIUkITTbXg)Oo$1MdR|3!rK_8?9Sh<MoNLEI_fm)tpDcxwN#~*3
zObMvzXfW)Uy$hf(o7!55o%St5g<k9T%Rt=*3``ghw^`Afx!27UB%kOzcl{C-uj6*{
zP}^I-@fz;x5y&k`BICF{e?O{zeyKb6X)yT`78!c8ecuQlcMhq3)T&ZVDQcQRFaXio
zo8nAicsk2Ef^7h!^I}E=FG@ya3&jk<soRM>8)TH$5sbjX)`8t1i!+Sj{s&eEM9k#`
z?_>x{1%f@6WGxb{%TD-4Jn;Th1pYzRMZyOLJ>Uu$^f=Kuz7VkI?G6&phJZJBpV7m>
zVF309Rk1)ohCH3q86%pI;(cbl?bwyUhCHbe&Ia<t>lCWrYMwzUPO!+iZX$G2!dyHS
zS)1~T(eQVq`%U3H1|{BDf~>Qly3u<f<z3gQrjku^mN^7xFdBtoCodX=XL_6-U#vSj
z>5pEG@H|vlV3wUNn8vfN9K?Q_rIVI1A@L?o%cVjEk_`$;kNjr%PT7@LZNb~zFkg@#
z`zxpxErauV4Z#RX!?|T~)-f-xz$EHzYlm7o`unGiN^6a2Vi(_J<{u@?e4c;O<v$=g
z#UtPSu7@YtUaiR<(x??AT4mwwHW1P;3(Z93U{ScfT+qa&2<n!;Z)x(RRPnn)WqyDz
znx==kh^@mgRQ+!sGEVzWF6;}N+|JqBZd#`72#J_^H)RP=6;!RVN_o+1ceE^7IDOb`
ze?2W+UzB{W{0h5K5AQ+6+j`jaHtue>VM9maCtbV+3XPeHEJm-<W+Jb>uK6bcjy|?D
zg<kg@**|$6zLL&T7+8&Hb*K^{vL}sv?ygk^(a7;DG5B1)BC_7V`i$jQluy-WtB|e8
zx6ejDFS2@m-AH}RLOmVqb!aE1J8}6tk9Z}RT4`}2XaBI&E^Ue+>UjDGc2E6v5sESI
z$ZwnLjT8QzZ;ZP4K$S0}DuvLT#dlNdZRGYj$&OxOJf?lfa#Ypm<V&4#GYaXu$Agce
z>7Z}oKxg?|`}{-ixi_NeJ@I8g@7aVIy>j~xy%*{ssd^!pezt1ZMqMPpvFC6c_oPnb
z+ff1YfzQP-^W^V2_ZW4x)l}0VVqfXu&$E7z<JzFOZe03ypX7fmJU0yMbw6LeRHeJ-
z$X4E9m$sU+03Dc+9Kp}0?A>LO(=?HxEocQafq|~hWbxG?x!=LFCSDJs>!pJV+6%EO
zCGB<(p6b5pVLzM15i=mXv%z|g(&g9NuC_ErBP!jGv(iz#3Jilm^)5=UvRc%HMsLlQ
zeA*<=I?s{tUUhf<p>aGsuJTKR$34AJ>jky(eSnqepzw(q+YL)PUMm%Is73aYRi#2I
zwBG`amB-?2(*6g-SGps9OB(ICcpKu=Dke%?l2_bvTw|OpRsJ!!dJOqU+u;vb4m%Ia
z7;^bV`)|ao|Ks9|2mZU(=FYvv-!qrMe=#w7v2*|(n@4|;F8_}zdXt|rO}Upn(dgie
z+|QDtPVSEx&1x)zFqk~)ozl08U-!$y()@uTZS*fg8f>*=T5NRoYD>thnd#muFJ)85
z<WJEJQEM%R*0r3JMp<9lu^dA&N-l|L2G<y6=NEbY(0vZm=d*U#KJMd9Kx)1)(y8@e
zRqn@16wuJBH3Q|(#0yVxYI0tc#KQ`bY&_4(0rHPj)`{DPyFqBGZxc>g_WWogVrX2I
zOakrfe#+lL?rGzTtC4yH%c>m2NoSx?3vt=<YiRh;V#DrqujoP~p4q+fu0IG~K%WA2
z8_<h+bP2v@IT;9zE3g<<ePOr2SvX6@WmDYxnzdSLgB$%|rAsbVp%Hp|E7>m5x}>R&
z!pMc0J(hMnc@m+6A+Yrp9~fo<Yx4mn07$dc<u|7XBv%qt$G3X_jfS|9un4tHW(0~|
z3MR9)*P#y6|1`p{bAvvuZ+$(06taiMh_Z|DVaC9&*6(}-ScU!;Agy|1TH3MNj3%E#
z!|nV!6MY66xb<5KY#4Io)TW*sbO~nCH1+VZ$`6btp?6(_DNV5T0#6q{__2>A22*<4
zd>|oIMX8Z!+|AR3T%DTx+`nVV)dz;l{X*B>VMQ?M&<EnA%zw@zJ*$K;5nh#d%@L+1
zK@&$mfS5LzJ4-m{Df=V<!vu6zJB$x>RsiTMB+w=UI(TAf1q1N}`F#5nB(wt&7eSOJ
zp)F6lK-MBz7k+7MWzgWZxCp0-2{tHOIEc@lZv?)nR#M%$9h)~9nA%m$J(Kd2!@Z6T
zE)qcM*?<uPgRX+9Krw(6Oa(Cjn+G~+cD9pxMmDEhRSjzZ-_lGJNCs_8Es3aaV}_P!
zDMr?*)1i&S%?p1e!2wM!WLeOZgci(#YQ3E@G@fZW5mwKs+woLK_^^Ss4h+ys7zY?2
z(Pcq(5*qrKyK0I90py_JEUS__a!4?c<3&~gdk%mqa^%D4S&RK;A)c9~9C>TM9-Vb3
z54l8yJz1>w2FHnn=`$g>07?^p-#YLs(KZlDb#rXe$`1VeTp^QCL-xO>F3S(!-8a<+
z62H(-vEYDwO?XQn!4mL;82`7qOX;t<3j&kZGVZ|hc?MZMJJC*S7?Qy>1@FZb)=p8K
zk*luoj~Jl%2o51E7(fezj>=g{Inn>Hs2#Pot~Ed3ZuE*$aCml|RJ}m@Y4X8@lcLRu
zAG<=^<ozpBfLwUHF#Ek!fMZ$p*2Zsk#_WS&{~_j+4d79O81olXV}U9ny?dVX&+79~
zx%G{9X!%GeDl=LYA~x8+?RO5$Y6&Ykqv=iRn+$CSg*d_O%wIWd^5G>PzT%nkNMW^j
zem)T*__I!lTW~pi^~u!IqoF9OUCSUj5NT#eiOSg3WnOdc=gdr0*6yAdL>FcE(uWL$
zoGv+ADO|V*zw|O{Ti--`c3(|Q>rCifinYG@+q0YgZ_h5;skU1A@X?QE)zuzuo2?3w
zui32sKii08Y1Y@t$wYEv>5q09@L!&bmEL@F2j4q(-MgSkw@drvKLkUv&A$i+{U66)
zx;Jp6H~Aon&Vs@jX*sJ5i`Is-^)JyWk;Q%TH>nU&I2(@}NfcbfK?)3Ttz}&ED=D4i
zbO`^Wi~PEM1ay&tpMP`_;{IT_RvA6kzoO(%FRy_*^9<l%n>hLk{kUDKP`tY*h{L`+
zk@2#a`k@7P{`5)F>7!Ra+q&o9jvTM)_?7xdv485uAqg~;D!Pr=f5t8Ts#oJ=wmj8K
zCB51BdxxzB-f#!|UBTG`H3WYEflj}}I6Ly%6syaIVyD(b4IW3#)5=cr%vHQZ8~SCu
zQs1R>$>{F|Lu`*CwjkN&StRYOk=l^@n@4*JEN(acUds(s-(tAqGH4Bi!nSr^pjR3%
zr2wA44bAgU_jaUwT8{2NV%Y8BVdh+?EF72HZMI?G(E`Et9&=%(iXVD~ew81r%|ZO=
z1M!3QBR7$l`!fdBO)^l0NeXvk|41b_m<c*;Wca#CS==2S&KG^~b;h0RGyBMcC!ctm
zSEN+wy3CU&6+x_RCtO1a#M6A>tbkjA@{IXuy&W;1Ov6;9#re8;n76uPzOm4LudT9e
z>yzi<#c?&Ej|U{MEV|GW8m&r&xw{*i_lBDX8D9?J3yi9UUmsvoXSHFRDUyUb9$$3y
zk%4tb;9MmZSr^&5hY8-3xhGbd?d>36=);t=>hAYY`AF@-V8?b%nOvMlAEK+Yny&(|
zECUd8BmmDHVuwgzvY0{#$JAIn;dgQcDrYq<*E;(sfZaH7ZWs$hmURzXgT6QN`!BMy
zbX-o`332SFi6Wlr^+Ry0saO2@_56W?vJy8Qv5%AB^J|Ta>8x_?;Y$efy~nxg7C^s*
za1EwcCUi{tocptr@z0t|Gt`hyz?z=?ES=i)CZ72<?|v$LE<q{2@-l+GE~Il8Q{*zD
z9&i)wNS-F%UF02__70we!=T{)N?P!Ze0-VnqOpPdsul#QZ1oZG!3Y5ZOf!d#sHN$V
zR<jylZGCFyFMi1DYi#Ulr1Au9MiYLIHlr~&(!aQK`}l9gRl8mPc+8rmw6*2F#~0R@
zDjRbP1*?hv!#l@a?G-?ArE#c3+tHYh{GI<!2ADW(SwD-h+x)D129OwJW6xID@V)HQ
z>Rl%{KHRfFe@|gsBR1oq2N2r+O3yi|`nMNtTR!vkz$aHNN;lv|+i*7<yyvK`Y@cV~
z7vJ?N```|X2Z=84pCZVX3FH5dvbPS4>iycqXBfIWC8eahg`ovWY3W7@DJj7jQd&x+
zBoz=)Qo2j&MnI%N5Tp?Vgx@pz`JD59&pGdVUB7=GxMs)9-uv0lTI;^=wN~@*g0p+w
zl{^SKU;Xd1bnns4TWi0&l$MlSXWbh}7T4nVe3kNC?UnvDVojmw0j<6NfvAC_ZmE>Y
z|DR=rULQl<+4;J8muqfrURs*bW#-25h#0_KN>}neoXBjJj~jCI?c3hlt2!Og?mFyy
z*Gd`J_4;4xmH+kEoYa2AN<=_3{Yi=(uJt{-zbMQ<s|?O<j^i0SG^f9S%m_-S7FT#~
z_!pHyIbw}8fxr=~{p*OiyegRsKAyhA53My$!w)o|Q1h-;{nith?a<?sH<hpN=br&1
ztET{<&EG7$#~{njO@&kn(K2QE&F!V-H+;vF2+W<scJV~z2@VRp;(evmH|a0qKgRH!
zGVCd@g!k#q&Y3-JjPul1rjPDcQl{a0)cG)*09FSl_i1=Dd&70yoIbij-7T322?;YG
z-E)gi{eWmg=>9$?xF}bkacdm0d+!LSmAF&gh$yUF{3e-ww0`WTh@(y(yqvZ2$s0Gw
z4(g1;W?yk0?@cnmuG{H-eqrq*rGb0k+fEPMgI(YrupcRP(W4+mX$={OukkwcKO+1u
z?Vo};pO1{M4S)G*@g!B|E4Rs~WILOG75+_yghrUc`y6Jr$#T9lkd<IRaBjo_Tn3zc
z1=WBl^dmC^@LN=6*cp(1AmNY9ZCY35D7ws9C4DqG?TKEWtgwIIW>Al4!~E}SN>9X8
z4M<U&q$^67Y9A=LZfE`KOAM42z~MMV$^eIB4bZ3>3(N`6%xU*-5|I(X8GQVgUi5Xf
z3noOE#|Mir#Q~QCL7RXQz>1)nNy*HB4PajaurIBTzZHW6(4QS7qsQF&P4!z<qa@yh
zEB77&<I9sz$9NyMOVgf?J{5GwwzGbz$b|O^fF}vc&pzdgx&~Bz{hK-=VHbSi)A-0r
zryWk|^Pue0$}MX#o|m^Po;ZC{u=iH9jj)SfN3a^R+3etZR*Z;%j@^Y&F(mj^Fgp5>
zxavFvO<>7Wbzz`H`s@B#p`Km`X0i>G&eU2_^xyn9$PM!Z>ZL!~0za1CKcf(UpspB3
z=+K2GQ43SO0sEUK=aT$i=w%d33p8=0{s=}70XmBA$`=xaF|V)WfJ~Stm#`T2eY0x*
zPyX{CWEZY+v>T%V_xecSe)CYlS~;1D)fY(rTc}D3@jo;q$g#LLD85IsSpgrei<I6b
zY8vTojCR^0c9*ze-Xqm2EP{?_Z1=K;hFeSk<LEOQ#l<lu$iikt4TwJ&O6t5vu@$+>
zDS`VKd!%$j>XT)m{sm4=TM~8)c2ECXFgZAh&o5{+k_F5dkSGr(OtgCj3lKX=C<|2O
zUtn@(vS*OVySikI3jW*>d`ISvVFpE&rU?I&)p14op0kR3ta-htO6YAkM8XV0$Py?`
zcq8m|w-o{P2|FEDs{E8RpBYhE=B}d0uSRD~y1qVwFM|ej10=wP0XzC>jCoDsSD@$0
zb@llzO&Y-V^@T((#3y4cH#6g@Q7YGtS}`L?Vg&eQq9|RvBa__C;52+^82_-GmyjrK
z+8OrB)~$ub>Uynp8M1~?4BbtZw`ZUT?G`a<;_5FRJ_3S}9jlj6i*WiX<)ly2hu5>x
zpBHK$*O*^Z*aW4w$d$$0b5shqOQ&T`doR-u@?{L3H?|ws+|*B%Ny-xYeUdrZ@vOVn
zModNh04<tJDq}JzW`&J`0j~*3=r)Vt4WYl!ib<c9l!l2re`>KC^VoHzTHU)7p?{{P
zHDzD;S}oPX1Wx{F<e;k;vh>Upb0(D0y5w+;Kfo(nRgdgrr&0rFm&K@bzjigK)~p)S
z4Zw8|I3JQI=PMO)-50O!3PDKZaw_yElS(*c;a;)>9v(M@*v$kA`k8?*W`ab*JfZNj
zomN@v`rnw?r4l=kFz_WX1hH*;<P$dUH$o!8wU6_|&m9`qH|7`yNicM4wg`0L<ahAF
zP(R}LRy)#lBr1gXiv^kT)X*(GYr7B=r@N8m4}P*yC5x19<P#L6tK(aIGXBJqtc@zV
zQ78_=Lnc8mEXl6EksYhM{SiO^(UUlup{3}9P>n)@$1?pqNr=-*n-q*PD4@5c*&;-(
z;=s>z_8X!_U;mjUirxQ%z`3T@f&6Xc`e_lHv#~KO*L{E%f&m|65rji^M2bFVRq#_m
zdbBrNjW%m{TZg*to|>EGoV@3fKW!-24&2?1X{O?g9QhgqUPAKZ9^c4Ljz@5Ei#`Hf
zZ;O?eO1iFyqT6VGLA=fHaT-S+X5O}(jt_E+ZX-)=x^SBrpizB{3qNGgnmvrZf4ynY
z=U;jE?E81RaU(Ldp>H0q6|DW%<fBXk`Ci`TckLdp*vCa4GFVhz!*O%{*u;_JzXCe1
z*q_IVD^z_UaL{$--d#OC+O8hdR|`DqHp@BX3urmyKz#e)UDuPmWnq@ST9B0YQ?)I%
zRdz#Gvu&_uvo3rv_IbXJQOU*n7yd-yA6asH;|G0A)W=T>n4E4j{m44xZSxr}Uc?J%
zS*rQDm3`q=wD|S01}HCanSM3&Xn}S4K9_h>b*uB_+M((rZvp%O3U@bymSOm8+{KEb
zz)V)|W;(+4^tbopytb&HPsY|tYHKVemA?j=y?pE(*v!RQ+u`G%^pP#s=dNVT=toBB
z-$YFlr8W<K|6KfN#1;RTrrAf8pfTn7bhVLDva6o?kCw7`hE$eKSr!*BpXy}1{;9>+
zFQS>x!!KL3!R7D)pTrg<*OZTg<eKT9;&lCrNyn>i5E`B9bBt5>P44NV@(goK$TQ@M
z0^XMEzWIGz!;_HhdK>5bi`c2EV+(I)Xs+B$mA_xr5847<6BdI9&PjH^G`GJ$^pkBa
z&i;B{FlEf%^R6)2=9{8XYsyc=@=9jJ-KnufJbS&Hytm^Ahd%}So_uc7X3-;i@z&1e
z$Rv-aRR=Lo)AKFHC40k=F=3Dn=glkKbFU-)7)}!LI)#E5Y67gbxj{lZKmhH<9@E;y
zgb%%zEo6xr-ra0Y8<{AZ;jJ;z$K~fg>PO!V11Jvz^}q%S<>8IHepfh<x?L@|z2`-j
z7gx4H5{8xK*>R4}$Tcvo@p|=uWuO#CCe_>#kvUT5K>EBfuknuZV>&~xK;tuv688cA
z?V)i;$^b=Dtv=Ty65>dA^_Ab?6RMW&qm9v<K5xQBF1>SxSUnRWOlj+qBc}925+dYY
zlb9I^zt~>YNMjWaDNmTyH<-Z9xJ^kIa(mvBcnA8V<_<onwuQBZ_H%zWNG!R(gTd_q
zVt$yxP!F$@p+c3J;dQG*>UZH-5}rWx;QIBO*yv~v5~<OG;e?+s&{wK2TpaR3;q&A5
zui#}HEMf30wuG0>2R7=R_GQzS&S#%acCY!4fmeN#YD+10Vla#8a8nu-?E=dPsNZ!5
z9}Hj_>2tV$YqN_t?#ou!!xj0>F2tkrihcZ=<y1!?C@N640s0{cCaTehwq0%xYrV$8
zyltACHGOjj^$a_jm$S|0OT;fH5d_a>>LG+40~lWE6p68`90c@<zqrrecQ*PO)J&6X
zm(b`wwe|@zOeXqZ%Oiv4Tfa_H58HK0q~6^m_RU(v=g0bdlGo=Zo~CRciin$7CY-PP
z9Hbb7hS}(T*H)2A8^_D!*N>3j1u~TE1*WvpBECEv6%Pe$AEkweeSzF?o5ch&F|eje
zNTJ^l@m^}RZG2>>+YUB7m?ylU@c_ep2c2*NU~Lc-Yf!0Y14^ZWOM*We*_E#2v_cZr
ziMTx@+^9m6@=;X1fq<d*f_m?yQUhQP-00Ee>Wh$UWgOV!dNxn##{vk7$;xCY_L$ed
zr1|ZH41t){qhjGt%`nt(5&II2CB@g$t~2?`qu^33(W`s9AKAs6AnA@<1zHc^_t_*l
zRF6|CEP!?%<XrrQuJpgK@QUEn@sb#w`)Y33T?ntv8EP>?>!sE@c6^rPC)(7p%bTqj
zeACZtBFl9TDp=zxHM;9DiP;VnC}V_nB21pBP*bWv1?Git0YV056ewE^W>ot=tpK*%
z?rkdpi-HTv8M-Go^?F$DdI~01zBg4NOMLAtLb^T_Oeq`8KYxf52(<(UT6#zFzmGt4
z>^Dl1w}LQrhzgzRG@G9~9cq~psB0HP%6}|andHwbVg;dnN{b1E=-{4<Ku`w4$&Y}x
zo8**11e;}7(kbk1e{$O<y+4EIkkun$^5z?KS}_sj5m2x%WfYVEzKS%1&{~9I26wh#
z5#)!#XxW@%8SR7&M4f;ELL{A5hDb0GM#5Hro6!yRxRHPt+2y>#<X3;%ZEXvU?Bd1S
zVT&(O>(UT@qubSq4-YeSfUqDVDWih1nO4B5Nh}o6p&c#Hu<7t1ByJ{F{7PvJuXkUJ
zQVfhLb&mE?e*Yq)m%%$8wpEZDE!L6;#KKXi;gp6SL+SD-BAd&F2Vx*$4?S?D6ju|k
z&#h8D8F)H5b7C0aabUdB<M?9JtaLv)t7Je!E!olQe8Bjr<;2ciKK2Lf4pMr$)I<6<
zOUk_p4(WktHjQq*x1Y|sO=S2lbSEH_zfr>8!nqP~Pw7X3f;!VL;`I$le#mpx@#suU
z;JF9%$tZK#Ab$ORAlcg8d4nn5bR+jwFLy&QE=ad)4^jmg{CCzD6fqL}gQE$G(|B4H
zDP$X9B}lIOtPxyNN)(@qerJ+hECq}5><nP&ACNWfQ8d15dUUi8>IHmuY$??(y*O9m
z*lYd7t1s_;xNB-vP+)YUeB;CU=zfpP-L4+vcM5@PTL>548dW}qwE`hBhp*f((wH_(
z@)YpC!Ed-pVy*0}yG0fpk+!kMKa`H6Z2#fB?4vmvWca1*{(Jh1d2$3tr2pyH(N1R7
z6Wn%Sd1nuk=6;*FD6al_4-V87IbRr!yKH}PzG#OkiawVzau|Q7mNBGWisPTdhbze4
zODT(nuw3X;{h4FbK~=tnX(?qH<Fpm=;fhqvr>TRd#I+~r^6Ar{)O4<>N7-rHM+?g3
zMptXisk^m)LKE{w8)wCK#lOeO-;_UZ(4OEI<~@J+Yr2RiuJihr{ivL{k=B}q^tX{F
z??54J%-;)~oFiX7hI4CX<|GTA@^7AmRL>PX*+q<e4JFNs5^OHxlqGBX)se|+c6UYP
z{<P0l%B0EVSkn#s(1nV@&xU>5lP@dL0n8ZM^5RR7oVoetqx^Lh5tEXkGOEYSzKoyW
z%-{dvYoO#3x_`*}d_dOqg{Q@v=W;&hj6Ow17~|(Z+Mbu|-`F1a{SluEuLj9!;}5G`
zxk_3P%Q3K$m~wNi^51vm*fj4w;h?h5U<dR}j-D4q^?kxZ5$DoZMh}|P*qkpi38o6N
zpEjqc)tg-u-2Yn`;6Dtui_W^E?e<cjzT7Nb=7r<8_3#{5Ld>qlz}XoYnXf)^M;877
zYh+hTU2L3YoIkgnHfBfk`~Z?B&=%>J)ZF#@cG&%BMT$Qrn~EME^V3ekpsx|4<$_g6
zR5x9{SM0XHMN!vF4AJQ8n&>}>z`OG~!VAtH3FA4LMfa7W>KiC%?{_;%oJ|!{UG1mX
zd}ZDeZKcG^jEYogZhZyxOgTj+m8MSB#pD(i8!vF?abO7j>)QgUL((CQZKkx>rkXE#
z=ep#EJ~qUuQM|+4hQhQ=mI6+c#fHQ-9JG_q-e#@2Tf`m_Q5qsC=c_sc6st9h#j!hX
zHN2zE@Na8kJ-CY4ILcgJZ+~jH!0ic@KiiSb)HNXv14f!SY^q%byYm)a8PTAgNntQE
z{c|c4zE*^6v7IR1o!OI{{oz?7t9MqF6QjQ~l&Nf*q+#^B5AcA*RN(8zjxqOc0+qXp
z0OqcA(uE7=y$)(%ZaS$AZMUrOwW)8`zqb+E3e~7L5r$baSHI=zUmaw?yMWWX&0>8=
zN`W_4DmNZ1oR2{OKn4umcX!a%@OwoiWD>EQiV-hQPjoLQ`%RxdHI;E1_D}Z#r3$Pa
z@U_5a0L$S_m*eTH`{V)@&%k9=Jd4AyBC6x55d8X!{XsK!fgR?9!DD`vw&|I~?XTD7
zo4+5Esq&3SQ5U64%CC+2q73f@9l$XXsCSKB!=wX!a)u_W-BG7<2d7#>5Z3YR*Unp8
zQ%iL5cD2*EtHg8zNdpLNmhf}FIvx=Q3j>cMTo^2pj`jAzs_Dx1F2UaUefbYE1-=_p
zYtz(ziV>Nhp?uDTce6!YeGZ0Q^9#M%eSia`(}OGU8#8F0(QD5HmOgI6G7)dT)A2Np
z2bX%klQ+(Ezq1z&u@r7fITJ!yC~7M?HHii96jlWiD5aQgq|!6^%0p`W@=V23@_h&0
zS*z7!qcyYy;5vPy#K31-PVMDo0tNyO9%<yG>Uy<v8NG&nhADp2EtdG4iJtd$6ET*z
z3MNXF94*8DabX5CC*;X3n`=ifKvw@ai{L(5GXmV;r5?vqjN37!m;oMl*M1+{*h4pa
zc<~194V7p$vqkciHp(}faJS#S{m!1~iTr4w$VcVy*-`WsPH!g@6NnU{KzIQRT?}C`
zMuE8dqHae>#qv{RkDkJe`*Yq3#KZaUzRgtVDy`&ZFiJ%%`-uRI6<{J|T%e&LVxNrA
zqEkN;^{K+VDZ4~~Qh@Uc0tGnuU4C883rsWhr$7Vl;b$xUsQCsA?NK{j`4rs(Qapir
z0X$Ff<_&^Qa0<FGnrGrZhrM=*B8YF{8ojt1NJ+v8Ixr@j{b1Y0`h8WQ(Q6nrkl7mK
zmiTHSBIPB9q`;zJVklyB1t?4wQw(FjZnj=gZ4Z&JIP1&kTZ{Gzk*uQJ8P#iUr7}AU
z?CNrz^XF4)x_n7BoZ8g__zBCY)<}FN;4(6G-HJLDclqPk>HK*=&}^bEG-+bzz!{&Q
zMH%huY{qI2*%h&5Y!WzoA24}&l<Tt`DmaAW^3EgBZ0gr3L62bI9(HdM+qh`B<Jkab
zNCm$$@*<8Je{!Ej(4mT2u6RD7M@6_-1yAMuhb-sIJHiKS(Y8Q!<1|G#j0Dj9Ft{1Q
z%^UbDQ5Qor_@n#j!kzl-eU``5GS3SgZbZ<$(IxycGnEVVMBaF|MF7S-_?~5AAvX{f
zK!^YFw+dmVpcHtR=XEzfp2@T88QlC>Fv#N1$UOt2d-nzVC-OFUhi_Xw2k-C`R1ojc
z_1l3cGf^76ljnO5&r8y8mgjbL;w*)lY5{oQ8D&%l*8Vcm3`u0M3LESA-HVl}j()b3
zdi9Lpav?H35ik8#UhCU~{Lxc{tz^f$aA!C{of!<YmF5N6fVsWUhM6c@<)6Cm77umX
zEODTr-V3RfgE1pqIGQJ`|F|MNwr#Qp-M<UTGAm_9qrk7oOQvELYb~68X{Ir*F?hVE
zVlASl_TKlCv6nh~jwfDQJDb}t48GvI;6m;$CBZ!9$s$K~w-IDY^N&7N(6qqp>fay;
zXj}tzU$dkx=A;&g^JIY**6aB0Xj$Od01gv4#}dn;TEsW!owKlAFxQY|Zd=y@S->;t
zB9k?NWg|JjsX3&&$^LjI3P;PWHvt9!ac}bvfh;ZTD@|cN47%)jmc+ARLd)07MWtM;
z;}DBb$sV3oa9mrFm*o=1pb$I<2*feKAqZG~o{3_^;xFR+X~UqWnc)A0px;L<L*5SE
z1^t~)W|5q4Gx$?wEA}BvOQ~3(5LTYDO?zJHQbiF`Jm#UP2jjI!`rD+lji?6MJ@ey$
zb?ss2Ew>mBVf!cc@z2#G<`~y?ypzMeBhoHJehW?HFJ_dxoR4yf7%a7$N&aW7Z#636
z^F`AB;q)-g$rJf<Dtzah-3B>dqLOUEryot9oFt2@)u(=nn=ISA?{KKP=LO>YuEXV7
zu7Fopo(`8WMCa^3yneLiyyrU>9}D2l(3pytj%mzodcK|XUc(h(fRaDEHk)RzdHgCG
zN^)YJ{5Q~7_+NoO4l2-3h&2r1vozDJ)wKU`TJ`?EdEgJvfFG9Uk`I#Rq#HOVM53yi
z&$2Q~)22KR(W-0b{9p9Om{ira&FU~Dy=LUMC*}KmRXp9#QLWxJ{_1)#fAmsv>TVDs
zj_XH}<Kx7t$`d6yUsJKuXDzO(SfR<Tna>;xcuhy1IF{Ckss%KSsN1HK*Bwc4`N(>&
zb3eFNEv){)k(SXvVxjk|MMvyJS5~-z?da>2<(_PmhNgaDQl;j|$ER{j1tE(6cnT@I
zTT~S4(gnxgHr|Rc5<PMY$D|UZMG!vyuvH@T{e>voYhT5HI3Ry^$apojRr^p<>bgvd
zf8$7m+Xv5;@<r#sK(kQrqp!UhCyQ*hg3ErOGgDm#pJ}=(!Z7EXSmAud_X%7=3Hy+1
z^J}h52Z#3uB2h!e^%A%Pl9wAj64zF%=<Xf2ILhk8z5v3QMS`u)z**RP36a!ozFml`
zP`@VYfPuvvU}$b2k6oluA<Ls>pRN+&En{KVaCV-XG_^zb_?n1-8gz8L`P&ir2z+Ij
zeX}zdsKtkF7-T*t37@wl$B<+NU&OD;vSU6I4iIBU3eO95Ja<=dHxFkRe-?g1jtn0x
zEa7}E{KN$x9ppTIBJf8r2?EUC5A;VOekOxDL<St<@o825JD%MGA&OosF|iQ2C8D(m
zxdiGfq+GKXqgQ+v<83;!c1E{!E8CTWZ#4%j*@-kYf)i~tzwZ~QzW2TM%{%?9N#AgX
z!zRmN13gi7(VA$cK=aWI>?ho2#`XgV3Vs-rCwy}3q5(lXskaZQb0DG{K-nbEF4{Zz
zz&b57jIjU2C<8Y3U758lnsFB|8Hm-mLJ403DU2pwxUTjluDvMzRBHR3@<^W1@8n<s
zhr5By6NGxVgn&rWuj_U*B(-eQ$Ob)F-`{v}+svdvy50NHSHAGLCCQHHzehz`wN|Bt
zh_|+%@wR&G2OxS}W4{cRIV25UrYEu2Z5*#p8Zx$%kIdJ8r2G<OtT&W-MksPPZ}X=(
z({k%-!`^&85}E;=6N(IQ9U=|(A+CYsA4^T1$kScR$m7Ktc>+-*x&U|{8?CvHx}AVd
ziJDg-Gh|1ygIjFop#1vRvYHn{$?ht;)!C<*y|2X7qF<ifh`_=u%{*u7buT_$4CwKL
z;R&O<Gl)&P)G1fbl-<DSevm>uGVe^blT+erE!1c~)7VQ$EBx1R-$EJgcDnjKQILuJ
zl<*Pp<&A}zA-ckJ7%;?EglV=#-2zyHP_L!d&-MIF#8QLuObG8ZTOuz3r$2kd2a$H&
z0DFM)va78~;!Oc8=27eTuY-antV4_b%*mA@psYFY=#bz~b+Jo@$2o9vef@^$!(>66
zck%6&jezPYy?f<?g>J;Jzrb=Y(Zfq+#qQ6=elxMxi4J1DNRB0(wFr)cv!b=AxV|F9
z63+bTw2Zuj*P?$&2QBEWqDD}vv%y`HpmvtUqCRdcmq(030gh?%QTBgJmk*%xn-{Fd
zQEK;R{BVGvK7kHh-i8<*{eVb5(sNfjL;!TGBdmX-qtH86Kx#QTVf0D`Mszed!}OF?
z{hJRn-bOtJ)BO{Gh=W>POoj+LD0VqCgnFYDh7J>K+(VuOQxE9SJpK}{62;1^lvgb)
zN)oIrGDbH|%f(>FxBEg}$>J0K;C=@`3gc!MOdF#gtf$57+TPF+0QqpD4#X#4d<QFN
z0s&FKjtoi@Ozt_8UytAu3s83Tj_m)C;Wd%NRjOSrNB}TzCh;;vaCZe}+48H4^KSIh
zSE4SM8|}1il2(k)e^HGeC{%;>o<sCo&*8T}2<X7RP-ky#H)Gf|5@hU;fhv7U^?PO3
z!f062?)}jJnBEqU*%Pe*j~^%y;mt2ry?^KSz{YWeO)rs9dP#;21HzuN@4`4(c;UkH
zxo@p>ZDEeMAP4q(Ll2UB3Aes8NHvUmCGUdJNQ?r1sh<~XXSKKl%27V^u@?^#r)QBH
z1ONkh&_*uoFJQ30(Rwp%=+jN&PF}1VQq4g(U;Fdf6^5M`_QohICfe`F(=GmQHXliM
zwTy{K9J>86uH9juq<%RS_H(5-#(m>|;Tz{K3j{LWvVNAfE9<zKtlbc23n75R8la%`
zm<WX68Xl^%(He@GH`oG=^XUbRng;f?2gaDiK#4#&?i%K;1Zq&0@KO;sA3z`EO2SyT
zrW0+d&It9+><EGK+bNm4aFY<BXO{Exk=6o7qg7&%{&t<r=w7rsj#C%b9Fu#)UXA>c
z=Od@pDVT7-+PjiF-!hNxiw4Vox2BC9MylLDiBQQUVJ!@|{g6mWSe_ng{H;|Ot8%z$
z4-$u)J{;?(Z$cf1M<PnL68(nE#SGO>?h}Cw(}6Y)(Kqp~0r`oP$|5A<e{>f71OIUr
ze&0Vo|JPHX6cUz=?yRD9d7t$u-Dfz*ck9fK7#~#UbstAL3LGQ<_zAHO|N05)Yh1G@
z!xq1n;$$6ObjQ_{?QtdlqV$!d#%!_vh1hg?(X16Dsdx<%r7C_UUZgwzLkOhOjoG~w
ztG1X7p9h41r*mW@7fbDd8z2Pib86M|?R6LtJI8W6TIIN}Pre`+E#FE^zuB9k7o`|;
z<$uTiC7`YL+y4kH3}3kcIsoy1@B#nO0Tut@B%pkRf+H?DI#aA~9FHgVdpDkz%gt9w
zO31w(2#y;nn3w>b0@nJA|A(uv?X;&_DBLPnuYVWiCp;bte#*~MEiJTY{`+J%`O_pq
z$)1bm%W<5NN8Mi;lj*J7)Q7ws%x~nxwLkpw_VeNvsfiqO-!C1C{F3`wPW6dz&F9Pe
zJT4Avl8lG`Gi-k=5H^L2#i%c@+gqf!i@VtsUhSn+mZ5dtqwrQ=MU+069h~3WD(T3n
z<HEUKoC{l(Xop=s(OEgYo{vI!WTYQ>9whrEs8N@i4eDnPJUAILbo4!$oi4lwm8`dq
zDI9CK&bx-*-)vnFvpk1j6tT+YPR)k%m5zq#?N&!4)y=CEMS@|uIG~DK#VB2d`(04V
z4U`x}tqzV9_%9mmo;jgm{V`kCdEz3=ss9!MENB?vnnv7u+($TuP6!l$I8L1kkDNMr
zTk=q+LcP#A25`OaN%Z+RH<si@S^6~{G~Dw%3_@c`1ycjkwUjc7En|*9r>AoUX0fYL
zL}G(4ojZ<TpC6|K|K;M$`-+^J^a#D-n`O>uhko^K2R4s&^-N9gkI5_5A%7_L+#b=P
zq3N!ex!@jZ8US=Vuz4h~m$IeBuP14xy9p$6j|hnu9Xyhc{R=%`+%B=a%6{Fs$#I;j
zc05#bcPD_PrQSwTyYXjYl+F2H8nv%j^0xX4r!G8-e|PR11|XszOi%+d8UzpZfWjz4
z%eZIqgZTXta#xy3y?4t6@t#6lzQ>OGp<Q42@M`|f?J3$DWmAOv;d(wumfT3OxV*^s
z_qwx57kIenT(YjB&EO=mpb$&pIGnypkvtd%EQTG)$GZWe^ExucAFQdj&=Vl6Ao5KB
zj{)9E5;cO@#&Wc$2q^7-ks$z6dD2$Jx;d*)TrA{+MeB~_A4OQ*XB=00xo!o^hS0S~
z_{4Q!7O@smk?lT_JH=4a`1y*>9ezq*frG1XjaSf|{Y@=g;d@Jr9Vjf>BBWg%5|v{W
zCDvk%Q+FJ}1~N#{PU(k&pa)4!{D;}u8c3znbq-dHS|nTZXS!6N5BT#)FqH28%wU77
z8KZ%Zco5(~@WB4})^7Fxvi1MmsPsQ=>{de^*|$5;b|=4b5YORZ2qm}?_fhi^dLK!N
znvYb(^s~<QA(Xd^l{UEn1`-mESlAB%PaYIG)Mfd*NA`@f1%#@J|2inOpBU6UB>YTg
z0nXtEwU7v-8eEY@rIxZC43T*SEi{c9q#pL82vof?TCYI;aqr0=pT|FcoG;pXnNIn;
zHX;2$mptRtQcXN6>%q56|CjOFm>s!`bQnc(wso)c=3IYdArjw5odk6F|CqRa`q5ix
zc+yz;`NNM-o}6TgpMPytUsv&*_I)MVa5+Xtk3wPt18Pew9N`Pw7l8-N)Gj}x5Dx#M
zvA-=u8cKNIQ9afLXsrF$`z?<RbX;Ix0UCQ3{v%b1J5Tm%W(zU%%7WtVcHOmX>phRM
zfu#=!>5`M3=cvfaT(frId|<x^I@R-;ujupD8^#p&x4@+r(oE(Yh#7g?5N#4?-}2wZ
zRUrnnsk@hsl;ImAZ!Nw%>pzgAKPkC%ak;&9I>0USWqyxfd&SPy%iYH?_2G!v^ID75
z=DGWC-l-vy)=yuTE{0gR-@Dy(f>ltd5&gyg28A?Z<Kdf{)9s`N4t|WH_lL>T22c4@
zG~;THC4{7J{*AM?e2-9zCpTWtzzSZ^E8W1>Pa6;13cP=Twv3J`SMxGc>@_<>??yLS
zRJuCK#VnIGKESqKC0Z!DR94VbKjcc<+=(AX#56>0)cyw~`(F{+a#eyK*S{LhWlswZ
zp0-2lG)85qR8E$~&c|j2a<S@SD;KU@giYkSmr~{pheqz~Bz4Pu+!u@N)IObUR%F5j
zR2v&E9T}Y5EuBd%JW+j6STw3N{n3c052Gg47RzUD4@3&5Zt<*4Dn=Z!l~U${6*_fr
zH);UHnu|>fk_4cv(IjH*kel;D@_odha73TYr4=U&kUwN_h7E5j;G};W6G`7nTIj^r
z0n89;&7h0|{gnVSgjy*^*!%IwQDF=@2xB-qdC7JPBPrw}y{mS1M56R>jJF_g@&P`Y
zkK|04q0h$-naC{F4dPS+V)n_Pb$l4t7!GjT%%9f}rik<j@l{8m!JO+~UvV3E^`ciq
zn6f7v`Cq>Fx_L!X;z3)YL;f}a(0!-6)FrP&@bGT7Q@YVWYmvMF72#cwUpZO~Im#S(
zMQZeLTp)OCp`51@2Mxx9Kt)G9AUZO3A3$egp*Ge5<x~spZPW-%GdOwhp(6G6*r1Og
zKwzBQ)otzoRZ-4`OJ^6H6x<kfQV=h)f*X^viLadZz%i}Q!5dv>xruiP$1h*m#&3lq
z@l2$i=2e|KzV=e<DK{ux9oI<)4(ulb2XcS|F^CacN`XV;cK3(Y(Y4NYasLzS@q&7}
z>9zx$2RsCD2m~Awto}V-%PYMveSE#aIwnYjc@Q35Oe;&m_Sh;qNs(s<4WPtSC|oX)
z8idAR)z4b?f|4Ecs8hqccoV<CyZX_Qs2dlK!>vm_Il6>Mpn6c)E%9n-qFX>Yf7bTn
zr8eaPl574DQy*#oSV{v4HbH&xI7Yy-TA7E-O$Mg`ac?qLiSdm3rxMdio_<ZO9@dG|
zcYZpcRAP8!!Hq)XEno$2S%K_JFw8rG6g6hL!U`d%#&RkS!vG28mjKxp1mvPNtl9&`
z<OqLe(eP3I<xok``Uu=KkbDowVyp1a#`4`R6`lR)R^g`XoK-^S-Bm})_+1*XFn|Wo
zmI+);0FIq?Y%Q;|s-v@$79MUo4dFsY16DHny@K)|!3jXDy>rn{e>}rQbAnMAvO~DQ
z9iJF^Km(WN?=lmLM~esU0wNxHGa;=PN8%45iT*L-W|;;=6~yGgsyTO63jg6<*3))8
z&${bN?iVK86BXA~Muy*p;MMJ*>PGT{j6Xg#p4Ooic2L=2o$HBy+oie7W~&d>OR6IH
z=5t&+^v{@L;G8btoTOqIyV|*!8=%a091N5X25Klot4{siZ(tZ6(3OFEWDM?6KCAv>
z>g}AGU3)~a0(;(INgg@l!`uo181-^04Jfk=?vg;hBJ~(3iWuwk3iv6WmT;u20P0?a
znX=DBlQ=YTfYNdj@JC>T+t9KwVgGpwdUPS+8_<_iaB5HA#U%v_rYo&}Ld2H)l@+GF
z=&RZJcFb9QXW^qgRk3+_F;yGcK=YYd{7=Jw!={TT_x5kN@HAuh)UWm2W(a<?lqnXq
zoJn{<z{^^{m$ti2)=$@3DFh8%O~J9~5EmL)OU4G0C{Gye2sIYzLB%Fgd<hWJ%LIOa
zkZz~5IKq@~T_!+qleN=nr7ux5=dB1`EwuVjfMPHb#-M!g2HYlXm10oWj&bUoSMK%?
zBL&D!*>>!)j$jgQGRRG>bStXZv<9ya1o$o~$;N%GE;b&MM<ynIuzB}>pqQ=)!D;;%
z^SqV1*}SiQ36q3`zO_ACapx_v<`6Cg(f1*jG*xHMED(1UDZ~gEG;8GWirT5QBr$rC
zf^)19f{p#u|0pElCam%2>v9AmDHehfPtjDK%jyGP4zQMO*Wa{&&LctLl9fT^PB#~o
z@QZJr51Bft6&?L3+-}whV9G3~3jVVe<d@3GXM!rR&e=>3^?Ne%;+%eH+53~!h<$V!
zz|+V;wNZpaC)mt`+Klzj=KpIe1K4Uku}YBbJ^<ZE2WUb9UADUtSlrG#X1BEd5DaPa
z!wG8Z_B67=zv83Fx-m}aIb5WggUQ?^AzAIzOX!}VWb~alDi*dizC3pk=jiCC^z<(0
zwZVjLlDTLwwpNv%(1fX-ij$Oz>!SWQk+`B4ZIp%(!1tk5KzP8Czyp?qpmg`ei-t$=
zPp*qNorU6b=&0b8q+7%CcE)G?L>LJi*b+E8ad0<k0Ja3Pd+aAYi_3Whlmr#sD}7p1
zOVc5HkROBar$&na762rUCZt*1T?#?e!(TfudUO;n($+7f!cv*n?Xp!T><aO`6SYzc
z=-Csa6??_uxUK<;pwd2R)5IJxdXczM!MV<TI`>7>RT%TT+aI5`7f#RuxF6Pz6=>Cs
z@qZBlB|#st@(n=a*lTRWlmvkRr;mFW`KfLqRr;`d4=H6fgl+y1ofE1KE>`{W25C+f
z;Rrv%`9+!s=!f2doAy_g5cc+8RRYgy6_mLw=o!9(F^uM(Oz|U-nC*dF0Ap}B{(DRz
z_nd=q<mOas0s2^}JWhI~w;5*!Pi~YVh!t`XIILjA0WYWslh21e5&4~mP6|LDI0(Gi
z6$tQbjX`!c7=T=Y0Nd<`^j+e5+SCM_L?=_bhFFx20tga78Nbdy?m3~sQtNMhc@5{q
zw;^fM*?P(})(ULr5Jl3z2BRgMHy5YQ1yv}W7o;SZzlpM|L(mQ8S9SDmjiT><*={9U
zF}=_t>#o~vh1JR{S-iGa3^T(htae9(ET@t|upwaSf#jD$<h{_rOhz)*e%OP^yEu<P
zSxAKNg<p`lp*;nU@+p!rAq^Az3<`epE8?9w-=|D7AGitYuUy^5cygNG5f*o+_9ds;
zof8gDlp)S?^W=X#X*09PG0)1HmW}$!*dYCGYU{bWa1>8U9vPl?Fw5TZEgkd*c@kE!
zxmu;xCW#-<A1dYE0%((DG_k}NFY+xiiKYv}Vo#RNJGKh%?O#?#Cg}v3#??fU9+29w
zY@#)Sr4Wp88!)s7_1@*^p8ENUFS7K9{A~q<C36U`K%Z=KJ7tA(Om_u_3!q-D@XBXH
z+~-=WF_vpkXa=?#=c<Tqeja8z-mOC{0#c%YoV3^J36(S%Pz?xK`2<}WggqgR<ZC<n
zuCRp^b8hXPfIQrl$SQvj=WA{SjyK2w!SL2)4?S3@-z)Z(N4hR<g+RW%@<pDBA!0IL
zj|jgg-O>GhcxwC<LHb-MX03&tD2_^M0&gN!7xpZiza6J25UPbFa|Jov=ABVjOKSnf
zjOw<i)g+6lw{}lLKGxMezcb2=P3mAjOb!JxMuDX{ithk@hzu;vGV<Q80A1Xi+gIu#
z8#z}rIYY~G@23Kl=f~I)f)ZnFS-JioavBRN3j6$%o&&r5$1N=l%Eg?6?)TzjG2FdE
z{IW0OXt*v}i@po#joW#Ddvtp|v7dY3hafgStgA*1zsoz)`n~prI7ckjM_`T?Z;`YH
zIa0F(b_pC;9!}Dr^s4NF@G<7xvkqB9Q4XM&f&Z(QLHvhcMhoZHSFp&!Fqqq<_mH2_
zdgM0k*G*?3IzUefAM=m0L{t9oY6E-b<ik!Q`=)HEE8(fR^v{M{S6UK#yG_>o4$TX<
zx_|rhaG5UXHpvCJMqU<IIUTY_W0_z#C?t62f9`Y=(oKK*Ao4<)83e!YdF>ECX+3(3
z*;g!Z%pC~^)I5wTSdL^e*fqkpeN2w}%L}byj66emU%fojlr~HUau~1@sjp;mY@9dy
zj%~k?lPrJJ#G8GbSta&Sl}+)-^QXK)L4!dVPtzZaJ;F<;VN_nez7(RyA9_J1IWhd}
zh>t!8KSaJw9Cw)Zqnotj@lF;(w~gx9`*-;t`RZw|<+r&{dM~1C-m=P0wEY@FsbT(v
zU~w5{SDSH!5%Q0WWpA4rlnd)j8~qW(;MeRGmE!%@tXYg<H~R4AB%km5?rLM1X~Bkp
zd?i80K(Y)U^n)qsyRh>!+oEf0-v9%icZ*jSXX-tbe4(FrixJD|hhqUhzXLT)NomWW
z|5u6J#<RKg<GHru&~erezMi^;4@g0JjHIZMV5$A-<Nub}`hNsqFP_PM2_QYj0<2bO
zE>CN=>-30|Ik}4q!^yzCrP=AD@BIdIhzwSfr(5?CKHJ(R8F&6`?A7#ncF8+tY0}{7
zcw_%wc-7lP!s9O_>0c9n?S3!!%~2}sA0e>~UwLKpH|~0KY=!M6_4*IHWk~|qEfv6S
z0dkARisbk_Fv#c56V1vVmOA3|Knb|xGmw0zS=RhjArqneX8%yATw_U#Huq{TxYEUf
zR3GE(_}SvaMwd~BOMj!FTvO-KU28NV?0xyD#cMB)-UkkIX{#IuOvwU<4QX#>UQX~@
zy19O*Xb&~5HGULSyETh0Q2(aR;7GV^DXAL^zf0Oib?$@}N`6&8Qiw<PSPcYa7`Pgv
zL1e5Crs5Efv)`&6zuW1MYI<H6<DIzuLPA~S--yf|SW)*d01uG3qu)RgDYBU_u?_Bk
z6RcySPLM(@7;~7;(@TVTGqr1pVPNYc!b#x9ziy(YEyyZHIn!Z4d07eSxrgphs#u}r
z2-;u}I~c|n)=jY9^FZ7o;z-EXe3SriFL~UN#1$?H$t}yNXCdUE*xT1SNzGnvZh}en
zrf~AK+>8G{-m<}_yNLuP-vUC3?_AoFTH*&3g=YSVwIF|DEy?P)j5@kIl)P3UyP3Im
z=!$qi2V52_KZ&sF`l7KzAPT~)V(3Gs3F?Pupwk=8D~l^Jrx(;I?Lm7+?f9--1d}XH
z;iRaa5J~zfk5hz~KzKGb6v7!;hXHi(H4pH0Aml)XnY-VBq?rY!=<oXAaSF(vYU+?E
zNs(Aqi=-PKiFJ^*HlYEQd`=_+ERaA+pnYc6j>!4~c31a_;Xv)4o77l7Vdmgjh)X7F
zQ$@uQMx#Mupvam3novPEBr?t%1;4la3%}#0<vQv)=O)eG8gEBuNP|<dM=DtxD<&&i
zyiO+ty+gFgU=&di&*{Bx&-%g2Al##LW$=~LB<eD7QQumT@K074?E45pZV{>CO<f$5
zlh_R9hQ7DJF1At-sRPqU?2!VafGYz>D%=!w8i4makyrkM(Fgj8m4qS10&@xSSrzHh
z+F@iesa^cFC(&GA_#U3!$xiLKb*S)AHjknU%M0|VQqAlI^gJ+YPCfgdgZ}6k{)W{r
zL0FAI#npI`Mfe_8Xha%1cJ@or_AhVIM5H_59f)!<DCznuypFpSb|tQrtke~SJ1|X1
z7t>Dfjup^Fe`g2c%i8qSit+`4m=;2rZ;23<i{U`i*p4ncs{HltLmFpkemMyNd{_bq
zwEh5sXbHJc*dL6p;{_B)V<{L1k)(X1oZ#E=BnnD-Y1=q3Mzvbvmab(Xc7J9DR)ypl
zrK^J5e9BiNwOb}JA&#V}YDaHPP@dR+z-T1W#Sb`|l@9@36mDCnR<PbdfUxnhgzG!h
zqmlVpg>d3b)!D0Z2>Wz;Be?8H`^#vh4)WaIRtUmwKvi?aZv=PCAvjdcvWT?!hqo0U
z<e*fzB<QvgHwA*rZ&(*1xk&QeQYsFh*ieOBaqQr35oHlIG-eqE>=ph{V$@{(4{TP%
zXf39Xl~&b3rpH!vuS}!R-lz!ZwGL(Zp2)YX5z&1F04HVujP8!c6Xj%9t1iaV6PykN
zzKa!_m10-KpwKVYPN%}8<}5wRrTwp>kY|noe=?{35U8>p=}<xqh`ZC0jt33Pb3?+c
zYTZB}um;Z-$fr?>FoflKq0~cgkVZ@;HHiOV4il5Bf40DmRE(Mbd(>-}W~d>OVw1p-
z>0l&^LPI6yB0ib|-3F5zApkYbt7Oq%<x0zzk3npH5Ye}us2Wq6s`kK5fZFAX10R+U
zuJUg{jgo+U+NTwY{5TKnG^xt-g?s-I4CVd_hSdHEhDt1YM+RJ7P`=A1ffkdXE2U;q
zJI-_WkmAACRrKGv?KtiTv@9?=vH-vdpbrQK3IhGiL0%1fnrn_fpYR-GasYr9Y-|4m
z-=0LZ??`KnekJ(x30_MFz<x0~ZX}*vURV3RZ*g5c`*OwA-8^f)v{gnVDFM5TQJWj|
zLH6W3RR>Au@=B4Yq&6qbiydt--b<qIt3>c-s?q8-BlDx}qu3uW=KDoGTYMCHWipnq
z!0GXpeS%eBZhMLiX2W-(MHuU{-3$}c?tU6e_9a{C`Mp@XR0J1g$h{6#0tTbENrkx^
z-f7)Wx_(q))u6otYtlP7_bBe;z5sI}rsnFsn$GryU1=*d{Kd{otxuj?vkzNl+g>8x
zkXyfZxUQ%~yRn=?0h)H^Y1%q<+=`;%3cs)z2~rFZyND;oPd%bzc91%8w~$xD1o>wm
z_#pu^9{i^R9C5)@0u$3o-)O6)tVMF>)hE_yCajh3H-J1Ftm{l*T@S`qWnFMw8s8wP
zFvV)7>=R1EIci~5tjI0i!$)+u*MeU~(WB*H;zu{)9nP1u_0XqVL|?Z(7JENW^U;0>
zZ%fCs;k(UEpb^LQn%(|;sT5i4`P2E!cHI2zBgLFb7tq`j0(yUb{p0#CVa=b~?9x@)
z74KcPbAod(eTHi$!7*&`?%WY1JmS%Q9DFye;sBiodN)^`Cm7NFv5%C)sHk8&=DQ9E
zb8d^@t%xk%<LPh`GggR}KA{K5JmDx^DwrUD0DJevn1)B6NOM}N(QkgS!l8+=OX6;1
zZwJBDf0-tKe!zUuo<s*+++88M@0CU{junWef>CpY9f@NFV7#=8h_dr7X@rKrI6+#1
z4aqah$G!IG;3WaIG*ItKPhpMx>hW!LsG(mR1rPdnX+wd{A+It{8;xRPMk^f~K0Qgj
z#@4z@RE>#Taf#sWk5ObwsqI1hTdic%7$@``)W_37ST6aIJlfIkv40U~4)@{!mOgla
z7@braPV9YWsr4H>wjl!Z<P{V3)`p~fw*sboiBQO02(fDbj2Jv#IE2_+eyNqpYY}H4
z_?(b9_Q7^5%r20>@NFy45$h0Q_%4}KSVDu4fb}W_WZT0ZeS${iuzOq|dJ9O+a(Q@+
z^_-g246e%<q^q};<SgJyk?&7>9YO8}1PsGqm~S30LhaR*5X9f75ry_I6R}s}L5Q>i
z;$AeT{jcnB*yw1X;OJ6HcT*D`7xgV741V`TuT_k@f#>m5vBpQa^m%&N!FU=~1E3Lt
z`&gkM=th1+2Y0E{x!$TzdvQ5r%;lAD`$nrf0ig#|0jr@+AL$nc<>yJLSLR-Zjz~^m
zO5JxZgYgu^WEP(=v$9VS&AQe#GL8LhLSlL#wCHTP&U^!D#grx%$DBq;f<MvVu^2;&
zUmA0+B@o+olw!s5>vPK)*Mv^|P5Xd5-g#8t^G3RRsS+aeL}36+0WY7ncO-|_ap*+`
z187jAuq$otuM1)zsPDc~ADPJkC0*|RM`}p8BO(Aso(;noP+o4O!oW48JE7;Kw!_j%
zfme#X?dqih_)GA@K04`yeB~ghHbbIaaaO!1(~%&q?Qhd~7DJ+)ZA5?yZwmi}H+~4I
zdf8u4Vb1Su)vOW6p(U1wdghPG72vcCGlwbmnn4@{m|gO;vEd*n%8hUg2&K(N6kyus
zfk{n@!JU4tMIIXw%E^^~_F_zjxW_s`ksM3|T|X^yEFX)sAqlCB&J>ftpM%Y9o95ps
zH4{DAzJ9y3kR#{z3e*uAy`t71H~JWxyfy-;A1^+=)dB&5k+yuP*ma=7f1YXQDYQd`
z)uMYHxHUuYEsLD8^p!B}u{Q$Gd9)mK2sxjhza^Nc%bH}L?526SPGs>>o;N10d9rm}
z@@@3lWa+%z-sy0Rr)x@cf6&-r{bhrkOMI@$(a!rEKC*M=8na0IL@wcNO@qF;f|Ary
zQ76WdNKIn1tTm6XMej(RX(pc)y}IhzJ+4v!9Hz&ymU80zAZH`}ZAk?6ZS2MXC*BzI
z8na<WdL4F)yIP3zy4Jg?CO=-8QTk^@JV-^TYjADYR<;)YI^JJzV!c1OGIu&azy2;e
zus+G7;{5o{rT+Y$J%i!yr4cRW#)xUl)Pod%x!ZK9>koG5;{%H5e26dy`im-?<fPtx
zf7!cxbfo#f?0A^ruy!yB;ac~z*w;VEV4;3$;B{2&(Z~_!VBLau&#Ke6Ob#zi20Sh9
z^*g4w+P?J{^4|Bmk^U<2*Tz@5N3zlSng%5+QB^w4#jQGjlIXm%?Zninv{_SpRJODS
zn&z6No3D6K<oU1tIL(}p2R=+K!sE_?LsaSE!-dR$bLcV=Gd^F!#WL?L8wfpdaOcJ!
zy*zC<HvBzY^ZV8KncVl<?*R-y&k@bZy87F`yR#AyN`U)qyxG~iZXro#6{YVVYY`xc
zWO)(gpP`{&ap$w;++5AACCoargVAp?mo$c(&GUxl!&V`8Nf}kUnT-K2WP&jm#wOKG
zDn^K8oA+!-*rqxOp@T9VAWaPvF292h22`3Fmk!(7D6?mU2V`w21tvD~G=@s|wTX?G
zwvBmPCJ9diW~>ZJa#dWqMhyMX0!}84hd_j$Td<&2EGW^8Pi^ae4$oZP`8s?rCD!BD
zRoSVV{?#xk%e3Lq_UTBeKmF*(?O&cm%G<3j2nLI@D)tjT%lqLU!eq0?{ltT2Bp~PD
zDl_G63nvITga(w!zh86BIdu@>)xjCv8Zgd5TFfR$i;*jQ?s@(E$1p@x3fWGlVXV3|
zZe&==n-{(6SD<@q-mqw=F#6=YFuP}tXvPHN(vP6DX8zZZ9WCv%N^2rlg6eUt_YOyh
zI~zS==6(eeqJ7zWD$4}rYZ2m7{DLj?XNOY~^~Wy^Bs7TEB-R2+&?`?dnmt%sXRaDc
zJLoJ8Xtnl4H9nbjt6e(WU`v*JywxvBdwwmU<>|rE#>K2$Qsqy&{j(?*me;C1*-UM3
zpg}7BZE*el2i4jDOl--35eV~DKS7u`!eZsy_AydIz*^eFIJ_rJLQ4CFSSwN@zMG1&
zJ2AYja&RbRf2Cj&K|L>ETc%&Jb0WY^`@Jn$*~0zVEM;f~mlzFqo@qhPSeYh9^o>Gs
zPPAwyK`@*}vlt$T$R`dLM8@&M6K@`bV?;XzrVZ#1r@WsK7H(Ca-n7G^_6$OV`1dd+
zvkt$xddhy(_o`Kfr70(lY`Q)K4&*&>CSq39V2QKVnXeuUk5?L|VkM@tgfpqG#4u_y
z*|H^>q<!P6a3>h_IDQ{2X%(-?8i5kp!N}aK<DXU!HCVnv^S+UnO_zL2c>#w$bDNIa
z5<;)K7eha4-K#ft6dZ@hC0<)#6DLOtmq}f4=`S$E*-N+Q>|Qlme^Y)QMzI(9=h)gj
z;*dB+=HsVUH|k*x%Y^l-mB$Wx3?J0}MtEM%>mtZqm*YVx6CZC<X|blb`nC2??9~3U
zbx2OtmDJlL_LL5V0v{gx#;9$qpEs$MEv)rrrpNAS^4}?AM`%c40YeKxhd|*zcK(kb
z4HD8YxC|O`XC{p40*0M8+C;>3B1>A3KB{ytwuY2TGg&_@{puyJK2za_o{ZYKzSo`E
zyGhT4U*HBQgAy#k>VW)G&n0Dbkf7|UY)^{#8u^4Ub>}%-_nlL`yKV;ACH~%)bniZd
zq&$Q!)>beh$R^x}j_cT_jH$5=B?Dj`TowJyq+MJUxMd+YM79+9Z@aiIs&S!HzinP%
z{e&306IX=H1FFo1kna@6owkqFiR<w>_{DGQaHpN89sMF|AFYA7qHLLqyeVtsg@|p-
z&*)x0H!2|l>MM*l;2nPhzjY^2L-Uzy3hASl;D#gqx#Jk>vo7K`9~5t0=;4yg2fazz
zV&QXaSLB*;9Fk4IeeD_94Mw!LR-IjU!gY2N`mbIqAbs2JuxYJ`uX3henh>jk1<0xw
zAu45*I;Jr=>0ixqV8lMs#VUZKftFm)evrtwCE5s4lTjeGX$ob%xQRouD4*nd2SLiQ
zXlERgXk$&0ySDib)ol6M9sCqOT()mi-wG@amKHPCTcp*8hqaJNpMNefgiPO_k-1F7
zx@$@hdALAwTbx}l+9jCLuoWT_zd&UwUm#Du%9U+H8pAYLGRk&-B%|haF4bshjidlc
z?}pwMfM6tQO~WcR7c~`CTzuz)ARBDC$@NI1aB`--H?@)7VzKRJdZ^PIRgp6-+0KWl
zrZL`CABD_%QW8J#kyf)Cz1F^ED|$Z-Gf6UF0xpy=$V{pzl$|u_6+ahZ7vCPLz4!V{
zsGV5a(}~23soU*CB)DyY>GxJO-K(dF`8%Xd5oM}1{zf~e-?3Q>WCo_@I}rj)BhJ(j
z2cS0M6;tKd&tLnFyuM!!zWx4Vl&+qJ3+fDSo468vy?>uhRMB9UhS+$4;&$eu%($1W
z(3?+RJ|f2uE5VoIwA4?p_u`6K+Eq{4IEr0dEu!wE_F5Gioti_L0eBiV>L0~Orf{2%
z>hm|FuG6VJIBfR`nh5bv#8+ph+>cPu;0PJfb%IHY#AHPc*SW!G+ZKwUnyO@@OR1M%
z@~l648dA1G=;jYGW*}mK7!gAf3`~Hk5(c;x%O4vbWiJ0rC<!NjNSm6`Oiz4y8Oi3t
zaCN6Mt}mr=7YWNGWLsL=q<Dr^p<s_eoJ)rL(q_Ef*A#vbgrMXV7SlE;954S~RF|Lk
z@Q07sgVEP}8H+#B`l%i)l8Mbz+_nTwc}p`Sw~2<!wM#`@0%CK~>H@3iNgSkpxHF`S
zW-6HP8R1QBs0l))l7)Zg_`8w($iHBRGBhXAHE%|A_b4N{oV&jaS&6Mb7twkKYAjGV
z6Q9vd&)gdlF-CM1j^F_4C`V?F(sQU?rX#}}>OP+9*EZ(*6#w|B<da#guhTp-K3U}x
zT{?CMZ}6W>UkWYoWx~Z0G-J9G;`B%v1%$X3b}_4OxsFQEgVqm*PKpqZQHQ&t6L7lB
zU9r(#-W-=b6)3y{3zUNZfH~+FH863pr(GhAc<OwsHsTy641&EUo6{jQ&tc(2IOMz0
z*+X57TMc0Htic2dWI75>2@2f@$feUl(&@4TKpK|18$2J_Kua?mDUN2VX@W_ehVqSU
zW|B7gr&zk5|4fe5S7aY1kLtu;86&%$&+NKxZg>=}y>#t-`BwaOc~1>qe@<T*Vv^H3
zWcuyi!>UgPOr3shR=$1upFUtb;LXB_Z;q(m{QUn>_SIogbzj>v4Bg!^G|~+MA{|Og
z3Q`g(NK50PTT%oBkp=-tmF|!f5Cfz;RECri`1a`Y{NDHd-s}70`@?gMdgjbI`|P#$
zUiZ4!y%bzdC6XrZo#hkU9Isl$B1C<yQk-;&vT~8*`tVcuWBq1ls7Qj!=6j#*&+oW<
zu=`BC4Jqw*1cp)KccSI8U)d#_H(<z1E15WJ6+dN>2e*Bki@t3iEa3${Lc?b0!8RQ^
z_B0Lcq(u-Z&UAo^srJ*-&MwP4Bx}viA|F0oQailhrBkF%0ytO_mK{KBTKuY&mmb=Y
z{c&G^y;pyJs@-k_rwoVjyLmgsYUlp0XZ*%5hws07uAav>DCrEeIGo|;$ldR9$anlc
z46a`%od-QlxTeHh6`*h-QpF$6?W~~-Q*+8a-CNpTy4J-+m2g&tXk`v;)`TkXbGA*~
z)!zt`uxj3&a}lt)DpS9+Q#`_S26RI7WktZjD@H(4s|@*}e%@K}_qI+=FZ9L8rFhOd
zj^lCNZH{+We-Cs~z`Dr%ZGq7q!!Ux!*hGLZ2@KZ~f_Fu7X5fDKDTO5Unx;Azddy&P
zRB67wepyjIqt$w&K<*te?g%k1fi4WUY7q|xZ-isQI`0u6t>4nXFqJIMh;YLzu}Q^|
z{I)wCSJi`Y`iYo<A9-eEUh{2#xf3t%)p;KxU(W}h<aX$LiJe?(IYF}(2l>$KD|bp9
z?Kv7C{+1{9E*Q7IKeHoKb-5;!eL)*nLq5Pi>`7%RjaT7I#2rG_4`8F3aq5bW2SUMA
zJ(a&0_@Xt5jOFn7xHPkGp08@HrOE~ksCZvz;3i8g2#J?$4IxA#V!)wbIZ5&OzAo~v
z=T8wNk3>?kkcl?$b&U}!cUx~Y(XYPA-2PBIxkrkSouNnMRTVLflxGJu(U+j5c}d=d
zZ@EY6x7L1-pkG?oIRU>PR8WB8JcT6|w%y*Th10z<qowyP`lD(BWDX_^ZQQK5idE-o
zq@k8!$dm4^%26d&iiuUwmBvwo6yy#`Nqg>{Rp8o6E^p}DeA$~d&RCODwRvDB59JEm
zQ@^|>h7$5mZ?)V_1&ta;Pl5`ctsUpu<(`X_7FH$DaSyx%wax1@6(tux(}l+bexxpK
z(hLFWF^kl|irpj&v46qEz0FDOb;`z9=%DJfbuRa~b@uDJ+VvS%qdCUD>f*~isjB7N
zXG3b<TUM`coO~jf{S!|$J3<9pM(`C=tM#FmXHEnkDyO`^>ZaqJvwf@Ttu;(5IxH^R
z>eDy+N;M_m)D#tKOCd|c?FTB=>U(bE9WLH4fof!1E1qqoLyWDr^b5Z)e4~=+5%VYY
zI^4KTJuPl>bIgVDKOvR={|c!%%5@<UtG1i@z5JCy?KAp}<lHQkc8nGBL07I*)jMQH
zrO95VMTVU08@oQDx1Sps%FLI0(#n1Q_>rfSH;E)_JMp0Ve0O_){3Noqn6-LvTJ+|K
ziD7^t*(zUI>UYocsurJeA3X}X^_T1V8Lq9Hu~Fng6_zcp_qv%;?M`DebJ$Z*na85L
zowwRrmd|C&36Ft<(W_YQL8aaNQzdstz)1e+momk3M=n|K8(q<L0n~$i(cRNJG^K96
zTgq4{Rjnn*Tf?8I=A>(lQ^fV@47$Xbdo!Vb!r>Ng%MFK7LLff-{EsXNo#HfFmZZSN
zBxpM9`h`*3%koFARU^>y^eE;+usK($9po#JMKwF7$vB&yx|?D;JYkoQA$HA`e?)M<
zzvg>L@uS5QsjX{clKZ^D*d;5)I8FQH^#=-8FRh5?O`@3PNl1WdfGjB4C4}>$t73RT
zRg57Z{iy4)hN{^2?wGX7o^W~j(cI`C=KpQeS9jYNBg1V7Lf6Ou0*EkN3*aZ#pgebK
zxE298#0^wj-~w9U0-Rb}sfPW>ZP~o_eH6W+p*!Ka@6ah;z@-80#e)qxC;%h3CqFa<
z;G_*{+~8Zf;9Ek6sxlu9Z>frA@_*C{Y`*2LNIPL@^=38jvoM8+i!lZNvmZP{$|4ZP
zU>C1&q`5IVcB785i6<86TkYLB*vprp?CS^`{n2(S4j;P@)Jq%pRg1vm0Y53HhxYtP
zsrXgP*Y}x^V2HyzE25v@Q@_u2<!8k7Z&*c+Ar1ih>;QI+m<MYEsCj(g=cOG3k|*Zl
zfVGz!WzOZxdeD$66Cobs8X*FOMkK;W>jN=?I|N)RBtWu?U<!fWR-R<L=e)GA9`HSQ
zPah^M8oVMz|J@m$3^pUhj519Tu^FxJ8JjFb^M*f?H>)n|$L395FlA~K+olwPqN@l9
z4rHRT=73C82wE!&O+rzlrXt)ylM#0S8F8We3Pm)k4!W0l*vN&O_Soq9L#~vEi3RF0
z)Z+zD*Qm7xSXN&*-AEI+mngZ8<-|XO+t;wtcc%~T2FnK3#*DD_U;~&m82PUJP`DfV
zeYt^=UjQTTo9BKvWq3`q!pW0jN}&A~=eX9Oq`jzs_fHDf#u3JyNb@zo*#K0vyjWs=
z2+PTKu`S)ps@+k)JD3WTNP)IwTrfURBIQuQBO}c9PyAa8ldLAJhC9ExN$A`X+C$S$
zbm~}Q&MEj=E||~z)2hQQu1RU8%3Q&z5vp*SD833Um`Q^@hFJY?%XGEh^rf2QPwR$@
z=$Isk!xVaL>C1Skg)!bNJR{460OAZ(XBMeA+8BT7M1B2p$#0g?a_6~QCP%;XO)Ncy
zyKv%>xze<NJ|zqooRmA(!ub~Cyzwl)wpTYpHz0XBG;$BbNw@)@Em@}lbqFB*Y-t{F
zz8*L~yhc!uHbXEvb2#FnS`QX+^bW=Y15Xc+T~0c_4P9@WPv@_`X&VeMSxc-5?i^_a
z@Wo*8#iy9bT270AK!v&k*X;n5m2L_hO*E78E0E@xT-*sy!&|_s*UDXbP%&Xq>{09$
z;j&;$qw|UVIAT}SFmimlOAt^Uz5kmIioqWpl;kcr5nzzfyJU9cc0taSR4nSB^L4nk
ze2i82O)F89eHA}34H+w>K)-Edjg+2#O;@D>j7oi@?V4A4bCsX(V%yM>W2;Yr@zG(-
z1)wXK=Y?*}&q^sGcrhe02Le4zf_uwwmYqbbA510MEP|>60bK<O5PfI^$*uR|`rC>1
zH(e!H^~=MhR*1cz9c&Ay(CymWo@ry>YQ7gE`|ELB?%BuFJR%U@qj#Cw$@q5hu{_Tm
zq2?ixr7kLTDvo=1{G8r?l%}8~29(%w18RcmUGpCyraL#d$0whe49;S1Y_}cYbjP$x
zAd}f^`hL+k5Rnf|u;Hua04&;o)6Qb}lWFIG@<wab5Y{V*Fi9Ne?)@9d!m%vdA^N}5
z7}Pdfdc1OvUEV5Ng(mnHlutx{-jcRxa#U#9-fo{0e(KKRS`sfYJUNQF1L%gw`5)c<
ztLPNhjI`qIM9m5_kG)H5YlN{r6Oxsp%H55>F+}pNX+FOsR6bs(rS0Ntw24ON5?(HE
z?Y(LDKktF$+-Ht3E07jarsM1%m`!V_`0N5nZXa*agFa8djl9_)y)EaCO9d$O6=R{K
zbF)?2-o&x_&0Po_!`kb5ip6l-XMsj+F$Dqo0AX<!(M^rPr@k*C+f5j9I<F*P`kp!(
zP?DlyY)O;)(YX-D(Ug)3N8RsRB09IR&;||x3%@EHNl*G^+NULVy34Ue7!wXumH<@<
z{CZQcAaG({<C;fC9ph_lYhrdIfp5k4>U-cvFBF_<DKXrK;8Iz}iR2V?aW$DUcT`s5
zwk6W+{OEP|M2%lkQlzbke!@{>wdoAn!DGaT0%22B2P@7~4B`;wcNtZktUV;q(F<i~
z4N4&91b4%g4^d8H0ROi&6|C$w@9u`X*c-G?%0M2W43N4=GPC)V1KnMLVQujakJ^T$
z#^R)1Hb+eA9<aRy!ac~{{hNWi)47m$lhKla_FCB8H#DU;bC?8i#kOTFCKou}07q}D
z+>q`WkAo+Fz_l)|9!)`U$aH4z`4t;Be%rI68#4p^7v_R}H`2ZvWp)e9VE8tyQg<MB
zz(DK(0j^o`kL_|y@j7M7kh6(;&SSm9n{%iqkwxTg_}K=_luBu5AFfCi;+KHBzZcmC
z!#7MaJ1Nc|71}+E<1n^=-_H><;#;9r+K`dQ4C4a`1_nrpcML){MY-QGIi_seuv18L
zXM8wnLJX36K%t#V3Q}K{BxbmF=S%pZaEN?tKZ`2P;JnsoY(KS)pmzTrhBZGwBBjBe
z4m5`VGF=>SP4KETmfFsK#cqpmFgK#~Y{Jq&>YR9zfS1chw9SahFfi@Dse+0k&2wHD
zA?SDq6Nbe@f<VG)p{=CJ^?C<Vv~fLnyk1cY)-8bJj2Yh%|BSbpx0albKO4r^u!;%t
zLSQIBZV3EP#hB*N&#UrfbXhhdflqezF?o+(h~pY=U%6jV{EQ}u<`uqDU3{gP>DP+;
zX)*UxVlyu`g>fBuKOE4Al8b7u207T!fyW#QhB%O#aXm;p4G)DY3gk(4aVPW|N^YL>
z$>9rYbI1W^@f2>h6lk_e&BQDNaqKq42-Y&NUD$yKqSGyi<4IfjrRM?0G(RIrmYyS6
zh>kM^FGA%5J#f&<V?cDwD_VZ;C2^&0G+Xo;@uPXm12S}U>(#9!#V0>#{wNLNy<cl@
z@$Py$>H3V1AnOOeBc>gvTrSPrP^wTvF-3>dMPv$~)ibVf_4x(z73alb5a=qfyZB+y
zho}K!y_$>)dyn}0p!ef6N?M-tnPC}g!cmkyTe6_amN8cf9MRKq=JMxC{l)Ea6v#}q
z3vvnyHXX~yJ!{M^;k^ZInjB7;*OY$-s?BZ73dC$L&Jq|^WN@z9@uz53Zfpk25RWqe
z374ef_u{`Fe5z5l^_Ov*zuACltO@H_ZM%yTGSo?YKi{tqodyS-OPsNgo>3upRoX|O
z9YsgrtPL?+>e&ZI6|ShOg{D1=CNJFS6j{d5qocs`ehMZBg$gD*95gT;{|i$SAMb8$
zPb=4BpUD%Gn^L@?-1v#7-!GfL-e-3s*$06MK5qv1IfcG}0ZT-M#~#A5>DNTl#EQzj
z3Cv-{>aGMGomP!-kTLyD%Q$$x>%BQrEcYO7C&w(3T;~2;e{R*yoV7B=@>xt;RP-PN
zlzK&CZh$!Jp$PJa?@^3x<K#m)Nv#FU$3T+%((;)>c;oZ)?k;@2o^f-u{wQ%WZLHf?
zUi%Za4X2I=qdH`mBvEXVQ=v&qk8i1vNd#KDt6*!u$Uz2?JQ%b~`Jj;^P{)(O*g4t2
zO^VQOxiemOG7?v#crEJ5vz1`CdE$BKR6@DJ%-+>P*yfmPz&WR<X)B7Fu~O<?7X0>(
ziOapt#b+ILqyEwL&7IDJK_}Aw*V-$oiiel#9M{fOQMF(B9s_;oqpR(SpFT3OJQXkS
z#{uH=BFh{np2ez{*+ZX>c?d61C5xJhiZ$pGB==M;oyhaWT&XQ9ejpE>oeI76R133g
z|H?qf_j0>IUdrc2;REK`IJ>DC^IOnK+*fzKp}Xv2hgCYy>;t##w_hFwtoOFo>F@KN
zam82tNki#$+!6cvPa5h@jD04rEJ#C*fHYJNpQ!m450bPVE?PmIy@p>CmN9RMx4I{E
zE^U4M%{V^`T}u0xK=~S9+u!m%Xs|m#Zfw=O<$rg->=(1toxvWbflb}ZFZBbW<*lhh
zY`PP|BYV0rn!SPi7&o8m{=cH8Lzca2kM;JC!otwp)@z-D;j>Lu_l<9Ji@o>W*!W!9
z>KR>kYE}mssl*Td48JT1oghDRhk?Bp6V3Y*sd4jzvi1J2#FO1G{Foz7zGPMUB7Z(c
zJc38ce4;$RW+M4|ylc7tNBpo9>cVed|9WN#uhFiG8IPr*70-4&XmTf`D=J&0-pe5H
z)LR*yg1Q}E(*ROX@BXBqMsg`8ekk}m7Jh|g35gQC&{igYF*^>S1E%|Jckb0)p|a$x
zbHuLif{j2V@%H=ixj#|Q`Y!eB%O7tpvb-FgZoFOPHQI;K5o}J)qXPMIX5nS>CinQy
zv)u~0xQULILL=s`J#$F+o0$~n55}p_)<^lhqszk-Mr%Ec{$aztC$q)P-I)lIEJ%l;
zi<98^5KxVybTLC(s*HD&8tpG#ZNJ5)`%Kw1^?pr35RXPPnm>=xxQNHGjnp;Fs4l16
z=^<-!C7IpYc4B_q-*Y?55f`xR`vl~G6p?S20D<#bjO|o>%&-Spgc%tV?qG+YUZkss
zG9B0^olu|6F<i-U&6H1C+NdyYDrwZ3e+*IK9JqyhxBvjSA%a=bgb!5cUrCswJ*-!8
zZ7&ngo^w)4I+0<Ej)`C9pt<{&9>&?LWuMt%)H}w_7l7^*?$J%E5okfU8#+ratP=Iw
zxM}@U{!%b2NR`|U6Q0e`dR0TEJV}d)lqSDxDjbd{%Ihhn+Lar&nLM_lcW6ipIgo}t
zk92Q{5h^R#D20iFiot%EXc8?rG!fA`Qd8k1xpR25aoB-t^rNq#(1*rb?uaJOj`nFj
zeTa;)(|1g6)LPZrR9A3lGiN7sa0{b-=pROl#3ly^wR*DUnfxUf!00}ts}M5W4W?DM
zjZasM7seL7mja`M+6Ia2V04K^QdxVYMqL38bp1P+qR-*szsjY9<Jpt<Ia#~=XchXB
zX}d8*4WDzp!j%xRn^IElHH1=Zi?7q|`DS!6J<p{1UMHp`7F?D+|DtD0JEtWxja7fy
zR9gWp!H;f;oOD<HnIf@n(sCELm#cs7g&5omqdH_uNU$=dYF=9Ld%CAyIEY>p*C5T_
zzkV(8^Ql2rlboqptR(&?_#+VaJo3H4<kUE=!*r-l`Du5{7&vL_^3Q}ujV1HWUfU*~
z!Aw<oj{8~b-3f;eigJ3@*gp^QCG|V`7Ol>?a@D1&d^r<~T`dX~E|(E5+wrGYqK?$E
zvw(g*GtI<ol8(i<Z`RBufPhqi%)H7Z6H~!%_;F1~atVv!dCJjQNl6iTZnRii%LdW>
zQJk}Lh5rq!L%gNgb9Fqjmh&%{YdU}%8o<t_`TRlnn6EqcGV<fGUYA<V({a(YWb#xV
zewnK&wI=Lnc>0D!o+%wx4@@M9p+{i}`kH(k3=7=#mden+AGWsngnEs*$C~4_ej}LV
zw-uIlHOk~WoBvsUVrG8UUj$>S*>F&LR1FbnfPi8>t_DZq_`%x;CL`BI>PNw{vb_zK
z6|kzv2kKzgw8)-hygDhmO8%fJIu37I6n{TJtXwIUKb!8IDGU3dPaPzi9o}f#qdJVb
z<X%!?NfQD+o4@Un@S)J^ogN4#jo*|pRgop!+#_>w>ZrtjDJ8ve`7h^UyQ8it(!7y1
z-w5rP8|&R~08D#wlNSCvrKs;-=#tl{4I*&V_^r%Qd9OfwX%<oNAVzp9%f?SPl+-r3
zIUl?&D81{6KQ_bbTehLHfy-ZiR69I<jY-~@RbY3I+AJ}}=1aEd&B--`mv5NEx(6k9
z-s^u7ntq6Yj`^g1FIM+db+9;yC0LGDIYnHlJN}XB2aPxXIE;OnZSpbb1B(5v_<I~q
z#Lq-U&Y(xb(wZ09_s6fVi%Q7jBW7FVujD+gdAtN&%<Dok9I2@`ko3kA?AD^YQZH^z
zzV=R#Z<+s2q{I8trByz8cu$x2i=bhrx?g#v0p}B(5h^kEGFPKEr`P>aKP=uWzJ@)?
z{?aaEZW;Vltmg@%(;Y!*Zguy<uieLT@YR+3lNRoeeD>O-uT@U(;T!ry&KXLqNtcxk
ze-qoygW9Hg=6f}nO$xu6)jU%Q^8L1H^+QL<ss418MIB{GxmniYt@<`6OnbNmEKP^M
z{yRtF)qeoJS8Z_=sj(-fGZSkQ-RY>5dm?d8^Flt9Q9T1ud~`VFx>kd_=TUMMGbdHz
zgu^fE{mUnK_8<Gp^A151lL4Z%RG(+RZ7ZS<Y`eEFrmSzV6<h#BkH+5KbnRg#=g?P+
z!}n%~%r_C*|5=yb{d~On=)+C&sM~MR%m^Fv|H+Ja6u_OsL(m(y^|vloV_nmsz-w3K
zPhISrmhzFIq3@$g6iKu%NTB)23O2jvfAoc)N9;$8G&@WrsW|!og7yeT-T$UWNRHxu
zyKuR0VRi6(C2^IY>AJDd20slWChkmaXS#Z)Me2ZEvcuB!i`WRf_cGdts^+a7L}IM#
z`#gprW=e%E#J!^H)RyooGkZ5$ou(ZK<ssTdP&#{Onl$_-IcobGvt>46z>oxvmD@dm
zjKz{O=P!8(Ai(EKGF)8)&scm$loLt!5BP=i99bE1D(I296&ANVEJaNnDnC<8`p>po
zfdxc)r+;LI#d1mN#plB0ot<Gp4fbK_`H8ZxQZ-VKjcK_}Y4IRz_aO~oTtc9RM~D#y
z_Vlzp00NX#wkAb?NfCT0417r@%o&-0!Dm1f&UHK0Y|yRjN>TLKL2(xeMdKz!a31t|
zRlh>sAi{^-?3m^^90GY>r~^n2gTo)mVJ6vQfWI9rkT5U+*`le1lauZ)aezY=he$#H
zsmU|wU;t>=Fu)O|&<{KZ9=HWO@RBNJjHYN7cTMH!2%E~u3*J|E4c_sB<=Ls~t>W|y
z+_YhpxC5ga1V+^xq^1@Y01kx{{9#<xms*1=N%1)ZKX?jL@DwA~`d&sE(N%2thY*!{
zFoSPjGyw#<vjWjIhJ`+W`$+|Q&-Vj3?avL&fE#E4H!!TS6L5!q7af%7>ENY1_<oWm
z#Gtw!9!52xry3H$2}+vy|1D`6>wy;qa{=^FENAO66(JCN=nEJNe?o*Vd(smQ&x`S(
zD-(X)5xcq)N3Yk<PvE)?WmcXDRKSfI?1?}v6?h6zPX)p|Lx5YJUW=p0u5i1#;$2Z)
z3o0|867`@7b*KLl>LP0d?P)VAWB&qMw$l`w`uTrdMUl}zu0q>vWYe19i<1u?Ak=|y
z42bxGd6BzIe-HO2@z}jwR({Cu=%HTM4bj&TUvuj)p^D#d^A1o{+D%>E3m!$F#eu*!
zxtsdAK(y*y5JPDLeb`|KF}?UN<v4$f4q;2RdEr5GTAU5HA!!i#fVdDSDT6tb+wHW0
z#JoC|mlsC5GFu-K5;0}LC!bJe|4K`Iw}Mut&LWRD-s}Z_rL+a)+JI51U<(fD%BY~O
z*lw!le7JnubS9V&L{m>zDy`#;qWYAt_tiRechLw(n70LAu?Fa!O>Cv8YRfE<!>w<*
z?lM}S(S#UQUY8C22xT}vs*T8WkNReX*}u48Q!Is-KHxj{;jx8;QP6WoV}ghIQMdN<
zt1Z+fb*tf8EtUq{0E~}8FeMnD!X5f6(Qsmedxc1B-=l}s?)S|*Fg$79;RGF^01Zqw
z>0F@X_0?MOjcbQe7}j`OvuhYR%`a0Q>Pn#66Dv4`=7PI{@+c92(47&P+^a-x`+)19
zp4WXh?ewn$Y<Rfa-*yznP!Z2nTazoWgu7l=%`QYo62w9?K7SZXpFj&?vd(594_P<U
zDcFMB5OzQXfl)2Clak*uo-aVM7Gpq+m%;ttV!X&1ILSrs_psdNiZAi;#<JeCl&*La
zvq4fn6zPPvXxvtee(xPCzFqD$xwDL&umbcy>>$hdia}JF8?6yxyxr{|Y{Y6MylLli
z30>R(F?{LOmRa504z?n>?FgB<=5d=C{w!~l395tJMbovD`_~#wEun`|cJBFS774%G
z6)suaY(uGrcyu&(%Z&qVFSKmMPPe{$*f!dvI8@6M@sexp_R3qw)_a6qd6AysLWz3)
z3o3~Az5Kd_iQ_Xxbk>R?mf^vI>UzrD%KoB01RbQCy#zrzI!2!s;w36MdM;;Y`8qpG
ziz`l?Vt(6@pSt+qxfaG@kVN=RhQ8`SInDi-CU&*2+x(tB(Qr5^!EiU+(Vr_TH`Mfe
zG`zX+M95)g6{F*Qc@)J0=ojg8G)f2w=|o=R>R4_In?0K0S5fdZ)u<zVAqFO`#IOG2
z$3#K7)SyLPRtFcb2`(mEilrCJZOhga7zIA<f)D6!s&PMYw6--Z$aq_8`$U++JtfY9
z=Hg3>ERBswGN;j!j>GP}hlp{R-P0vsf_4QCpuor$q5*IV4H*@V^P!2(4X9A&=^XjY
z(E}AF=SR`umE`j=g{HeV?Xgu3j*?T%1XE0@f;enbdKw9rwMvg6g10=+kk~f^g^2(g
z8BEw`0E?%RcTR0+*vP`cC$L87w$eM3K4O}z&Md=pZdeVOttR6r+gRmcPd7xoi6t{v
z<?f%?LPeu7tP#vJ3~h*C4oDiT(g8s$;C#LSje#bGzxc+h@T8x5G1_qmUiTrynf}0v
zPG7wPlaMl}l|4N*rNKf>A2}|TQivXs61RweT$!f<#R*v1;YvF`xV;Wrq~S}?a3slZ
zSYz9!1#z0ia8m08OU!s+0QoF%+dyIt*x8qj;4_H1>h>KUtIZtN<mo)Dtozr-Ld}`)
zW!hcbn=N<MJayzM*5q|Kt?x!=zmlG?>euKOPdmzta9qHzmqP$618;@O4ehD;0vGXZ
z-*!_;iut1dPtUzqUL*N0bk(P6)_@3g8)5?VXW*iMWEpT#xcOPz)2@_;kf;34^Aq}l
z+~{6nXma>-$n}}M4x8U1cYb39AKQ@tUKYUiV4I}DE!UYWUXq%T9x?rBTgN8NuRtIr
zZ@Giik=!4=O0UAxJU{XezwI%GA%%#;srx^`m08YKe%$@i{EjZBohb9|;Oh&CAaj;z
zl61UM;o}Wmok3Hj>-l4w%dsYLnQ<Rmx0!U4U}Oa(vIJ!{UR#K|#XR{tUM5`g-DjS}
z$9ySf7n;2xcuL3rOl!R1O@MY;FDIkC{op`J5Trr;5|o!>L%(szBdukI!_F+9_~B*{
z?~@9*o-s?qTy2xJJXEXVtgt~x^d#yS2&AT0f(?R^$bRa5GS=C;_u34hq^wMsua2s<
zw(amiS`24{2plyC!2uS%`|$#%^vMerUb+d>U{auVKQ^LKRLjK$ls}-ofy-knSwuu%
z62_L>FP4X!_fe5dsVIz%DmIW{UpCJ+sI)WjGb=Ut=^0U6APxX#0u<^+rMUFdML6pt
z_LB+p&18~>n{FU+YsP|9Nbhv?ijvC^xOFlEL1Z9?{I<sn0^QkH+k$Lqb4VGO{E?C}
z2i1i*#*LxOAaeB&W==ZJ;D}^)n@^psr@2N72WMc&9CX|;{6nw<J~vpJIA-%P5G}wW
z4Hw2i;zBmW3e^de$1wS0q!c&?lQfLxhfcY!sqE9$I>>jW2mETdA4bxZj$o-^jnD)U
zccHeeFeagylg2i$Y7A>SYSbU4wu%a7twObV&))VIc@VnoG0#po^(LU*A7{<&<|*|W
zEooiL8S`Y=Ra5>!6VDEM;98x~$(RcLZRkJQn4@7)>v7HUsb8*7oAC(ef;Oi+Z0p2u
zY34@ObzAv7??;jI7G@Nml4}n-tj!PE#tNI%L8iX&Ch5mQ3N&NAaB^iDooh$+<5;uQ
zra#}0VTrWo#f^MGk~ge-iA)Sc?Z*m<0?ZjCBLME4)KCySK0NE)Q3_qRhQ)uazuoL|
z-QOSErmYzjshoMY+$<VrJKjuEu85hx#^qV7h)Um)?Vp_DOD4VOA*1)+QVOhdgG3SF
zDIA|PI09P3J^Wh^yHjHO7x_L@->E=hYT;S-y!wOt2_!e3kN1Y%INi!{Px*ayA|Lu-
z{~(YO`|@aFr?8Y5=--0E)Mc*BY{Ii{MOX0+Av7$v6k{gqD86wR(As%_b%N>ZI*4x#
zBb%_T-X4AVWOcFhi1E|jWWUyV`FL%-ZtL**{$o^2gAZujW^a{nXw>$*v7K7+?#P?w
z$4y!rG~?c!&+N;7R7e>~NF|i{R~ippGbGQt*Cai#{7n}M;QS&}N}?-!9yhybp9a)3
zmN#C+vfa7-QdtU5)g~IZuhG8s_NZag;9q9A_J5+Df0^Nc#_<2b<EY-M{NF4FU3D6J
zKl*?unsrA8@9)qzy9P8c=T>WTwBa?;NfWk&Gt?qbXLs^(>$K%-JFg?N;QS43yKE>&
z-KOoZn2%Yb*~;e0f?m|OKb&xh|1VDXUqJ5Q1uvSuAbEFHyAJvz350NN>*x29B+~Tq
z{?oLr@WeZBq}b3mZ8(Q+1|K2*N26UV^c`BGU46E)saW@tXYRx2v!VcR&#hc|x}07q
zGwxwf{+gP%O*mKuvn206E>WR$SRD+pvZtj&g_*qn_D0AWxBj<2D)?Py5RnwX<nG{z
z3&=uI9P$YfLyPz<vnF0WuS^}a{-nh~R%{CB?PT7?a&IVnEbBfwQWqv|vDblkVE98s
z+kiE~Ohj)j&M*yOwOrW85vd5Yioq&I_|Ga9EP>9DfGxCh@l8capkAX!>3wSriJvZ4
z-AKYd9G?B8ds@|2f)vBo4I07(874r7+JVWTGa8*}0>nFPW{^-PVs@5;$w{xmcY~+}
z>g4|=3DyaVaZ>u#TKKca_o_UfD!(-@)qM0=ymvZbMoI{*)HTnYGexEy)P?)5$cBno
zYi0FV6ViGrT<M@i>!}mM@1ie#7hJjzEYDHU2a<E$*vvsuzw(~#fe`c0QS>tgEI<hw
zY!c{mBM~>?5@->74Gq08Ala@T_5>#v8!R~rMEl~Ir5#%Bz8TT_Sy(R8q4#M4kpnFU
z(9vU41OqY1OYLZOYap{eZQa#}=m<Aw9_uxuL=<-UrWC$<zVcZmo}87r&j8v~9!~h>
z275>x!aw7IYX>(2PT5R>8Z6JXAbey8<cnHBzL2b~-i6sMKEnawSP0o<UM+$at_IEo
zopS*TQ|9>c$BSu~=^IV2ts*j{${98?zg&4I7xLLOA$2xW;Vx_RlNpBzgDEbh<l7u+
zJ?G-z&3>i+TvDXI5(hmsEoP&+L~+I5OXl?;r22lBNo~R`n5=3n2xr6C+v;#R^GtC5
zB~fK@z^sprUS}{FXun6o4%+XjO|FIr7-%@&7;bIIuzbCiz%cy6sM;<4<~bMBZcmf`
zxfGT#>kSv{{3G(~Q89tCOr&n#^NjgCowjopJ95{8$#wG96V@TpB9?n^_Jte!19)tj
zEw7~4SYTyjVr5H5nEm>FTpsl*+TymWvB0yotQ9dXaow4S@vfot#M_sfLh}>j`p_db
zD(>X>4|JY=<;Ic!iYcfvKxA=XX$zEB+CV$yj$ijBlKqAPKU0?~8ezU}A(vt_r6HRW
zn1R)lEQXTl0d+j+PoFl`)0FAlT3Miz=hZ`1=tZ!O&(?J28f>&MG9wM-<w4vr>VcpR
z#<C7M`_^3LS&ghPmo`oMGz%eS)beC;1QbA%Uqym3j2HpcxJZ2Ypn->aQ%rAQ0y0Vj
z`7IFzSXbvTzA>EQ9^CH##0>r!bdkH=uNrr-`UQd{xKn9r_PbizX)TDcr%VJ1HY-!r
ztzM7p>Nk4+Ow?x$+RdC6{{3z&--_Gi>1lt~_jf3cv)7p0O0w(UwWYJ-qn5|5Wd?t}
zo?3tCQ1em#)@&#}p_*faE(3_y!#o^ZL<342@4L3`Dhmsx)fi-aeCeeh>lwId&zwVo
zvpy9A{ruFz(-u%(wYQqJSV*S%yiMl%7|Vw?z8d+Gt`Db0rE4zd`8h-QSzkS}ZrIY0
zILhKxp1(1{cpY|nTszyI@iWInb9D&%Zgpk;>!IsrY%#6qEbgh-^zE14-wc_uub(MA
z-ubwA&<t(99B3*H8?ZMnmKBOk9kua)dhi-Wje;bh7X0(iY&_>dt*n<dQ7rR~oxe9{
z(|^yp-HPP)xe(i1+k{Yu<??Elzv?IQm0mf&AXIbpab_msZk8k&9ra<dlbJhQjQid1
zH}yqTH1J0uUp>ipE0<l1`)k+(haZnpzOmf#R{pk6%6rEA?TYuCTNheSHJ!xwrA5uz
z_eVZM^RDt&lbdcO<2wv0>{bBQnG>Z|WxhRa7SD@Wz&fKZx?Tl+-o)Q$sbqR0@Zliv
zck=+|w>MMhUYk{LNwZA;y-Z1t@hRpPCPQ9VzxwA*q+2YObTgWE+@{Sv5$Z7IIs$-|
z_k9aXik%-$zr40r2_7mSjQtkkVq2Qkx&0tF3UyU|+N+Ds?_zD&--qEdO8I(ivw<2b
z^?J)64MRn!SAI<}>&IlZt35>V7+RC|Pd#)GGDGG-lTDATLlyQKRdUp3%wwrc3ri}N
zYfHbc!jy~8w2aMR!aqLxvRKo;Zh%{B0Nz%>`zLHiB5^`{p^c}T94=l}DL*_ntq7st
z2%pJS79eU2+W*YJecnhDG$@0<mDG2GWziS#p%v(d`%JFD*VntOXoBconX1lzc9pd*
z+%`V=5j{m~Tg1v?u&=w_>Q8e;>e{&15pncd=jStZ8~WFUL=FqO4SigYWFy|+W}Beb
zroab`rQ{#-sS<3+KfN{~IkoTM3UbDNxr9>Flqq?UE>8Z*gXFhg$d1TQb+NV6Xpn!u
zemQ#MvUTHj%!{25nGyO;VH5$Ek(#F{WItjL+%?#BgS+lW-?ec?s2uvP{W5%Ed(}e-
zrqrmAyGWvDM#OyudeFic^xUL&gx}Wy%{H%LeyqN^90V2GEWtIp1xYaZ=6xI%ZRxO^
zM0LMP++a5BWbjKBZ5fjMY31bgQbGa0xdIO03D73@%4s-dJI?}DVbW%sXBa+qA^JKR
z;4(>Ff+RoGVzoC?P@52b8BAQ55J<=UNTnSE<)Ji}j^c7dm1jCJb#ZM0x2=EjcL0s0
zY^dgNpm=W$0B<*Who82sM93ZI_Nqy%dYp?(l)hY`1pP?gUjh9{Z-IWKGEaW%zkIT9
z<tah1eiH5>#iaA-`^Y-4+o#dY+iS`da;u|6{P37bdpr$H@+o!^4z^GgUIz`UJ)u`W
zh&A=v#lHyAU>_22fbQ~V8eKhzr0_e;{m?NhXG|a-ztAMI*FQh9K-aH`Q7WPJ%sQ_;
z5Mi!B;XQ@cQUwl6+murTQR+6oIU~hL`$>2w{0`9N!DA=spz!wVAUMGD+keAnyI466
zFY91@)u4xESfg%>M%3J?^&;+-Au}1lpO#DJelyk<zFu1xl`s1~Hegsmpj~PyjQ4gn
zmL4lTuLe5~_=9T4G1Mary4{rAtk)#3i+A_>t*6SrTdbMllFMAI>F;$50$Tl8A9G9|
zXqnb)rofPYKa9}hUKrutMF5gBqSt`$@pl?0^`gdk_h)A<mTH3prb_rgV(^q-N(HXp
z63&CKcTa{OdWotD1%qY>x62>PdCsq%)pdUMsyd6b3p}z~2~tt)^SQjH#~R!CTtL)I
z<JHnDlI4Iek7~9Dgm*B7ZPK}e@$`Yfd29OdRjrljF#pYo^xwC1apv@8`V|T5pJ6_%
zz5R$IXtQp*7&#1}&R?v3`Xd-|*<Jjy+Xjb;Exhz5rX2clMJR~N48qo=3#!r~4&=el
zj80(?-3&tHHD(of1mtER1m)lK+Tin@ICQn22?d#piuhpD?%l}NzpSqCc&VAsPsNV+
zLK=^KwLwu*c{xT)a{Tf9SAttb;s#6+MP$8LdK|tu3dww+7h^!orcAQSTdTgVsOv=B
zH)d?57>{@Ou%1HibLCCLILrM}A+yOkR)#CH*B-37rLwsdRL=Q&tIR)19i=NNJ>fpG
zY>j)Gm2<BtKsxJn{^ZGSE{0>8r4o^(=i&bS1(WB9Qhi4{wE>0>wPzGrfr!26CV>#S
z)^y*|PpLks1FJ^6`doF(ZK?XCimQ60PR@t(h|!RB1!H$8Ox;(t*fE#9)Go0{PxEDI
zp&V;lUZ}2>2ZNz^)Q#MfgwpUa&(iR>4TZNfW0_B$rV(CiX=qtM?X)hdC7)%C)Qt{s
zx)%hbNt3u(#Bz(ck!9Pa$1PAw+b8w_Ued=U{sqdj*?LFfhub-1?i=S-+RxWYg)y~g
z9ps{7ky_c1%FB}=8PWH<wSK$FH$>Qu6MGtsuwqJIioGpdM}SF##E<S0jme6!^*!+x
ze?iG&FGsx{0M{pt5X|PG)!}^3Q~Mb*$_@>`D5#o|cJETK4=c?!qvfci=}Ex9a4a%5
zYg+v1+OYgd2Kb2~5hRudu!|&&LSPq2RiRlQXu-Pd0iWkkU|OePPbmQoxtc)?c8XtV
zZBD$LbSo`i8d3G2jLZf5Pq_P1T6)9gpaoqUEiE>4&5-a8u3W9UtuH3?eRpc`+2C#)
zej@1`!EE(@m2h?O#9`){1^GLtQme@*mlgZp$ssY=<dc|^A==gylZ7MzO>02mg8n1f
z+R@H5AGqu|@a<FmWYqXjY%!i(B5oMDHt7^V?&NM_PcU}w_!2+(T+kOtHHK`sBYiI^
zl!sD0)^C0E%eQkfwRzih!T9Wm3tQK10YlR7*Bc(UjTt#x)B5%Zc6YGv^n+gHWWI&H
zX5h2NlM`M!C5vV^W|5fgaP=RekU}SWfIbHv)BO3-@<c8_!U?oVHba08%E0G<77bv%
z0G}TWs}na@H<c#KX|eIJk~9;Jh01LkUt(Y5@IwHiF*w!#0QcHlJ5x|b#j>md$&8Qa
z0rIznw138mRw%PEUB^k|&R10{HD2R!pTp_v7fzK9i*n|VrJ_inlFE<&%<~(madU^M
z0abIVgW9^{vv;hTKKoM-D9zhs?|g87VJ;Mts$r$K{^8ceOou1(iFS^Y2W~au2k>8$
zn`A!>Yw<&vz|T&y-nt|CgHStPFoda@a3|Zzn|&bc6fY&(1A77P3r+@c4sdo0HtlD`
zvEqyrP>LWU6Rsu>6TTO2w%aov8S&gGNq=RMF$6g{gvt3MN$*HsBaJ4$Rw2vmK;nWa
z+d(XF5XoeX!vPLaInAgJR^89PI|TNV0|hGtA8?SQjIt(5_*Gz_ng!dwcOyY=2_vin
zDXj5liyLs*>5T}pXuHl}p}mg^QPhEe)SK7z1f);?W*}&k*6!<C_ZCxdx8Np2NZ7so
z3x);Q!to*}Ndo@CdxL&cv`0QQwzei#=oa*Z(dVyVi~9@hdX53o>fy%{p_7sv;+6uh
z1Lv{2nkZgxTKP+ktE=Ze%Ix<Te^6qKJaiw-8Grh@+fe+2$;3!*x4@ULBT!ZzG%z~8
zOaAt_JcKMa@fL08?>wFZ5IAfU96bqMb4eJy6YN4fc{COoaV2Rb3r`5ue(-vOeLh0N
zGwz}OrT7npPyGf%=~&J^V`@UJu!sF=4Bs}+wc9JJ5N|pjv||hOv*HMNPlkGV4BSiZ
z!~W3KD@u594g<<Ezcz`?6d-DinM8fV&7s$q6)QrhkSl3bsssCMpx*w7CTyq^c{XUD
zH}Pn1qx>y}Jg*efO*vjKL3vMx$a(79i{E>m7)<!?U;cjh+dG5#svFHWE-TlrDLXmF
zMC^%i--n}j&g_b={1jul{~D)Yzw0Rxz)=*h*5OE;t;tC&zbmwamZKnROWwOh!mHP>
zy;!~}w7(N5Ej{{}M^-{8_GK}lY`SY?Y9G&&;;IiM2T^sX8x^Cks_PzK*?ME%UizuF
zYt86evD#!r_moa(xy;Wrh3~oYZO%tR4$bRE1}A&-rzV3(kL=Bx@~?zyNrlSK7JMmr
z@$M$h`lx&oON*EE`L@-mBUCH6W$lrfw)r7$X~i>xnKLLWBB2QN-*@F_8l;Z{*Rl6Y
ze603-rbxtux>IE@>HPK&+K*0+SlETmruXYlP7L4asJWKNN+zl;-^q$fjjLnIDhbQ?
zFLiFEb$B^4^iD8k5qCPS-Z8bV{zRzWw?f=AY{h>w0Mh)KDA>#@aXn0?M1OBjZ9u5`
z?PVrUYO&**yWKlb7E<0mALzmMsDzDb_-V+J*<r-e7oIi?)gfU?eVJzVyf+dzAj``#
zCLuR@3t4*e?9G#7pHx-H2?v~y=IpK5lXg@L8`=ME(CukC50y%U8oP9(u2u)X6;{}{
zf`V(}skusix~BDAzTS@8UK{wjq8K!iGnyuwUGJYw;t7|tPA3RWL%I4VN%3Sz(hpr5
zS)7HFxE*C8!mEcEvpzVantfIXGqPoPB+*SEsrg&Rm>Y-Ju4(k%h<k3nqn-_=AEx0X
z4%K!b^DAlWE7jN<thb!O0x*eGRX)sVgH|L<w{udJK+H|~UorQ?J{^YFyu=2kMZ1p+
zg$G43t~h&y?0YU&#kGAh&C5q^)kD6D-#qgkCJ`Hsj&%{O=~Q3@VLJ^9?_g`$q)A!h
zYua{Go+nA0>|dU{>Qy<Ora;>Rq_S<~yc^u9+dI0Mnx2=muYVE2TA&1V!lHRcbOhda
z2G6w({n+`A56<4KfL~HQlw$=Q3R6Ad)7!Z=#IlE>&QLOQV!ePUU7(Z~hD7nGaLE~X
zt5uecSo%;O1o_BmvTF0!AAEcjJf1`MllJ)j8w;u99hnt5dijh1gt0H@Tq%@cY7>Ft
z-P>lCU~Gt4mKo=TG+H7&3@Ia$mwP|7;v1xwHZITFW0GC@YIP*E(Qcy0Zk{7_KIS8}
zS6k#M?oIhJXi#~UBagm;0K@NaJ5-@CmMG-lm5oL_CZ^LbJJF-WaogG8Uc41?XszeR
z{axx~gQX}h&IGAUqKo{j)4{XKi>=?d1+Fz>1O;z)QP*Wopl`7W-zR>f+OOWbARy0L
zgHW6fzr?o#UY!w#;-qTOEG$xbFcUFna1zO__+8g!!u}WKQDNbb-y-F<#>g=3?)j7}
z2<OsaT_3j&JsI!lk(6twq2P8A_Bj{U+k_~3OF1-btG)rAa!8NYO$G8Ljis(!!4MAg
z7a)z$lZn>)j_tH(gTDGc&3@h${Js)du)MXGGXaN!1}^@wo7-GW%))V6x{@cj&&lp0
z?qNUAv%)-jq%79G^=7`Cm%?q0(w~{gF=J^KB6vE`OT?U69HLl;9fHJ+AyQNzJ&0Op
zyS6PGkJK2T)+OcI|ILcq%<o33C~Si0R)8o;u~c?%bI#T5{n(denkAwAiTh|E<Yt<2
zi0yRXY6RcFN9sgou5!#^uq<~J?uY6d7|de$fH%Lr(b{uhw*YXKDo<M02y?mkj0#a$
z{G@$|;HhFT#j9<&4*30SQ#O$oY_vZOA8D>LD$zFh5{sA>z=&&xFtDO#%5aXLW|~Si
z?w08RHp_)!i`kV=kR{gc1CZGXtlxVPku}Uro6I>N+7X4U2}zv0sWplVI^3MeaFg%#
z7E#2Eiy}y4?odlV)p!@6j-=!_G{sc{Dxu*Rd1H>De~=m_)=~?(JW@l!NIh@Gfympx
z7IBs9?VjUEg43Kavc>|SzvoG^;@pwTN(vK<)RsYAgPYi$;#q)GKw5k(?e7^DtoQH8
zRVKZe3m_0*WB;NZcl}LbQDvo{aeT3cT;G!zclLqkNhAdWVXexNGS>{Mt@qO$<Hx%S
ziW#U!dZbr&m##!VJ-#rvHYpj&iwhO`iN!!AiD7^V#SnoeEeiN+PLlJAQ*rDcr+e>W
zZ~n9uUM@Q4CB#mBfP^V0O~TX?VPWo8v_E^*WC^)&J!nWMFdO4SVhRq-I%q_%VOfFq
z(H1Q9E<)F84`J*bB~<u@6DOgx?1S^1B#RkpOfyEO-#=ZGJHS?(Ru&7SX>xHk#&KfI
zo)JJtOr1e5_Ho@&OMc-EKE5l#IpoKf@*%nl6vtqfIAIlfmax$F;Ut{acQ;UpP%hBJ
z6vA76XV-)y4aNs3bdCA_9Uo~{GE13kT7f&TY%m4xdgc6MXY8#$OV_t%gK09iF)YD^
zXn_fJ5Ntc4+CD5sRQv8iJ4&W4TE4HcxJT~^X{BajbAiih*~au}g}=X7Qg&13J;~le
z?=p_xPHVlw-Hs(iEd!H0xwFdRW4YqD)}zm!!9#i`VVJdQO9S`hn*6Q!+$*_o!^ac!
z(!CNC?1tmik)ms7t|8n0*0gL~6N=T*$Qm0mQ#<qH1J3K#_CBT%CiP~ts)j$!C>uv>
zH=CAYr;U&&Z3UZ#vniJG6g7bINKB`gjLB@?go)C>$83u$A;OsN9aGy|;Ii*(Fc}y=
zJa3mTz>c)U6UE6zYB($89g&Nnn2uUM1x1Y`@K8&eA>lq7Hq8(^jLyZwvsI=T!xTru
zh^P+tTc2&9lj$|~Q6}muHMoA;)ws(q-EM4CDySq)2IC?zq8HkJZGUG}LBDV|%ti#;
znT#ro;?)PZ78ppNIU9`kXCOPnF@1Kel|q~Og{PkDe+VQY!~o160C%8MosMwu`OzAC
zA=Aa=PSm&uVkZh%O!V~(kx-ijGG7RjdGlq@&R?@yC-eB)yN}!W9X-}NHsw0xQrldJ
zWE(4tAdN0o$^IT}bPf{t=&g^{I!tA+*%!uk(t1g~k*^#%#cME&$Oh98$YBLj%zT{-
zdeM!S`D1A@T+3U;&0s)r28*X?xZ9|jJ^7kL3#|%9vH}Mwp2|mPn;%IYUHBo8qfVKF
zlZ`c#iS5;Q(Gb0AJsVbB)uc&Md|=Ig{1=bDyApG=Zyz#|sZaXN*Dysh(Q||~_(hOU
zg8_x^_d!u`?Bt(I@UVVwSoa$W#6r?0cQD#`&~y*<NXohm8yzy&K9o0@?Mx%DOxhBp
zFoCv;%fvq5PgA}Nxd8?>&6I7|PMrBpYgL-GNgY-&=3y7u*24LkL1m(bI!x&~cxKiS
zCYa3<jwFT#DFYG?*!J<>GDz0mJ90@$OT<aSH!(?m?vsjx8FUYm{y#GaluO9ulZnn2
zO+=5UV2wo^QQsTZ`|)NJDy&@cGcGQcyVjsyYp!{_2is4=8Y!ZJNv5bmI_`bPLz*m^
zS12c1BMsG#MQFTZdoRPTJD54N2m6}8kcilZ`#jmq*Q<%7dxAOYxPDRU#2e9nY!_|9
zr$~{&f6X`B2bk{%*+1sX-t=GQ3&FS>s#?!vqA1wrd%N+HQ5`X6>v+{{6WSfIz~`dX
z&^m(xW_<Ldm(4%U_by{^qD0-7gWtB&zQi(8paMA0u0MyvmW<jNCvZ(j4Idg3(!yp0
zsn&6aN`N+|9(X^w8)SMvEE8(HfA$>EDqydPm01xp8W;sRw?337hh`O@lIJIF5a$c8
zBXA^Sapi&i2YzIi&+A4MFck=HW~<`*0OJgA2FAJDp<j(>`!$*f@Ij{kc`@Bw)tc(g
zN*|hiC0W<+5N2_ZxYYKtC*M9zq}S-$F#j>!#bZ#{1KGtt<M8RA3+;&%1LJmU06lI#
zq=Dkl>JoDTCuZBt_v8ge_#NcU{M9Ts-<@i9PzqydB_kz4qpaX7e?|z!&gyhWE<Wik
zalBj@iIju&Gp%w3HgG`|B$)>0ADiG%8f@|<XSHV{pPClH$kcdCYzL-6Kc;AimYY?;
z(IXwMmGU@lioMVF$pib1KZiLxSs@tkNN}|NOlQ!~*{@fFlkx<a75epX6fz`2?}Apm
zg%Le4JOzMbz{t;Lee{MG>8@@rC5L8vC51M!Ok(9EU6BNWXB`v`u8C*F%XqdEz5AFo
zn>(0d($%_QK??+mw%s&4Sb={%4&3lF_WHXM4Xr4h8(vDbO|&x5t3t|cj;973i@cL$
zH)zGe@j)RKC`1A^RX)_9EXlx8K6FAcg*=5cn>gi@_w!&L-_jk@Xz*BI-vHPD^H>Qy
zD<yI2lzS5auKyDzzVoQ)(`Sj%*m26&W$mH6wivIcR`4=3;)$%;GH|)Nf~rDeAY9k<
z4=QRmxjR(6%@*#>N+!i?DR=ULVKrGuyS00RJjihMru>Vxkq8)|sfW(PGl}|1e+yFB
zJ>cFJTO*vOYzr{~c3bs7?e_V9?6w_K8%c^A-r<95r;NmGQ$`MlcB+#CH;nc^q2oG`
z1_x$q95;FB9BYbk5F6n}%6&FB;C>fyrE3KOPg7W`Yh|S|61>9Md)nea`NDiB*;<x$
z*_UDrUGTF&P4?e;7{<*O@2z)l`6}xUa6zQLnZY$xRbe&8pc)!>O@SmRDdY27K<t_I
zp*2WC2r*yj55c)YyjcaoL=*@?_ePiqu-0gx^|{c7z%epfPjSsk<ne_SVe+VSB6x6q
z`3VQ!C=SY{P_$L%9>eqcyXMNUQd!EqNWz~FAZQWxsHv3n`=zQ4_x~y5uz-wF;|wNa
zu(MUxASDkE|GODtdul1iN_Jx&BFLy5@68n*sDwjkulF?j#?qGfuU2xg?@R?R%7D>b
z#|=*Zz@j$9)xqLzmRqjc2$l*=<`DIT<ge@^a$wwy(!D;guQbGgC1YlhZ0(J8-Zg3r
zHE^wX82i6Nf?)5^P#0DzZ1$yP{m4Y?r?`&m#x`Nl5d$1cDs$(+_CWkwD3x;JE{q>+
zl3)ZesHKpI9v_j86uAaXIs=C*UiXyn{%+PaM#wLdS#PIQz<q&7*#TQmq3rjMD{QNT
zv@cR*D-3E8ZFoRGcq>rbMNaQlD80vWukwg-J;9&y1M(hh&~TXgdlztI_3WcHT5OF0
z#VS2<j(BWKP;XriwQPe(_Zz!Y%p_6{$v+<bk1^p#z9c6UV&=e&q#+>>kl}<8ylR8<
zgGU5yKZ3E)D=*^x4Wp7r&RL1lzSV`{oIRaKa~MxT;^@kqwXKAFiz?~;ei1#<jEiqc
zc_4>DS)<4$*@FN%kU#E(o0)B`mx2T$+dr@Gc-&wUiR<lGOYqOK5u*0jU$FNy#+8sQ
z&E%1-Wh_wXVN$|XPq{^S{yKI2a66w(9@{tH;5@eJSeA1l7|%5hiSGf^1Un44_FvQF
z3U7&1r%;;f&DG>I*}a<c6ob;FGXb|ZL*E==h8T$u8kB3U3kGjiW<PnKIPs}(c(#wP
zosSP*U}y+FqLUk#B6>6U*TV%WRW$p`vwmTczgp2A-f1EFzZd;o^rG+Uz0gy!k7=5`
z$z=^z@jvCBe^+te-B7SwX;2Jp)|#2T)(XAYHOnX#CNgBza0cmuNj+6PROA6?y`sGj
z_^WR|{?bhEEiCtKJ*+wf;c-g}MYIbS%_ZbP0FOH#f_PolUGi>3{he&Qfh}e2Y=CP>
zpYsuZ!zUxg(S#|=>4#rRx~c_Y<~S~xfGr@<im88XfrstljvOV~B{T;SFjg&NKTY1`
z2?loxa=jSUf45zx8qqW){2V<)n9uqiQ};bpWFNy7$9Qs}XuH<E{3q<8XXUVzc|t2t
z3VQ<fyfi{{ST7XN)`{@~oU{S@YJjcv1m4x%rOohc-;I@|Hu6aKfrJ0?ilC!M30x|D
z;2p6oD^jE;Q0S=^rz=n?+J>RqI{Y<rL)L4Sa%D-(LKH^7Dz|$Z1fwwlixHV3uQAN%
zJL3aFK^+co32t(>Wma;B9JDEh>VbKhr@%vszda4OmE=rOh|r~8Wo*S=1#Ak99o<w2
zNeEmCEh&T@9&+}p0j1D|6t|SKA*DzAl2`>bhm3_!K{}i{e_Y5_J>sWff3~d2mfa8L
z2j89HzK%-15wCJD=u$v$K@V((IsM%qhmY4!g8W>eL(FCWq=05l@KtaVo*j(CKJU?M
z+cnQ5JfWPc{o(0DjOKSZ{{WL35Gez8h@v$qddD~`hAV<vq6^RPX(X)eWpo)%;?Kl}
zD}amq*><8WZW|6J{UXfv9R>yrOnO3DMHu<3NVo<#2lSnT{n-z1hlC6J>?$Z_H1i|>
z4`FWsR^`&QkCU4Yk&+USk}heGR1l;Dq`O19;~@k|B_x!TkZwUlKw6NL?hXm*&i`yY
z=e*~8f8TfgFE2J*_UvconVDzJTI;^oTKT<Z7Iee_*91AMAK#@55q5y<OQP=4L+ok7
zvet<`5M?)d6Qct<h|WGxG8VX5vuS5^uFVC(m!xjv6wTDE3bF4{(1BJ0s(d2Qz@OdP
zSNO4`ZBpo+8?iLm?8+#7O~PN?4S{F|x=3gK7+siH!5;lx+*d)m7<n>CRlE}w*lapJ
z&YEnfRdocyE>djLUm`vvJo#vxf1VA!^{l~k%cg3_UI<h%BqT+Bw8oW%a`-~_1^|ID
zvczelW#37M`j9BmN;gC>#)R;?-6#~)aoS-taSgGZB{Oj*MBctudx=v<@v)RUPsQI@
z{t`^_>Tn>z6E&>?BB{48_#68fw`zHKL*cAjtg>F)?q*U0Ib*tdh7zRF^YF{@x?c9w
zf!g4-j>{$|!P88d<ZfiMuyVw=sAgOc?6@A6kXBn?1oIXfI5}LVu8|u%KHW+Jat5eK
zh|g~1%$xh!eG%UY2Ugn*e~fUOkXsw+l4;y8LJ9}cny_5@U&dLS3FpME_1LZapbpQq
zAtUIMD)Nv~BC4C~>rFXbL}>@5d8!-pM|PY3qtc({7{oZ;2anK&=dYKi44S#^LK)x$
zk$~G#H#(E(dwdlRs;8lOXit;00^`MrT4#vKLG>zeqMJ>Xg?ayIK_!^b`(0keSG3@t
zx;Km6NK^WFLF!{Xw5h*U?q>J>fE4H1(`vDCwHcpdwz>SI`@Wr6o;wl|QE>7QetS~)
zYnX|C7-ek}X&elT)FctLdvq5G&}eT8(t@LVn&k#g5ixL*9;o+Vr&-e%N#u1#H)$|^
z4`TwGM;V^k?$72Sklb#Q!uW8!@F82z0>X%<9h4S_>)M3W%WBcF(s$KQV+~SLS0%+c
z>T?r6TFw=}8=4HEAEhd}?}+o|i2KV&KN(J#UjWA()(KJr5HvPBW&#aK%^Z>^IYc@5
zf*fh8p((FalS%^J*Xxk0zyeqYXp`OvfvW)Cd^8sNz|X;hm&|E~x`@Cq0JXv3oTVG-
zerza7SntBgrTqkv6F6v6-QOcHb4Q`%flC0ScEbP3nbXF%_i>#OW1dDc2H5OqL7Oaz
z!7ihnS*0T@CwWs}j=twbH=K0ak^1Ra{w%%C|HOBx=X(G1?xdsFQlp;bs!u(JMcl4~
z2${m;xGEF(-#p_JkcAK#Hd>Gh7jwzl*^~!Xj{W6EwLu;I<=KW9%DyTh3;q4;`z)p;
zqaGe&6e$)DQ&Iy-%-rn{=^K1_Qq;bC+6h*#749Qn&hzSr9AXeX8sU&Zb>AR)psO)Z
z=QpW__q9f7QqG}1H!2pV<n(XG%A>y-D-Y};Kv`j}j4%bRaXyv*;Tq@ve?8+p-=ECd
zU3n0l70M`|oqI_g#ZX_ID1NR?pYiRS#o;&ea9VwM&pz$ySpVC)$&#7U-6_-6XX8S(
zq+3%W@6F>!Dtm<SxKmSpk9l!*RIixnkaX@qyXvPFIwI-szeqUMAJk_bJx-hs_edH}
zC;pNCo^3;istPa=ADi2lHheid?_p$Ab!S#>Qh3LdreVPJB5I*a{S&qcPfmWbo$A^C
z+4EE}feVM<mWGZWR~KiWj&waqrj)ghIv~@F8)k2wDBOShIGAs(PWz)T#@~K$2spwU
z5%|2<$N8+-#E~?tE@s!oHp;1>;ewO(uY2EcVUL=TQ8X~FX+odJIK>u!uY6s|4>MY*
zX}Ei(?98Z3?<i!!QRhrN@3YKeK@5{4JcFDGh#0j#AI_$HRp*pHzSa@?%%M0m&>=BJ
zW$V;m>po%1EMRC9Kg7_7VuV=;(fLsZS$4@FiDY~IG{ul^Y+;Xb4}2A~<BtaLGIS?=
z@X9NP?SVk$kEU<CEfXh<IR^*~_dP^l2RDDjMG}c71E3o7UB!o(9&>F5t1@w?)BdmY
z$hJ}Nyg<$2#v8K|w0KVkyZJAulwkbKw7Anam^$n!w9a^)aZg(0P0@S{mOrkoYBdIk
zp#eR*zylybk8M10BgmFUg4+GV@Q}taluyxg4?s4OvZ7Nrqgve&k+1ur2ALO`JGw1j
zW<*RqY0oruOm0^nOjS{PRzKN|Dd`PRH7k6}uT`qKA#(l+?!<=-yJXv#&r1BxA6G-|
zo~}FUi|$)uKkoK^$Pw6yEiGl)$oy8bV5)cUyq5jU<LxW5GIpV-DbHtHjr3e@aaXd}
z^0sM_=!FjyMX+mljmVH>?qiI|<ig2DMK5QdsB~gFipU1@z7_DZMtYk?@-lOA0&A<T
zQJ#vDgI%eIhZ{k??kUV;J=V{J8&X82E_-4tl*1O|apvaZ>8TDpXe))36PV=adGeY?
zy4>WPdFt5YmQ*L}emEKtIz&xqI}+qo^T;O%VejxhkE8R-y4}T!k`IC1I}Cuae2|#_
z8g{HFcy^$HX^TKUk%t2kMS^URwtRs&vD4qV=VQy8WPQt;tZfa&W7QbNAzYx(QBb3G
zAi~Q+6s@oYQB<fOCpA$gQtX+T?a`Yre5ZDV$gGrp<FZim75TU3Mw4nZ`sO;{?Q)hk
zM>Xed#Qgm!*X<P%KDmbY!ZTTHmbr#OP@6ux4T0t0B~elb0?Vhtv<XTLaa&EqFeMtU
zBL8#6)rNez2t<uv7%ZHSH%RJ{D_SL7<Udx1M363NtO;_v^!k!8u)#DxFcul|>Y##*
zAN^E+E&%1XmLY8kr=Eu($1xz6_21Uyd|!eD7=o5~tkisE{;l8Cj16xtAXSk<-xB!K
zhsY37Q{3ASu{;2k?ka}>8LMX7Ws96(i}en1BtsDb1<*Gqkg-B>SgCh8;z>2(w>BHC
zY|&X}$ZL{_xQ%oh0-Z?<Vuheq-eCc{ssB+Uk})!t?1el%4AhhbbR4>REpFE68EjT?
zqwAEK;<ko2H(GXcqcpocu|@$W=7t|qkJPsReANdtEC6-NUFaC6(>?)&U-KhlfjRU-
zBgQA!yqQDRxrS$7`rH?nDluJ}prMPuK=Fw9T3gvq&etsIHdSK}w%`4fYbK@DMlE+H
zS&KNZCkj?1_^1|>_a#foD<^WQ(HEgW9H{j0IR^zK!JN~m^cjx_G(Bk^Gg^W57CX_#
z3ySwd9pw7G0v&@;XRvr|@Wr#29;wvSHvAOJshza?xEm5C9@#8IU!6(KUFrR8!j*FW
zyfTJA@0<psHH0qugpfdr;ATp1p|B;;MH0^j({0j+-PPYyHf){iX;gWbsGn{8U59mO
z%K7#(|CAvag+vtILu$SY_*SZU<|k|L;&L%nfkFEFD?f;<h620dnJ%%UF5{a9ZTU;U
z!7PT{j+WO1SJS`XwAf>@&AT4$Y<|BxbMX)&|JD<UUxW2KsFZ)+mYeGJ<Dj))zbBxt
zM}o5xe@?aC3<td+7k<1SVS}@(e%`o=%ucsCu&Yt@px>_m?rWJNz5Fn>RO!Gat<I`q
z=?42fd~!8EWBq}B7MpRnO)nYm`W58dAFpE&)cg~WG1mYYv!Kgw!&BySKBJqXeRbR%
zrm{Cnzj59hj>*f2@h#6{wT6q&SMhtkdZ>vdmJ`IOFHn4Ior{%puJy>b$I<qJ5^-~9
zFXgX`Mr0@z*ekiGJylYCa0j!p?JL8?*S_}LEtQ0-(4RmC_8npbFX3!V=>MW)R!XQ~
zsaL;#WkCW*eS?a~#%4s`5xP2<?YEWXDHiB3j+4O8xcsl*<$3sJOA;Frhpv8Ac&je9
ze5~a9Wu)?Kxlj5Xuk80TxA5+x4j<>k<76ep>@BtIz;|-#bm5aZCr(6cEn|@E+OFUy
ztC)fG(Qnq@u~P6xUz<}}c!^z2XOkNVkm_aBi%!^VKGi4>=qFh<ajBMF9d^3&NUpwr
zO}=Dj&<K~+@Ox^{r|V+wgwCgdA2amG>=VYxAG-3tl5Zj6#-C;1{j4!Q_=A+A0*!Qx
z{_>;FxT(JolVRcn!<*d<ghIM4XuL*ExrzDsUF6fuD$B(7syzRb3`z1e2~=goDhX6N
z7}4G~BGFP!-x7nQ%}@3y8x_Rewv51y^Esp%1a^Nc@GH6jpuC%YjavR#vC|e6>xgWR
zzVeo|p|+xtfa(b!H0&Ij*sGdQK@A0X)o}w?y>R4Y>`$cU0a&4U?Bw7QlEo8qfqK?K
z@Qc9<gg5X2>BH9Um$<u!L=0uY<z1(E#82j^hy%(M0eQ1vZpJ)1x3}BuCJ*|mh2?%-
z=*WBsBL^X(V8m#2FiJ3D%B326>jBdY#BpR7!`@0xmoXQ<Uj(o)_tpH4R%8&V;y;0a
zOn{7idW?YWH05ptnvRbl8yb#Ok{Tv`32;ufSY#iba@=;YgVM^SYOK)@^4$?Z)`|?i
z4*ynasVh<HAc|ugGzL4E_G>pTWam3CnU!G386fu?rtkw8Awn=fCYVBDr~|$^fk@9Z
zTm6yZ(#(F~vC68F1OLiIqvU@no32^(!cH{PH&hHkF=qFYOD^VY4mcG90$hv(I2Yrt
zr?c;|xA4<96yT{$xp^unaa@8dMOZ~f9ZKMj;Q>F<=Xr;GTK?T;L;2prQ9tyR91gZ8
zM*|T&B6o3ndA@I}6)@!iHgpeQLoaROS?H}Z3_c*D70$jnx9$Hqw-<vo)9s9uE>+cZ
zK0|&g_VL;ulJ8!!8~3;o=q6i{plXvG?wWmtxF$tQjejIwk9<>YDBTzwAR6|1U6DRA
zVrS_)p{28Q@vjHc|NnU)eLs7AK3!D*RZ1+ew!MKf{y1=FQJ6pJVf}gRw=Ta!&pT;T
zr+ppCxzKg}Xz3ZL=lHB58k~pm`W49{W%A>e{UYXx84<C`Do-zsA<_6^lAy|`fFr%W
z)zsgO6T6YKO<(n}b`v&ulEhTc(1)5kz58U65@Ps~?J8JH+8jaL`R9>5dkx)?FTxhA
z{zbk}6{`Q6d;$H<zR>%_zQFbWiylqGr`5(Fq~!jf>*s0JdYv|VOP*1!_*pE=g-a4L
z)|ev)R}WMeY3B4M<F|ccdvaSjqs&9cv!(3~Lqj?-Qp5O@c*LA>XX`~V<C;eHHGbb#
zhRUZjh=r|uo}p+cn)Hr+?QxQr8egD3Q&&^jCh+9RHOczOHZknF<E?nS#&bQ+uz1|<
zwFs<S^&2BMbw(60l-)_CU*^AOMMw=TM+BZ4amJeM&@G;KsEDa!IgV_pq+xien)G6q
zfZ6<t5V#cpHX992{P*VyTQt#udSs)qfiWl1k{q)0coti2CEKqaLV&W}eSNhuPBDfo
ziYV!iABrPMy(<Tj2g8r&;}M{WNFE^5M7E;Qcm?1y48RMQ8cSiy`VfTC+#JL2q^rd-
z0Yx0ehx;>`LjQH^S)QWDsz-pZeBJiOH?Q)2aJDjhgd=aQFzV<NIs#;T_=(38=7dNM
z*v=5YIOno9r?{mqdh^_|`1IF1(o?4&Cd<wY>S^Fwba?<8omg0FBQjiX`3UryxesVN
zjggi>v&J_^pOXOYIpm$4_p}l`G(uu7iHPZ1GmiJ?oNri6D#W?ZEBmy}lU6@uv~}{y
zCAQg=1d1p2Qj;8HYUd54_g2(3LAtYvdRqxGABO!x*;x2|UHvj>9S;0iD#ZAaBn@;w
z-@^Ag^Y2fMNnh+d@cF*-)AEz|eoY>J0pf=^z40tQl$U|;_^KqaktM$e(L_CsFx{f2
z<}C&_HOSfw@bTZz+>r2vanMuWPRz<)Pvr39p^L5_*~Rr9p}ZWp_}r-p{Y9~_)7n`0
zT}v(qsagoV!67Jna&4{Tv>QF*(}wk{k@=8+x}8COvJqJ$%x=gI8*_}#akf3B8H?{r
zpXmfaond18(>g<5I~;v~66INf!+BKT&cWJ2s)LJLvAB0ncEH;6?*{%<c;JDkFYYTp
z^oj)R4uECvK!3K!N4^#;H>;^utVbAW@b8@^<l%7u(-~ZF4lFb8@w+LhIn=MbFBVX<
zY83zbB7d$yAUyw9i&hPf4;*znuXv7)M~_?XzP{qW?nqv^_o&yO-Vi80^l-(e<wo)0
zfiSjT(r*sbbj%vf(}`yyVDNjeR{x5Hi}JPWE5LSP=;B1ecN0YN2kvc9<^Tcg9?LBr
zj2#rPduoWOHRa@(#6?g|Byg0Ghd^m+oCG=S2RB-Db4FkQ8EBJ0rm2JhVxlra>aC?f
zD*`E;<S6AJQy|}A53r#z!^DoNvBrughR7f{{H8iNQ2e7wZO3d;$fZq?5q}1j2Mouf
zd?IOqBXJnOhQPs{*HgrY>y0+c#3J*6$NS3z5N6W0OLv<)s6buPfU!9gpo=e<r;zG5
zP(EdBd)$OEHTpm?`Ysy+<2tc{aj(mEo4X(Th3n767${u*K<~0T%VuFF|0|BD@W<`;
zP79)6aq9nsB@DZ`YXlG(6*6EUFd5q-WQ3x<O}M0lbN;Lq890nrgFXLfex<s^1A1`H
zFL^P`X?5ammgLz2&u60(yALwo6sMRDWB5m({;o9oFJ}g%;7VTPuvy|;G4S^2-D_A&
zlc5N^&xC{T3#vU0iJB*TQbg4U2GA;8<ul6>fK&aJ<v9-iQ2j)O)j1R!>xV~A_j(*u
zQ@iWUCjVmlU27Nh6_kDQyI)WX*nS&N_$!~vlt&a*rlO4cPp}1ONc#GWZy9vE^+AO>
zd&}PrOW$s92-UdA44SW(=!~9yI-ISNO82FH=&|N-HvR1Y&rENqX^ER<FqLFYL;Z&6
zS5-dXp8QZh_{#d$+pC6|XkR+?hajTibnq+3>DSHNcZu_zsn?Npo@cY(mj!QP5-)#y
zsz`wIg>f~GGWh|lVfu?_#m3+uBnSViK6WqPjkbrT`7doRc_8h()*@x#poV9TUHrq_
zW&^a8cp)9OG2Q&np>L;4((8)*7M#yu;TFRr;W}A=G(H6@-^Y?xHgB)$uGEF~=X`41
zcxwd)_jk7$`U?Ic_Jxd@nsL*mF+OoytAoJ7!jw-U<l9N)C)6E)x>?7c?Dj#XotuI@
zqMg{P4&$~E%UNZFh0Dt2c(lLF+4I_x(Ki+b{lBp($Fi?JI*-!{U{k?u;6!f@$8Cne
zp9!Bjd_#f^e%3J78P+WE*BJ_PbWhD)GXR^##l$I1%(4MT%HT^tmfy!9Qxgtss5@Z=
z&h2OoVYo3zK*?PooV75?-h;pphWDJhm=y2JQW<{v!UX|%?#mR6J#I`y1{?9eL`H~>
zKU~<Xw*W(s<HiuwhZ}<Folbwto%w~?8=<m;1jG{D_zNL{pDq?ocmcE|;1LZYQ8;)7
z-rT(rH=vhaL9IJCmTE5!Gil=X1<(`4WU)Em&vhwTnX@J;GRIiXZk2Y~P=WF;UMQ|F
z@f)J+c@(1^@09kKe9zr{&phLLLC>?A7<X~-$d^mt(1``NX29Tw2s<`2sWNcX*r)`l
zYoBvm=@-a;?tzp(k8rjz%ZkkYOp48V6=MO%HOnQi;a{VMe+>dga}XJ<y-a>dyWQ~j
z$V|j+rto5u9=m$<ilnK<!j#OJF#}N2?n>g2lz)89>An4`$@greL$n|EDPXK01~<+v
zk>SR<RAvF{AdKbPkB>Ou=nY%!sVu<-4pvJIa^Pf*CVdMe55062%Kec*l|UIIi7=tJ
zHCXAj5U(+#r^D^<!`|6JAL|;!EY5<!m46oTfr1UxT%XFv(d|M%;;5E@OUwT_GPpo)
zTxh~sX$a@P{a}mluF^OyCD{Wkk}l4E{=jc$t+!xTS^Luw^*RR2i}|{%FNnG;7OfN=
zFX`aEE(3tA1&-~Y!-wpFa-90Z7r5IY;BUwJ_!qD5I=#M9?*-xN`9Z$&zM1<&7qYV3
zlX{2U8bYbw-0IGKgTtLiehNl9a%1gt%{3N#6g^a3RO3(T#^&Y{nRe+UM_;`_g3%nD
z(_E1dsAg2;=&o>mt8U9~Hmpu1Nyig%=))?&6=<a`pT`$iDi)xVFO{x`I?#e7Xi)r(
z1K31A{;npKa%q=^Np%xke;mP7b$UGBs8WPtMJ6Hy(XYJ;<^h#$6e=vg-?n_kfdG=F
zmLp=*`C)~*BZs*At>c|9m+-oPM9eGbANQ-1?zzCkL+(Wqe5)6{M^w3#TPMwkvygB7
ziOFcO6z!I<yz4HTXw|1~2uT-#Bos%NdRIsGqM(?>n(OsUPaC0@&tbREoiD2;$>~n|
zPux>QA7yfXk4OJFaM$m?@0UISIlu1gU!&G39$#z(;*IvSsOY~pDG03|F}yqQ*6(wF
zbyenMJIQsrU*Xo>?=Cv}`%pf8iz%IaxNR<1Hg`T-?8jvYazUkj`yiw(Mt-N@`fd90
zgYXG*k1gtNkhUua2aPi2mp-LBKOWv`&aIMXBpAL<xc8&hYoF+J$!JYSWmPnE@#qe@
zZT!fLirf!kEkVsOFwPII@fx3>J;dcG_~^C!CJXD9Oa)a*d>*FkB$dIiS=VgN<Md5s
zI#A23<dVidp1JVFwMZW{sF%cEVITHHrg)_ueR$&Rdjy?!@503PaEMQ$z?U=Dmfhir
zW8)s3RiowJ*#U=wtGYz_caLI@2P-R3Ys#xu@gA`y`}VPIpGEbkKOGzsIoLmYVY1O7
zs<T@BV_>7+|2>MMo9LTn+l{A*50l)!y%zE=$US@Kv8>n5^36h$5n}EUecjy-EbZOh
zmBP4i;h1m_T3*7wLJmUyN4uxosf<{nIo@@W+_G!-!+OPMG6wp>1O_Sd8OIV9mfA$1
zd>Pk(d~{EO-OH-yt2|V*3~O~MeQ~^#?4Ps=F-v0wIfH;BS*Pl$%@AF*zZTi`{jL3x
zwX0$^dV+^CE*rH%5O5@$V;J};yK_{mQ`%{E*O5u9>?I}@{Bn$KjZhdl-`nQI3Szn_
zHO`1$$Yp&>YeBW?h5Oq9OW7z^r@+lB^-XC2dRF#`b$rNOh1ip6zh`KsnyWI!M!f;p
z`!rIIJ*Zn)=kWrt<?x#nOi%HHzA`OJcX1fPk^+VdVFcIv5JAu#kKK9?6&oLC&K95U
z{##Vtobo49oQoFGA)c#8`88b<$j$zoX?Of2N%3I>03C(t`z**5J9g4w?_+=t&_M_C
z&6=B59nsIP@XhfApLefxa;FJJuy(X6Xq+=@^98VHU}cA}N1vo8lGZjxY_~;dw?s*i
ztPBRf-hujqwVLlrk{pI$GIs1)MZFFAqNMmq0SP30lEnelNgi@=*#?lzMvzp6P`_e}
z95^}STDfQ6*o?7YRiCa#4HZkYPjjc)lIJ*o<A-O(%m-O9N8)R?k1rxPK-%^pADB?<
zWbpF{+NSpT4CDu0Jk|*Tk9v@Vl5%#Rxy%jPLH$OzDY+j^UDIizk0HAG|A`?<vwcaK
zr&aLYEKjAf5!c-6;w|L~6}j7(=_|ugskH<7>&=QMf)mvi^6V8d3@bMXxcEI;+wfL}
zcW0a3bt`Z4bD5WOpM6YtMp}J0Zu0jU_(P7;=L97&sjSc(thNIi2M)1ZT4gFVh~90V
zTBGt+Z|f3GXp7ALmci;rF#~JQf$H>vP67kgru~nqqOR_DyhigQUWy5xcV*TxGpPDH
zPIpKb*o(y!?D_eL_Jpa`t87H(Us+8?=KI-?RUdcQB}cjr^&PYA9f>ijif$}F;8BUZ
zqY}9#U9k5htb3*7VlPZhWs0@!5MosQeF!^UB*^JeK6}8ZdZ?S8h!3+W6^&cB6qgT{
z6Z+PqP|$i!Oe$})r6wtn#j77RI`8#)w6MLWi}$JO(Dqf9$#jY+#=><%{>qETOuL2d
zRYDB@w<5Wl3f4|hn13})2-zPXAZ5|{eO`1D$04p!vf)-+c+|4cPH@LBA{KJQ_vJ8_
z=|L34pJm<cN-GbedkHed#*Hp#cgeD*2#4Vuf1zRaI$7!tYLhH)vv!|vm19+O@j(K4
zcJgqZQ}4>ti7k-}uWoCpEjy)!2g^d?27az&1f!c717iV1<lb99>>WL9-V6>XSgV-s
z%}IAf8HV*7#*HlHOMjehB!H3#S*;A^NR?ti<p~6aJ`HkCE_pk^=_VMQ3pk(Y_0^91
zNTBN$#M=0zBU6IdU4pa;<o2l?4q@q5C5LC$!h~BfR!<Y3SdQbAATZB|!=5vRGCds7
zj0;}ZbIn{N>_Dmzx9dO(qls7$i4GRs8hp<hKUYC+il`w;e0~l|f-*jBepNJBl|vz{
z)L0!zaF@TfbN=6*8XFie0mk)MDW9%U!h{1V2*;mm$oisWlcp}&^}+#F8RPlpHkLZC
zNy;w|)M|e=W%6oq<FQNuJX@nT=Z}PFkmt?#$B@civT36g1+y7OSQO&uB<1jd@;r^i
zz~q6p_H|Q}0!}K(9T2sUNX~_%1BgMv-JhaW@X-BFaMxS<cU_yKOjKPAZQh@mRZ4Fc
zqHa^>`h!;1LBt?tpKukCja3qBMZS`hZSG0GF_g#zz6i!^3C0U9g{Tea@LxDEiO2bG
zbw!4)jn3)&D9Zdfo#Wp_ZT*OjNR&E{a!^4K7YH3g0Kcl3Z2JW+{0k9;ZQatp`&bh<
zwQZM2vIjAFUGRjp6>kh={`B3wmSwQ<(UkS+V8g#kY>oKVyh*ctH^&6I2JwZsT@7N`
ze8_@`Ly*i=qpcOOqZE}?$-`L~d2Q)sFJD+*FX4uta@7jD3=zaA#D@qnuMfdkqDhOG
zdY?H;dC{-Sh>4IBN;Z=7?ZBM##=FQ50s{Gu6uWU8#VO8*Lj=ImFZc^scKn$gI_slA
zRD%%&V(*X-s4R`)m)1c<=J_}PATdOR`$$AqlqyMBPCmkl#)MId*LhttO$Y&IA#T@*
z6ov?aUEv=rW7srh1+H>;8eBzK5|P*+YzaiLC1CJ83pZOrj3;*-i`YjGS#xs@9ge=7
z55wSl5S}ppW)GfX6Pt2q?AYOGmVdsd_A}Hm(}V~tgt#5Zz#sv7$q1IQY^o6lD>*yr
zPwc(A00S8s`k_p3u#8}t;1#vS(qjTPWw08`5ZR7gLf{BaBl!5Q91rl1%L9r~vEFdl
zB1F_re;~9=`9+FahQO*!UM6nb2)3LdV3Bk3Mb{fP@$>n&&GagR<PhZsc8$%f;AX%r
zgZXkYAY`qur%kwXd$6>r{v-to7dMmt(rqzB?Hv<jZ!iA(=!0bdZU*u%1R;Oi3@J8D
za$ekrbIks@$<wPmPSL2AyQCzRyQMq1Csfk%<u$H)6Wq0>7d=7Iy0<zYcU7-di<0`d
zDRqGlE<@#rAhTcwU%!7Vr9Z5S^s&7s7kT0{)4k!!eY2&st{r-%FNE8WkawiC*&CKy
z3OQ02suxb_ARkbY+<0jvwYnl^?%t_8pYna6T6x{5R<9aZq_SqT)@muAv)t|Ml{8&O
z9(xzoDTV(kV&&;qvEODQ#i^gV$K|oU!!@a6pF$0@M?vMR$@{mrKb`iEaZZ*zTg4EB
z`ZCwWl5>q|2GSQ2A%lm4{KheY$@fWeXLQ8WY2G%(M^uQBKQ;^2z<M@XB|$#0f~KY0
zBj?<vD&Tln(eiDBQh!MFaN+J_654Q6866gt{M?7SShZea>WQgn_fOfz$3Do`C8X${
zOU*o2*O<QYOw0Yssb@M%5Ff7Hle{qWKUFLU=vWl3ga3z)wa_~=#vH&_8qUY(on@re
z#mjeIQZ$kFg37Btq4*xZQf7xve9ox1GcU%%rWaN4_((E4w72Q=Ci}-y{u~P3HZS$5
z=xre*i@v-5#4zAG{f~~7xxe0ctSj3BQMavjxumfkyxlrfnV`t|rtV&KyS;b0>Rwp;
z9bB)wF8X(HE=90p?L!V??JAcgAOG)4R_Rov!ioLc@=p^4VV6+@CrXY6M=FQ*qa43p
ztV)n|yG+J?K&%u|c2g^^Psd@n&DBS&_yU<`<G2S}F=GtNqO`*oE<zMbGL3R2uT*^F
z>fgjv?mBbWg!xErs@yLhAy{Q=@N69;;}@awFAsza&MssG)R8e`9RFt8azspjq>LL$
zFd`y_Ad~Aa`5hS{Sc_^5m+;}Fm>)8Oe;6|DQxFm*ZVX-;eFx;Vov{#arv_qB;vw9I
z%smYsD#&^{1O~^6hPnm?CvY`lI3SfbVZbd5;NUrS11E+Gdde?CMbLE$=z0#N9f8r7
zggk{)dZA%<pQC}7j-7v5i(}{|1?R-%FunF|WC`3yR#PE3DozjwM|5e4-9m_}iv`dp
zS#g>L2Jcj$@^Q-hj5X4h8wG)a+1Q+O4WFIUM_e8v1no99GCd`}<L?HGM3f(6=VLVr
zZDsq7?HY#lpa~Xv<mTF`oW+hv-aU|1p2W(JFy_zI2%Bt!k%Q{6tT)Hyy(mmr0;jx5
zh*8B9f{Rulu<prQLrAb=PO6gcEc|XRlqoMx$+#34>F&CSkGtZAoci?mzqNX5t&EPF
z&@ro*N^{0HuP{Cz)!pP#jJ?Z~KjKQ9{R3fMt-Z+N^zE`EXI$*;3|*XG-^S@y+4J7P
zX+H%&lcCpl&Po`iJ~{>N=<zS~1UYPtZf}_z@8P%3XL>><O5S&rZ0^`C<y{Tt)%Jfb
zG<p%}IF#b=){-#O2sxt#o4?yXW-ZvN^kgQcy}a*tIxP5bS1}nc3lx%GqEJgwZ+gpD
z+IOI@;d)xHujaDhl^Nv>w|Nk9=8f-%{A2SJ{B84K0-GmXW<S|$u~S{I`a(}=w-Z-p
zp=xPq;_jY)Va57U-@eFn@EYxTLY~?XWKH<iX5%hLtfgRt&9~>|dwL5?>(2N}&uwNS
z9@wXXVq=heOa9ruKD!y2%uL@@#d|B;!^al6cFA3}M$XPqe?mtGhfV#;$kn)zy?TQF
zw(9_0Xyt|{p}CHI?S(|u{_=p<_9qz!$#{3NsH-%LRR2$m>E#`^ue<q4?%Fp9K~@h;
z1jF6+|Cl;#Io?4Rj$s4lOqa#Ag{how?4^_#;=K<2=NW^})6Tv#yrkLnrt`M>`{5qE
z8J>-FsfqiZvF4M(8WED9STmaWPCR*H*fkEfhGO@BWc-bYS6JPZh_;M9D>Pr7`F+-w
zy25DBWS_7HnRz?^4z^>iFe4*LRS%M@#?G{!xyz_%ES`CurpYh0aUg(5*{!OxT6K5G
z@NFyQ#%D}z(q+JXS9lp?ZZ(CA&x9w=i$EL6C@1pM5fvR#GJ_92pp{zMkqW<=>Ud2=
z8lA3ZpoWr0nd+q_b*qTxuLEZU>h3)h1f#eKc=|m^{6?Fy81QVCt>k@yhW-|fnhe2_
z<YmljMg(*Oq$)&oIv92MJ_7zxjgrOte_DOMMLm>@+p8BV)Flwv!it@_^R4w$AUdUd
zBi;_Obqk*C6r!JUgvsmv<L-$26({TOJlnV~VPEvpUazgHzqS)*fDFYb2TLg+SNrFu
z7sBt@&BPexQgY<>U1!fstLD#O<R(}n(2vR!GJ0Ly&!3-e(XO6m_@0(|_pJ7Y7`Ug_
z%KnP0%)&3|GP<ZI8TE|(cD%B<o%(trq<7=Xi*II?4=ramQ{!D#O!gf#aT6yfpwjOr
z-qMVvr{WeDqAaH77owAd;GGWi7QFSY0&nGA{DO9mD-NCv$?q49viu<BENgVcZZ?-F
z-Xonov-sS0UK_FCO1ZeLMRR#-d~4=Aj~2wCHkNl*n6Pa#tnl;Q?d$^N!uL<L6_i{q
z5Tr?$Uloj>DoEL6G_e+2xom;@N!o3`_N!v;29*hv(GBMV*M7$m(oh5iDX~^<ia-7s
zoJo3Qi4Cx#z8XyYX7gjNtM^st0SCmg9JE}WVhTu{NH)C1h#<R{AqweFhahc2K1&L}
zMs@#Nd|%(Fj1{$^XKyzgTt87|e3DJgiPDgFiWK5cV~9?gIS>0=qx7e-b-RmPuGNJv
zJL|i4eJll$VlW|Dh&aLkiyZKvrCV^URmL(LPY|CY%8YG_rM^P{kgY{#|KaA^5Q@ny
zK?xDptvJ>II)}&8lprDm9vFhdpC@A!)IN`<i%Mryc@7goM4mS#kwsej%5fR>GB}vP
zv<<%){T4eldW0^>aETAk`T5uQA#elY_<UdO^KNtEKXMD8j-J5{B+aEgL6kI%sA3aG
zzaiL?y-<#5hDEjD{h6337bMt12Rk*&z+?b^I8n2Q7I_9nc;lTLF1+}ye+`Ea3`gWS
zqcL^DCc-0XQIH?a{}!2c&@FQ-oSS*vg5V0OIcqiXJ<xF^dgi7Haj$emH#J6gIUm}e
zsF#1wiQL#m1CyrdtTZbR!$*T4?_Dj|Om>v>VH0x`n>)yBzYQbRx@8db=OW(2K_Da$
z*Z8lY?|?P+?6$LIlcuhx#J^QAAxzK&DS3&^N4@6<;XFuyto*Om;?364hHfS{5`l7S
ztkGg|FLzXMkk7e@nhs2ABTYOVU#}y^bALrK&re1Lc?*E$^zUV6En>iGmbd8)3|p_|
z@V#Pdqr-|zTEXxsKSISvlt#EE{`XBm@RgR<#JMFMJ0gkVJT#7YYr&pN%iP7One>4P
z*b(sX0^X?%;<jpAiu&X~&+;j^Q=b`UT(0i_<(c#R`fch#$`6ZKY9&Ej^8vxn{GHje
z`(6#go6Fx{2s3;GoDFQ>=dkDXD$v>><?=HqkE4S6HV=j+`PuW;y2#urUA~HE*ZI%&
zmgTYjc;&pc)j2q*NxPiH;Ac~P7N70cjUgGy^ps086+Lw;t1nE2wT@~du2rFKdMcmh
z?fs(L9%Q)4v&Q2;=McX5Ix{a*rN(jP=t7ezJJM7|5bt%?Qk7Bo_&MY{?s>uOQ6UxM
z!6x|S=vAFcK~e4HzKD{$QEf*9Ju^|&dpzlkk&%b`bU&SlNBv6qmcF)j4zE(Dm5ely
z*vtswvAAC)ggiT3t=Ij*8(x==+l84~UbXFYN?BJvPJRe0PF8xwmi#K$PWX-27W|0f
zo#jr2b}x-eYuvj=WuZ9g-V#s<)2@DP@6|xByJCSt8m3~=o}x+otQmd1C~UmIY0J@+
zZ*{n(?R#>mBJ-9s^Fmm^vPdZaLrMSE9mVXt&9e@K)z5TXpBFw4OB{VIO=2PN%eVi|
z;<I4D_KZ9rFb2w_lm(G&W~HDI$Lc<voz$ADWfc=ds88=~2ruw5{|&W$!1EFQd2-Hf
z`ofiV_lrxO(XaKaGrjq%kFK1yMqFK45wJ<k1L&?CNa!UJAk17Caypt7=j{q@17Gap
zr8c`O8C~Y9H%X?(>lep9pB?5E0%gQ>zh4Xd<i@o%ignar8)WR4UTqt(eh;Gq&N^Qg
zhhT_r(<Qw(w7)+@i){M?4kea2d5G3rm6gdJes%<FJSqyHTzU_|fH6b|f0@dy%jOB>
z?Kc8B+%u%UBZ<G#BCdHt{O-0QJ!fmLrhpuU=t#}HbQdB(9sS1)kqN#9xArxLczh)v
z$}E#ubSOhS{tfz5o;M5v{WZZTAuN9!bFGYMy{L`npF~+x6l9}2k|{xXk;6#?qocW(
zyLzOr#!UoMPA<7+bG32drgAGVl~35{K0W}&2~*Eq+A+{rfIe8twmEXWQTsV=eTWy2
z7>mmll>K<p7)mw#{kGf;hIKF*qjrh^y*c#OkbCfNhum|Ro&2I?0p)25G_yvXzHWYT
zdCm3=eKm$Qlt`J*y_dJH3+<wlf}Soizy#3E7dgX>!0Vmoh$e8cENEqjUCFyriShOD
zxzy2f11pXdV}hCB*n4|dioesXUSTm3Su6E?2@}Vx#70upq~imr)cpx-wq>`v7%gv=
zcPAzJ;cT_7s-Zy4IzP;$q6*N)IOQ&<%bLCuyEV2e#VEGOtpG<;%D32q@5a;Cj+x7d
z9!P28wjM}fvjDxgx${S4MA$=y3GH9=Bvzft@|svLH-<9K1OZ~)vOfg!WWwOdGGSoF
zmcEcZz#cP9==fSDvAS`m4Bm1KzdepF4FMPO2aRDA2!MbDUf_+n463K+GWO-L=L{3B
zd<Z}s2xcpLYsh^=OosP=91cZeZal%gi5#54T4yXDqq$7hLxC&Kf@Vnib`>n#n1}5)
zu@+KznXE0yf9xUGC5?ghwFJC-wIwY6x%T}1*VQfIYo`@`?Bm)#6X^ZMRzzI{txLnp
z0NU<>Z|@g{h^#d><isB6X>Rl{iJ<KAX5MOsaromAhvA5U%(}TJ%C;aqa4B({e&I_U
zCo~pKse%U*?pnpCjd{PnT46FYRX5@YXDk?|Tly*^`_=`kXs0Pp8aO<VzPdlKv-Pu+
zD$rK6@MZQJYPa^n7b?)RRrYv#66tZ;+s=nJgzDt#LEq`ZDtW_F9N#MVS-yiQc#>3g
z1=!0p5k|Dao(bJ$+kCNXDZ+8|*(tA0z)Ses3tfenw&#7_i80<=wWs%2b6jo=31{6f
zL*~o*#DT=~$hf8N3gPT6<!Yx)DOcY)>Lm<vDA0J;QYMp42cT_F(OJqPuXvNm*Midm
z=D)tCZ5&Mx<O=_Ie5jpAHRk+oDdb>yjeXIIEhs8w2ofr0-^nrC#1V0io)st#O!UNS
zuLuQ5$>0j91o`V}*LB(tO1-_tdF*+-6}oSUrUaO6YP2t_OQ<Hqg&%e-cqx(5C(wo#
zCQ@GMZSQ1q7eFM}0=4)mbT%{EVNXOas}Vlc+7e~fDg`Cb?rJ+Z{l@crqo(D0zUrB_
z)$9`EE3d|E{opRAR&g;@C!4v<T5_px*Wn%(SJ)>ZqF3z8F;eGBrLlFvhLgMA=l$ia
z6`|)t$^>;e6B~PKj<q%OZ?pE3ljPWsfk3XW=6&R+&IS!tWS@!^`b{Qq6w#%aj_xyc
zSI@YdW?8OI7FX))2N8Toy7dxnHwXZ`A?!bPLw-kYa|$})cHP3hnUE5(_LJkkoyb50
z3ma|f0+>Ye1}0f0id{Y9RlJj3Z|$ea&ij%I$I^{kZgtrw?Nf!zedr&YM90eiWERO}
zO@s~|wdcly=hHd=%#XK_=^=RhKvrEz6Wg$9P|9>T*SXM9fLJjalTneIF*I|DgG>FV
zNqvu2{a4YSTxchTZv{u}dWF(8kg?74i-&(<vn0{&o|7JwrqTQVF$qE$dj>ohl@0y3
z$f=?2#Td*m0s<2AeL8luBV@*+&oBXC8vwoqqT(OZAOkm3u99~q>^5m5a|(Lq4x@5_
z#CsSbv#lyQNYdwj<9u7g9+FV7N@y4UfP_4TNEC4~IMY5Q)&KIa*Pj8jyGe5ZcN9N(
z+%3RqN}aTc`_vFY$5Ij#LQ*h{tmX2@NFIWL)CGn&zCH`!wk<bxH-um7_QPf-BnHk$
zEu@VvpIRfsD<i{QbqxWE9pbFxlu3;UZjI8r!_wR&R?1JEF`sH~V_P;eRDHm(M7j|d
zv&xKr_a|&gtJhv$N9}=R&s&G6G?op5q#<~eG+@4vuf4>688<zTfo+JUq!5?XjuH8j
z7sd%@;wHDtjSDyZRIioW#Q5w%4N3a5TY0wk6Fo~5c_os@@ANhzBsheeWlJKVW(Pc2
zAMxh}H$C9bON|4+Y0vH?TR|m51Yr-!KuOjl9&&dPM>JV*X^{90LR5v%a-T`BX;%!m
z-vGiv2Sjy4{5+(p511g>@sGqC>P&cs3M&g@HkYu|$8<olSn35X5Y-zO2>0eJgX0JD
z+i2E5wuOxxPhcK5>Y5g=;-@KeMa`(&3h!+N6+!O~#&?hjJr?u%5ir4IGXa;y@7p!d
z_V1}xF8hjQ@c_h4gz(_d+#QsWu`-wl7~T#F2qOP8x^>eoPcXWs+xbc859TRl1BBmi
zA>0QexXDv;bCU`gwt}jln`mR&Cd9NxGV&3B_z*!f^c=>Y1|R;K1zMv0U$-(E$;oFB
zm>|&PhX46zqCgX6Lj-w$T6B^Fk7n{@(Bj_>P8AYt`TsPC8+GGQjYe{}twGK%ld}WK
zlMwDZ%>JBO<uRyOmIXH>9_}5pONk1G$@=_1!#wRyycwoVbfD7xGBgFq=<CEy#M;e$
zT2z~My@TH;VH|a`2m+ypNeekbFxYm42&m$JJjAE5Y-pI+h8W5sp`CdCNcOfK$Qhu2
z-~&To`lo*|nL_pma8Sm~_b*Te^GB$(L&xgGB$bL%FA-|QW^$+*P3Ri*7aR~SPKjGE
zwp6R9h+w?Ai+B_KU9+8p-$K`uAcYP4)qqG?Dyu42DO5^V&ZDII{xPSV5kUvo=rjN_
zskqrCeY!mfabTAOvu0EKqf(78+-d}$|Lu5oPVdX^NeBX;BePNk=KVBAR5HZzXok3}
zK*4aNv_Dr!=}Fi}fp^w>PYe1kL3~Bnt0{u=u*LKpv20B1&#Zg*e&ol|vm|vizmqK#
zeWu)^IO<QvmyZLdfdMwh`*W}E6<dC5P~r!BC%MBf+=WchvaXRLdBq>TjG4e;$Gvy6
zTjS9G+N}`G`(N8tMe`}4!iue+3S2hL?ZFL^Q~s%B0UD6_tXGdYg6(!h_d67<a)F=a
zsH{dz^1svovZH0)LI5h4jNJGNH@G4ymstZ4Ywi7gHYe0%qa6Ze4@1I(-nG8EDOglA
zmFgfNjLP>R70ith))-{WuS3Byss58NqS+`ah0=kctj*fiDATg592HqJm<<67=4p-Z
z-v%a<*gv=(AHGcwlh`Jl3K|hKp2-jh<8>m{HZncY{RI~~SfD~Md?pRv<Y%$vVqy3D
zB6F?~mUuSUh~t1~4$$b7k>U83D1*mVLx+xF%QCdTvsIX`)XWG>{ARi<0iwchsY@kC
zay3gho}Ik{a<sQv!$F1B37h$g`0R&tiL4a6$GTMaKQaoH1n|sZ4~6hVllC(8B3o#-
z-cdNV<+0dVtD#I$iR3?g%ZB-~1MR~ZOE*>X7)HuhvlNq#u-E(<KrjO7NEgBozAt{8
z82X9gEHbHZ+vlep+EZJb{3Mie9%4mKPxLk=nrmFO=l8$pFca^!R$!-ChvU%mXH83z
zdJlzgcB_)ZL2)V4|Ke+K|LA<ip7XVr>YmEG#V07w*4|ia7XJk*{4C|Uqt~g|lJ9ed
z<Ft`iN_D-MI0*qA<c|t+23JAu*i!Hu=-qKWtRKkL>0-PA&E!eK{|3!O@}6vZ#dZgK
zU7=|uge>M@BlG#FEH87XjX2GAm|x~fxE^v4HQvxT3bm(|O|Kb9yY?Q!Ek?>>zRkKn
z7Nak{irzCTmoH2#jgD&2h<_D=ho0{zL}y?!9%ddqVRik-WHeL%+hpwi$7Dp)1{R}Q
z+-yt~WjH7Y+FA8*$xhX5_;>oMXD!w<&u0v9lW{iF+U{~uhJek&@%OQ{RD*nqt}pJw
zn)Pq*@`O=TnSZG$&>tNoUj3;_VO=G#6zf$Sb?j}A>h-mbdHL|r?5rZaJabf*Zpa*o
zvE8wHeOa87UW3bTm}gX783W<?f+Mp%b9e0N%EDsLb4DU}Zl5qlq&DHw6Q6gzalr`#
zb?V$tZpa&ApX=(}==ud(B({-xm|YFLJFCZ`3Y_vIjGhRFN*Dd!Rk`<eB-(74!OuG>
zk|ebA?f8iAKG#zA6lwo_)p)225&%9tPIq4|{Os&wU=fTu5-990w=ON=^9_3|_+I9O
zX;G6Y?TU|(MKDdl$6rlh--il`e?2vE8Krl-N|R9^S<TlBJ;*&-exCcmn+?%bK+n)|
z3F2a*Y{;viVlP7gkq(-GdW=*vmdoW}^tRPU{uLa6_E9hsl{G}%5T}jIo$qs~#im_l
zC;UkWoF!?w{M1GXGyW(bJp){Pzq!LzjE2FA0J85S+<|*jj;yd{$FK;jo5sld?s(t3
zF1lVDBhQ8Jv(Cc)Toe1H)k#QC>{{@-lx^qgapj{iriUNw&#lz-7Ud&O-`%t2eMLIU
z`TGz3=O|v<^=V|;?!v^ITYNK3=;UV0{S-zfE*c{|<o9fA>=qqQN(^wT1}TiP9z>~>
z7F_C!HMgIV%-%f;7yj%MaX@y@HjmqrS-|m!aMUxG$79MMfYZd(4?0CB_XHIBcBYbt
z&5y1?H9V8Iem%GN)W!l1+GR^0Ha>d8)I*p00BwxP<U$W#_u=KWy+skSOCfpT7w;EE
z`y7C9?oe9(>CtoQBZz~n^u>hU4a+7B(Cg-^y&jHQI=}G9xKQdN6L0=n-hOt(u~av%
z_T`<|CF0ITkOSm*ZNT44C-;o2GxPB(O=xb6X3^}r&@)Gp_T|lyy~m8+_(toj44t~f
zujAOWMo7M$Um$zcNnL+pct&bA?NH1kc)!f(?U;7)h(o)uFV)4jYjXS1XKdk@8X=Z~
z^a4MhD%$NTr9Q*Dw!}$A5F|aEFyaujd`gIVkJJq5K@<fq<o_&fFp7xmSKU~@|NWmS
zK0a^6?Bi>c_wP)rFT&xH7(=+#ZkreR@qseZSU;O>KNljfB{3RdDM)<Oe1Kb=r+0&^
z{Hq}=(wN~;mJvTsKP85_{~d=X^MpxF0PP6@wYkLFr;+It+-4=H9Sc+v5g-D4n$>dg
zKrwl+jRKxw<{}UPLl5jAf0Uaf3E~S10Pvxkk?b`IK&elHyXkTX6%pxJ3CM493&2xM
zp#{9`T||oZz!H3eN+6UviGYzsF?S&vQBc(PtQ>z$X;&Ug&(?cIM2_q3hHmSg>Ob@s
zk^)=^O=V|pp8~l~(*zk1K|O^%ItN%(IGp;n6ZdufA51sD|L}+nd895l<$E((YKfa+
zlooD=FG?=O3L$<AEnrgO2OZt|Gl*8%e@6OJ@wu>gGb<VbfdFc>xGiuk=2;*|H~N;M
z5a>H+R)X|^vI}enBE)jPAZhIAms+^~bPkww0b{_QtI`Lf3poEY<vz#T)r0tizk4)E
zKT+<p-70=+ucJdKXe#A^Nf9{a5c-aQ2NCwjyRdd?I3{SkmQDQi_oP!Ecy-s@O;^kg
zqnI)3$E);y!yoYg_`JPh9M0O{W!?}u<viM>B*^jCApzZ-5_sR<HcVNh&^<I)J=kEC
zjepaekNx)57rg~ThE!+oIE6FO($%jmGg`}I)h2aOCLs-QC;#&^m&X7)=wQHGx2jKy
zkn<o>q<A;K-0tk{J0XAi*1+OZOxBr_zUv1LHXHl7FF|$E+QA$p^WaFxym2CKH}j`_
zh5nogLE%}oWdmbQDjFV(c}2T>6eNe!wY8Qlzb>dFHYBW)G{b31^xaO}>sumz<m-cS
zG?LOWMPWAd1(E~vAP5+_sMZ#he{1evKv({M0bSN&pI&S0TzkYwcWLRK*H0*`5p@n*
z+<|;b;eNznHcj_cdn*BTXr?PiA*<tjt*l6!Oy|6Q(1|mu-F(}Y*LqTf;%$|L$$r^v
z!hvkU3iFLCQDfMCcF%R_Uy#?&Py5ruT5mFjGD4S+6@Inmh@M7Dn+NI3>H5^2u4gYO
zX49tq%Wj4KH^bHN#&F$GuiSXkKSS}GzRO%bmA@@Z;wlwah&*%ONla<L_G`bj3RB&a
zl}79rIfx4oR%FgFMuKvG(GRKa7Y~6GVY>H+yUXWc;o8acb;?xpue@TMU1*b&IXqm+
zk0lsVeo!kqxi@-GLG`czx=3!>af-{+R$)Y{T8_^eLA+Cjv8~&SI(1$N{#f2qxx>@(
z85PbB0eB$lt=TCEfuymGDk=bLZUMN%bjLOu(iFSJmB$5Z8qrdZn?4LyYqXaCE<d1K
z){AotWYgS^9@j=B^EXd!2kEN!BMT8MZQTqE7~fMz|EB1N=7P4){YMC}C2cUAkVzV4
z(s1U04LazXE5wB?VYWJlbQg3NybMER_m2=I11;KkN|0*G#(gdR{~8GKnBc3u&)KE<
zzX!fj1U*J;$3}@y4Z`w408H2faug6B2v8vK9-u&T05OPiF@^>H=xst3g9i?F;lK&A
z-n=j{91C4khd=m+C3V3jncf^SP(RD2sryk~${(A6_a5!);v^b_sQVI9B;o8kh%ShF
znlJFd2V+@WE{-T+v&gcL?b41x19VD{w~WVa<b3Q^U8u@5PtzxU&jKw4<I$;wXkAZr
zsd>1_XHTQwN$#B{LRQXgb_~z9bbp=Y))?FhGmSMRHh*UvOWR%Ns;8M9S8LE7VaA-Y
zNz<_e^-0D|-804vbLpaLe9WJ|o)Nr;RNdFQF7gd^p(}^~m)=%4ME>*gyzFO)+Jo=B
z(702Vw?h9#i1mYo;#K)Eg^yET`r|dHb$?zz_=OYlDqMe4H&n4`=8m^59!i=Sp7Ejk
zRpbnt`3G{NFI?KU0v3~2AI)_$*&3nD^!qHMPAG<Ug@J$RIh>BCEcX?36?Gd_mD$4W
z#s$1$lYbA3?<bPDK&Z@4mFIP2_1$pEbcb{4eqx&soNhd@1=QF32E(X%e*}}n*`g4Z
zD!sEnyi$TuniEC0>4%wrfO!5q>|r;B7uOS9QU;G?Uwku|uzY;#^ZboCBPNMfR>}xt
zEx<I29_%S!=YKv{)0x^^-}6B3qg?vj3cc1|VIY-v?S;G0WFJ(qjJdB<k{otwk=UH0
zCLAS3R4@ZBjGhLT@F<Z4xeuHR(;~Oprb_rX7e>wKFD}d#<&swdJ@etg{u7tQpK5w;
zRF>Fj|KS_g{^1+{i*7910k|;GfAftOm;QGy43F08^622$gz#Zkcy9T)d!OPY-?@cZ
z)xektMO6;hden$#A#kOoj{Z6*f;8MZ?i(y91PXiw1+uCSKX%<U{5pG5^Tjn(rn-%G
zyKwP%n*jgwcNQIWXv@>DIP=lUG5dbc{{T3qj?cwIB*Oa=*F>}|?@vFJu?l*7r7=CM
zNGc5A4b!_f@P_Aap1rh3CbHKrauNws*j)AJUZ3UuvW@QTIu(&iE@dK<ER^}M!+a-R
z_Riw=4?{%cRfFEChzhfLGn|H(*QJI<$k5-4)ccIDkvXFlZ^o{tt#mt1b8GC;YjZX3
zlgF7gD&t;d=#N<)Exp8>`M}~9dfk1C`YliE(7Vq4kbT)-{FG88=BL>suQzR~=z<6z
ztrZVnVLt^<x50Uu@ZWvg%9sX*RX;?%W_<z(wk3PDO$_g^vU~uE5VHp9iJ(RgMtwxi
z9Sna^y#+>qOse@i9SOT$X#xS898n7G5n`nK0ucgoIs)l09FPLiKVbOkextx}o&Z9m
zJMHR2Y*HakOvAd{r6To*_HM#C<|Uh>mt!%|@%w9bXoL&%C8ALV|I2_@;#-d{X^@Rv
zxVr@g^8~0P-I*+GxP#k$)FGqtlTUJUw?h%@X<(rrB2Uwlu*ts!k=6=Qh(`=thcHj`
z^n)*ie2%U>?TX_I8!^R<!h7MBw_39M<o))2A=klgFKk*d1+FkF(HKL4Y95~>+$p6@
zx!6dyo#mBJp8MckGfi2Do>vQ5YU0U#o1sdsS_+>n-}~-4O-KX7_D~tA^$`8scj1`*
zs@<%yR3#Q6r&rr$C_SVnFU_$JW`@W={Q}UrPqTGt->n|45Zpq6xlnNDjsk%kOhT@&
z_EAwEA=34eM~g4$8v8~oM_dkOU6~ZK$PgQd@{|f%SR3SAxbzMgne|nhIH{!fzSHhi
zsVVefCpdje%!6va3{fn+Qq0iqwHiBm<~K9Sw7%K{c~w`&_56$UpLBH4rcO1O)^PeM
zH`l_fZD490cfV7PpU>OE!fr6l>nejSrYXa9;u%M}MODWnR<3CAZ2j_N_Vaf~pB_8x
z?aeLS^=`FM@?IZdw*LPJ`^&I8nx$<R#w}QI3+@sK?vfCK1P|^WB)G4@Ai>=Un&7U%
z-6dFXg1fs0eP`v`dw;h)_woIiqgVH=o}QlRnzPQTt}^vL=4|`?TNRH_&f&pQ5dySG
zJl0EEa)F@VQc+}v;(Lq0@BLAT;7Uz}jG*-h#8VupZXD(mYMV>Fj#nC^jd;Sl-lw;G
za#evSUZ44b4)$8+?&eX`japXhE}P|o`o65;XR_I^w6`a;?K@dJYP7SdP~&L5dkLMu
zeDeRX)7OI^4rg*|Ng&zW@-v66A(B1(LOaV!V6GoD?Xn!w4*v>sI|gJi=^7dDznF`l
z)*?ZFK5R%z&LfvN0v8Om4~jmlBr87IU$Zil9oY>(75@TK!N}`K<}iF$>r$N0+%B#c
zZSlZ7aN;M|Ec{@$(Xl=>C=HS?s0_fb<|>n%iy$j7rinKp=?hG<R0Nv&b%8OI4oRTI
ztk6UVNic^{Kgs7ISTMAbJK}W32Yaw9A08;%#y9rw*7E;X>*T*%!E65S|Bi#Lz~8PL
z;Qx2?c7vc1Je4`Jk-wsw;4#8~BlEOTOu@{~GNDaUlSn4^t4<>DE1Fjy;p|~R8y57&
z$W6#$`4Lx6T9mHS#jVkxchwHw6+CG>QpH~yF-juJCjyT5#t=Z6HB`U~k0nJMuXt}S
z4L|OVX$dv#@DZw-o=$Q7_0&XRP;7`l`s=6}33b#IyH~mW52pe;YKnr6ny~ysrMUk#
z>ik2fNd1RUF(cZ(8kL3afH}XZbT_v9sGq(K<xHmgUjtCm#EhLy7mASYBQ4b$`!D1<
z63rmqYw0}m;=Cn|{{ZBx{qnM$A7#4nYQOoJ_kU>fH<e-kR^kUuIw=Z*w28Uw|AxnV
z`TvH;*4EIkQINHSMpVIG)j2<1TOWxKUdT*roHfv&nmt%FFE)A(I1}cD9q44KC>MM1
zJ+G;KJf#jvtggR;)KD$cDU^x+Jb~0)wP>DCduTSC*Kwy6i5+jM<SB1F42iIn<yWdr
zGjC!n&K}&ALhiiS%UgJPqkh+2-R(E4X?eErDg0OCI@WP!BW~RN%LXS%Nu`?El29@o
z_{jnOV^o)!=OXTD%KZ;(!u$_wa`>gv$>UI3(jm})2|3;NeKQZI90be=>iC_CyF7Ae
z+(RIfVK<WS>ECF0{L!Yma%bO4Vzbi9`)CpA)MRdNXrYYv<I@n*_LEj~^;8IBJ5qJp
zua8F4Uol|;bq+au?PMYLS6*5UphY;UtmLW+;dd8K#g|fWTQ4gvS)vc!PHE%UuQLaw
zDQ>Bdah;lDb*KYX`RmLp_2IkdqnDX#cJd4|={HZ+ZjVB?)Yc@e`0-*<+*~UZpM=H*
ziWL|vJagvK7#C9kwuQVqP5(;5iMfHrgPMbcPs)G~2Ctzm@5IZ!7;1qC47|(M4_;Vm
zlXYk*L)tG0!(yLgM+#dc=`#7PYls4lv}%tg2Yel?)#di7nyAgoGZxQYK`w_a$}!&p
ztmXL?E*wMV-GuptzZK>V)GVTFUIq+j%gjYF3{b^Zr3*k@IEX%zEz)0qy2akbsn%E*
z6u<-0h&E+S@OtKo$JhHyM*V}TEy@SCp7qoy>v~-k9mFVUljgDuKzJ~PqV-94rx?n|
zldW@|=HoQv41G?PVN41yo_9ZbTHen=<{|{J98E@w?McMGsiyUzVegpv<Mw4d<%wRQ
zi|=fPcg~)ROV}4ku(TuuW>_A$#NG(zRlWxB%^MZXm}x$IPwK@ec-@1f6rj)R!)%ZA
z!FLIaV+^YX5=%#NQ^k&%B@HR2xy<EKJ_L4DKRmg*J|dF)u-GH%`Y!!zQ-YlR+Y79O
zBREfx2$;`CmZEDs_MKnptJAy!0x|=3rsGI8xkerNQhVf9hD$%vJ(dDzEyqAc+a@Za
zjt{2i931HC5GjKWdO0xYBJLQX2%_Wv#u-~>+pxiU@c}7Q9JxhUDH4;~CQWCwn1gSp
zB9frE{jzjBV0)C<-G@994HJwgD{X@=g4Z=Tu|tJ+-10dgtd&~N3a!jt$beVr0!3rN
zySehXH-sJ6V3F|$r+rUC|5u>NscXE8mV{zG^g)VoPL8hIhqtVo_z!7IFLBV1=OtN=
zE7<yfET6p?mq2^;5x6)*9s(&hj(6MszHhdqYoBU-V5OX&(MX|TAQL&zIo5_gXNK1>
z>`vfcKO;K*p<QP1FwA`4(T|AtOUWKI$BVDoDoNf;P=Ck8L6y(p!^8zp1-^>>yoy16
zhlz`tOAPGoy>s1A-$7!>P(hKusv_QOi`{IJyv#^`UBE9#?^fBTkWRMKqNWBvR}(F~
zbC4IYAz_y({E<_-EWe^g%yn=aRv<35YFGrKQtKhiEOe0rG;B!x5#seSbq?8($SH1>
z#6C-M*$f@<@7FF#8rlXJuwFZ~;Atq5OD<Wq#J8HBQK~5I=eBrWQ3k@+j5iz}Nc^eJ
zg%v$*gY8w>1x>S;<MkCI*BmdL5=Xc2G}gLcJc(Dj6K--OVuR|Y7a;lwVeW%PvhlF8
zJ7)2njMalBxHl5)9SMP7C6Lo;TO&7l&ffa54>@EGs(kvA<Y@`${v;%V0mJljgmR;O
zHcDOr!!pAfth7!q<X2^ouIB2K%$y-2`G9f#!l@(R42bCY!RB_t`f{G@!e%RZ_rj#!
z_mOa*Vi@k&&Db7b<Ogb~i1xmB+D@6W46mWhL*f5NvpRLBTnoT$t{va8rvtovDB0N`
zn|EJzJ5DEY_;9I;%#a|*>gij6VfWbMbt?KLgLLL?v(T(@3gZ3(%ox!$AuKnjPy7G9
zk~i&Z?H2AbBog{H7XvRTISyHxY#72oR7_A;Z3m;`4ttp-6!@N0(b#uL3WE%9JLCAj
z1`GUaw9AroR+P;LD7qZau|N$NIve)jY=Et>y3pC!o@F+IKQ()|<EP~S>bJhiIm+Lj
zbs+@3M9&XXw&T9t=6GOo_Pu*4Psr+P#i_@^hS})zw-;xy7w``bXnNfgTu)Xn>6zAg
zo}D`wFNdPMBNs>jj;L-|AzuZKMBHB9|B}m91h{lcA2rc_QBd=Rd;Lfb!?dRcL&wOi
zrtPlpS&q5gia>;;@6-=zj>{KB*E3KS4?1WsE#)7Co6A~GI>N4KM-|SQlDE;+86_Tz
zy<LsAr%SmU4`P~)WCIii?{`Kdr<NWM7Vwr~mYl2>3*+E{mO5E>v8L$B`ZbzQW9Ht!
zvo`(a^qiEC+8i1D=LL+S#Xq#V0ZT{Aldg&+nV&C5?}bLM-^!&HD}T4JYsPh+moQ6W
z%Z~rmffeh&jmhwMtG7U^rF_^?$~tjQy&!3zajLu~wh1S2YS6@ftp2#q+3%J4DOwCw
z{hC7Zq~&2B&^b%0X6c$vZwn0bxL+nbWr~c6_u?m^n^B$pO@V$GJ1mlaF(U$NPnX))
z^+TS~CViH#smkna;{sP6179%t^dogq^RDTP>RmTeS=^hB5a}{*>Ob;I7A`r;g^qTd
zB$U-siZ715J?@PImZ}LoJL2-Q+!sE7ujdUdH|V;w0<v?Q7r>w~yt2UXk(Kpx%}jDu
zSjK7h$tM{zR;qubK4OtnIWv}jpGl)#y0f=lxrPz3Z2s#$ijdCvE^gM90FbD7s^LtO
zrI0u%PwLHVNm`6PA9ltSOPY6&G45337iYgzB(ob?aM&{BLjRs5hvq-bTs{Vesl8iz
z1`J`DkIAk@wlE-Te%usIa8C6J&?nLG4~V@5H}5zs&_VONF8Lthz!PZ2z&vwW$d9$c
ztr(MAx2jN5p{U?MXZ`RVx)*N;+>2L<q^ms9362W`t%<K5t-jOry3n-w3(LiLeF{tb
zWDv_rXg0ksxMl7lkR@7k;xx22G#yZrKa1fnQK~|+fYW-<TRWJgL>UGSfF>;VmQt=R
z#tf-~$ox4t2m$6-?Z(&@Ikv%KVDwa1J9~VkfPo{`-8bLRz?GMWMtAugEq$`?QTJBs
z*Ub02)6V0iCROF^q98&3blv!0&m=|M&)JW{uBk2->Iv2siH%>4db@c00A_|?vvImO
zE6`c}?^5a&>GT*_vy*zKShI6PS+f&vn*$={h-f8_v%on3gVy~OOtFRk*9^SUjloAP
z<LL9kP51^|HYRHl>i~lvuD%j03x+RN>QN5)mrsK{bUiD>YyLt6N+|J>HDT3Pa4O(R
zK2p8{i$3`E<so-uRY9a-__S-#?OnQXU?m1E5?HK&yXJAod~;-PQt2m5W{9ZiD+g9)
z`F4Xvu$NZ)Bd2~cTUPaG7Wk5tfKTt?)QIx<z|Xii*eTDozy=0iB6EKN^mj5s5yyKw
z0Q9i{KlcXKM^4g*pIFtRYv76u(ePe^j((v?IR4O72fpCEj8fIrRccC%pjG&Fp#9HI
zP3L$Mnd8sEAhX~t#(_sf&o}te3#diGV&;!iy6;uG!w9$5yIX5Mc?`NRFTT0xy5@9R
zfE?-GWG4Z#nUChR+7Fd@Sz?m5M0X!wJ>4}uN-nYZHsOtY6)np^^2%SX?(_HFnyvB*
zgxrNgs7<SbT=ynYZav)7McjX7tjx)XBA)A3qHT`?JVP({7gAiLB1K~B<O+vmLMRr$
z7R=6Prl+o%7K&s}rwa;<L5erls((t$vxtuO+H3*&rCKkA=Xem!+F9H<>mzWlP$Z`y
z*V~7W@}I7ARtGemhT6_Q8~mthAc>$EIaL_@v>mTkd!w&;wt_s+;S_`mJiI&#FDbZM
zQBU0Ucy60jUVOuNn%SEASaWw~yV>^Af8lx#=}(-Y%acU+!hBmR9U#!eX|wppx<0w@
z$?G|gxke;27nJSbC=yWmu%xt91xba7=<q7trQSWr3~Zg+f2eXXUOpI1#NTxsO~_cF
z^whiyD>%!GTO5hWe{bf88=-5)O?^znj*WP}Ww1ba{AQ=Yp>mDjj?ee|)akq2$CeOy
zhmUxXqDv2FH$7-A7OTE11FFixwzEpQq&+i0`Ko7)vWnnQF%)UGnY-20pp+<LCAJe-
z3-3MU#2Qj#N<)z+Vml~<s^|JlJmz*vLPpB>FPT~W4?gVN&?vh@k^>Q&Z%()jzr|Ee
z#$rFe+s`?*I5y*h5lOMtw-`97j=fUy(O+=eJ8?RQs9uiur*J-#HoDL<6T}$<z9lSK
zWsjctN#VHJDzGShkGY#v!G^`x^FgCK^hNu&mi*2K?HgQ+FB&Zpa}_l#{#Lyr8|-tX
zUx)=t<K&?KRip<3cpM`w5I4s7MqS|g=00ZjTLr|w7>4=1Yo_)i)wir?O5bxtz+k;(
z=P2Ou8=sPIclZa>w{XlL3<0!n|KDebzg4IG)=73<NJjz3+z5j&`x_o#yysOE48Ay`
zCp^A1`oDY7KKeg9$O$Lugs>ZIMo!47TKkY9-8h!uDEN@3w`0&9c3{}AC%<b4Fzn%5
zI>5EfS4I6Q&?xebo>>B3>3c$NPC3U1_h7gvaL`~%39<yDziBrYX1cv1OL2I7@NQ`k
z2UwtCxT1XUC_%|00Ty%Gy+FwlZ85KuL+OGDy1cGD2P^rRU;X3#`d6yhkcQ&XmccMZ
zQU!#*r9=aQ;aaHBXagCms3q|7>POx9erf#oSIIa@fOeTTo~Pde$|3aXAb`|Eq%1mE
zu0T4nUK0%(nh(T59AJg!1a%J+$HN8(LxmO$m-WwJT<4XtDC3}MF^KG*gSFsjz_K{r
zUm53U3y{j<(H289imtQ4fz|Km0vW^ULT^mA42FAX-!{7&i7FiE%qQmS=8ua=ihXA1
z>TB5^2@vxvyx6rfFP@^1qq=>w5m*^TaNgFoubATk=f;%A<)tfvajVc~5rynORB3kC
zPtRR9TF=nQ1KG(DEiKFh*a($r?~Yv-Oqzh!%jT1N4~K??MN2VIj7U7A8w7X;UtTOU
zx<bVWpHkt;0FQ7Zm-1Adm=NDvk~t?^C~j$~BT;+jYE)R+^X~V`@coaTI68&jO?pns
zNZnB2B4Ly)9=y7kS$D@*vl!RQWbnZCG;;3s3uoJkJ5u&1xvXgtTPq>G$PFOjc(SnC
zZO|45p<^i$sZTKT)c=yYv(GFld!PTgkMYs^dUJ6Q&_ilCuEscH=-7Mo4<4)oyyPBZ
zuf0_QON9Uo!t<Lp_BB;98m2q@SY9?zjGWSb5<yE%4_RcNV<jnoN|AztzPMIlBbC|`
z>Cn-1sk)I;MrFq@8-kg@|4*RksXnMODl-K6;a2KecAurT|JswzQ8C+fFrD6Z=w4)x
zGAJ2?T)k#@Kf}XI8YT?2&c3<j(Jkj?2JZ(ow?_Ha+Eqg*to`=F5Y?wr^5!INFss4=
zG~@r4W>@0%RMT4K!leDBMUieWv#&;^_Ur{fi)M!fOjP(JaERa7`BZ+mMKK0ixE~K%
z4g$aTO-wmHm+zr#^$gWgpn`3=5OZJ@yb7Xw`2NG5|KwYO0Gj_8Gp;HnQt5@d$1F1I
zN4is&_tpW7L(Z9ljjPxohM9RD5c&ufZr|V~XOEL%BT72FH-^4|tIU*Waf|s?g8Y)-
zlYm|q$?xE&=X=s4HsV$RH!^gw#SvxgFe@WW{R?XZG1?oH-hEI<4r06*Pi9ht#^Msd
z9ERp}>Z3(sXbi<gS6XR()}&}=X>b3UJ>u&z0@#$iK1K$f30@RT2nJrX9Tj@fm;C&o
zrv2U(j-efO$l)U<0Bxjy1v;Ci+2gN#0TImrE3Cp!t^=Jy!H_dN!vzjST02?777Rms
zhzX8A?$(;*y@T+866vObY_;1Go{H><&b|3lGeZuhZ1Yo8)Y632(eT@HrhW!S9qsGa
zZ{<eoe*REJ@2?Ycw_8LKV;#LtRO_L#9GSc3k#Ukvp#j1^d=9R1vpdIr8z)-lYx|C5
zZ$66eYVqdd^4k<L8dG}tNXyVT`aZl|nK+Y@i=2U1k`_JO0$-kpSRm+cq{!fZhaB4P
znhGjrz$;8_`><jgA?>I|e$5lD$YJlkWKM?V9Q%nL@M_#|X<pwb%MhMYf`yR7@pmrA
z(bHp{%|SI#ifcib^qKbUtY_)!S4#9ZB{G3z6R7??G?eHlU6fqnMD;M89O7$T4POVY
zCYJa8h$^(V$T?S%70_9q!GdXGkiNniw<Ci7f=cvW_c8ZYkd?r<fkfz3NSq7cIVJbd
zR5JhPIkB?<coH+F57C7qOt%j)C6X@8t7O_r!B^cBbU(We6PjD21>E_)zSb&s?2kWN
z>`!H|PSk!h?%Mmv=8-)0YsuT?$0<icM(1=#djr$l!9w_kUUi#?aP;=P!HZ8yje^>C
zKUn5bi?i|h=%Y{_hn26$Rt7M#f@<1=ne7DU#wSGq?)qIUIfVSW264OW-_dpt%KYIU
zUVD^s_l@vO_J2O)%xqI93Ej`Fzty&Ucnn4kAOVB$*Nl@j^{G-t{LnC9jo22|-u*n#
zGfo1f$w4JuTOvY9sl1nlRL1$Bu+B>|DK9;g;ulj{b|BVLCo)A}7x1Vm`iuQig8Gk%
z#0Zck5}D31*W$SHs&<rDA|cew@L6d}<U+xEYj!LJp2oXEvDwicDRT(APKUHlsJ@g6
zN&OdP=h%9y70!Z0(MRc89-{gWM2_+Rt96V0PD?hKkn<_2$4(UPo%$ECv;JXZSqrF?
z{+_gQ#ZlXC{PMOtgpB&xLN2z~ZM`SS1(5DNN{%(&k$dK4x}P*}v4HzLL*zZXt73j9
zjFZ|{(c)JqxSK-@=m+SkZ)rU<G+IXbE8mSD-3@Nqe29xH-UWqmOw&I5#{!~s@AF@~
zq`!m*_L;VhNEYH5c2nXb6s|pUzqa;jRV$IDllSA&o3T)&+m3P2j%J^^+1$1RA-{I5
zQJF@LMb3vIyGA)U;R>l#T-g(OOd~r#m}I#GKb2jDE0AVYukASd!>Ru>$HpJVeR^qL
zq#w<XOk#MypFnmBmr3>YPIxm6_b}5+>M_4+ZhdL<5LEN0GOhGpo=o05>6j?jTN#zh
z5Vd6}mNeq%7=xY<m&|8O4zQPs5Mn=FEpTWhic`$SdWhOpR5akq?@)swqHj`UY9XXD
ze+L792@8gss<s)1GXxnBA6P>eA}E|^GJ~h-K0q=2CJI&=CYEZ!pm!l4gNff@z(g=x
zqPZJJUy@(IqEAArhN^g;`G8yi3=(+mUo|G)Ivl$ipz-m&1?zmZYRzFe&~eHBNgOwm
za%cM?3+eSxBn;A?o4(inXl^FH*9%Wl_WPrjCK#6wF51X+(Q@n{KSJ^!enjJav(S!l
zFvk9Sm`S2(3RtMSCzKyCaELeyJVh}2^zIwdWmCCmHhpq#<-f)X{A;kSm9mrK!E?{s
z#l65VyX~wx)i6XLe*)fUK8)18a;(W^=|9wkQ$tCKKdq+V(4c3WK&=hMoCUeLnLO9a
z=_$puIBs{nk!Fsgq3R5wN1(zgt&HcT^LOVz<!J|5qovol6Ey@TQzC>jpc<eQTXvaK
zH1HCL6)v-=i`sDTIu|bMO67iju{5px8wa0PD3XhLe&Ofu($1}4(uu}mQN`(IuJlpG
zqHcRU?>ILcc-BJ@J#;Zt(}c_N80E<|oN5@Nim3$S`tVI^j9586NXFc4kc%OX6@nhd
ze0m}lUDK(%%xOr)?KCyT#N6(`Z!VXK+IVLH)__y%gk~F#0DV6$??sQ0uasd>uRq%B
zF9K*ozEp;o$$y`_6ZqVRV8OgG(B~d=jJw6ifgI=~V2BBQu0!B+<v<?lfOy^oG;BaT
z&-#OocXP`-;*UX^rtA6wsZh~+Z##_er2!3}c8Q<J)X$}cI6|ezgwG7X3C<K`ZQngk
zu=-!xQ4vy=^=fHTwT{qIBjm2`h<>+42c$w4!{vCd55{NqJ+BzO&g&{XbRVbn3~EJX
z=G^xq>o<nVnr&O0z)ivH0|>|K#CiP3>tD0D!9%eK_%n;^c-^RkH@s(GV{zuD`nrm=
z=tyy<Dc`jj04$ImD!p0FEv*te>wgTE;1j)O?;uVB_X`gN{M|3CU&opDibMPw!+!s6
z+KI8qjP3`avyn)HFV8va3{F2)D4Bl`^ABEq+9$#ro)_{pOophMa2@3u_L^{@=>V$P
zuJbT=X~DreFT+H=X7I&GWz-e!snQwsBXb1j-^^RfhSja*if~D{hXBl;;=3}#!VhMO
z632zkGzPc`{05H35Rf?H=@)G3*O*Y52_;}TR?z&>;WWT!0*2!`sQ<5OhYt(rT&Dz*
zc_jy!8h_omQwd*Y0C@e>^g)KLH?7HSjjc5oYnPN}p0{kara*OeX!G|q0!sLP@soXg
zGB8;5lGO?IU-nwai$M<o>z<=MiI4dd;g^Nm2|T<H#R{_RTm#}g$9ww|_<O@6JSe+J
z1G0-msw@#&yo08fTD)l0+`RvNvGb{ikf6L0f+H#+Mg-SXvY9mjOczH7EII&PZC<4f
z<;hP!jQ&}HhEz=dV+q25Kz|sjckp7HxPIZ#)I|fGpE-U`vtkDt`9ULsf$5S!!nI5I
za~!I_S)O2d>*e<NXlN^DO9Y|!^^zWpP?2Y;KhDh&{p}uNmR0i~!t0(pY)@O=SEs;H
zMHm%t2^Z`K6EN-QlsJzP2J~8(aZmDjB<kgRt+!J!af)51Vqwyh;hTZq@8J7)T3N(V
zK{-b!j;aI)m2*LskM!9HVeu{o5A!V_ycKN?hlS<t`SiEd4>l^N+3*}fSCqc!`@Ml~
z=KW`&AH3t3{1W<yvV#FuRVi8AvYOK@cjl>U_pA6&3TTp1==%ev8ik?$%ZwzK+Hp!&
z{3iNq<7Gg_l-!}?2g_-2&rkb?+ET(~Lfub0Kc~&sQAfwTQ^<t`d*A4rM?yx^p8*#t
zyA#Vp>cwJ-uP=i7F-$1fwg7;y0{Jus{;#3}{6|w+hiWR)?*|XLjzUm|$uU(krzb~`
z^-pjfgfdO*_%S@(dKI%$mlG<LlJ7On(vk|yEjDIpJdWe7GVq>$rH5#@KFks0Yh?ZA
z`t*;25;-O5DqolmDkwvsf|CC8ZB>(0R`};l1*AIfP8P@CgAX1}0H8WAVi|ijC3b!+
zyi9m#S0)vZ(E_D8>Js#7!}X+)#iTJagwk&I-5gR)-_{`4RlOe#v&Z$)>v<RQ6knd%
z3mmpK>-;JINqOy6EAdFHxd>qUUSE~l4H%4+q3gIklDynH1q{0L`K45@R{1}Xq3Iw$
zgxF+X@d{;U2%kIx=D&vGZOE|(YZW~I600ho+qsF*MI&wFg!sJtXklpo&3C*|Ib6@H
zSHMJMP-qzE->mCb4Ux+2i_s$eN^uO*tJIB~7VH;(3<*JKRexSPe8Mwm3*4WQlG&{X
z!=`?Ue@t1NI;~;@*;QY*f7sPu`TPgsp1`LZLKxDPqUJLa<k+2(sK3lccu_#47*0T4
zkfmn3ED`1XOs{64r&_P9aL)J(?5(zdG`d5{qepZ(thkS$;cXx=5xJJ@a&w~I^3if(
zvdpVD$qqT544z&$#DwIEmEq;{8@)2L<eR}1$Y_|M@@4dOfoeN?X<964F8MuxuH&q4
zmn&ga@tPr|+$4|X;CuBQNoCNWtXD;!PQM4+!S^+y*>zbmc*sh8m>}Ynj|gZZgS3-_
zHnIaF6i7j{5-bGtj@^qGa5yn!%|3tmF$KP`Xjy>YSWl2t8WAgFi--s*P=NjwI(!$X
zVsM00p=VcBP@<m`IMxnugaaYY%ZTA2EAi$Ez6>j%iqVC8B3TQ0HTH$U*}(vQG4e#x
z8%}YJJb?#kHH0O;`hp{*H(#+=_DWUT2Ys*})9xRe+PfB5v%h_C4vmuz?tC`1mnI&#
zB8Z{35RJ}yrv9^zJ_KTW^<J&DH>)|>IiklvgJL0Htm?NApo{QIXAhm%S6(HqFx<a`
zUSkbo79n4ElBojK#__%JY&SM<h?pkLLp;y;X5-Hw>m0?<=N=9e4aw)LB)gm+%F8qB
zbqs`mddx|fvibd48;DR}%~&ua<0z6sXvnyuE4uA=84pXBKkAJ7hy0WIWIEHMy=%ee
zQIg<YY7OLKd0IkLb@3kZE@nn%neJTftaG=Imo8wZ=%!^Ec$Vq>;@V2WG;~?gFKj#q
zK0j*jGL|K+?OEr>St+vTvNxy;YF%H9>w8r?s~lT`mf5h}?a@S}o9-thBDvf+O1w$A
z^-ku%mff{Ka%bVTjb2ju^~oqwV?R+CFyABz4*_bZJS(Uzx++9|>YieR!DF)aDsFE2
zYx|m0GzPSkT_6GFOx>O6X^C#M0*3;h#O;9k1^n8BA{W-^A1hfqd?jclqhLVi#|5Rb
zJu28BPJ}J>m2@r2G!?ddI^u9C-}?+_Z?1fLVC!UMs?q2+MRr#-^2h9IvCA$nZ|8D(
zo~cFgcwxuqoQY7UWzB~}(UE~VsQ-N)vdDg&KobTD`7L^S*l0}gV|%etl>yn)j;ACV
zjIrKvbWj^jc(8Pj*pzzkcCK@J$&^v2<YD-s^|PBRa6ZNaIkp{VSrm+Bct6<t%vF-D
z*)V8G-gFC5Xaa8=QAjl&ECEh6VDXJJSPY*EtW3WAD83#O`5r6(HU9G5(VzEjJpQ)|
zq~W6O&XBFOGM_K{t^*OW#ilHNFD_zJU+s>_4V7ptT&o|&Wjp9oqHPVg)w3@JjXA9w
z_q;Tr&-p&-d!iKdE%M3RWqY;QK7g*Z@^OE)F7v*JBBSQdbIGGjfCJV1cM2-KuT11e
z^tj}ow5P~Sj0(vN`~6GD_8BE<=jt_4ti!9qbIyV~dJn?xF`Ey>ZR=IfUtDFJnBf{;
z55_!MK|HpnPePnb!q|@w|I|P|1eSDo5~B4m&y7ZH&y%qrh^P#M=Jl8d4k;yh$y&za
za&}iO!*lmH#+@NRNx<(^Iu;-`KH^V>B*Re9+bw!dE{bXHp08Neq2ohAJQ|R#E|M&+
zbE8-4q`k)4rq?_pbZJDtN1WH+PAskq<n^Y&`fMviEaH*xapEm{{oDx30+8q%+4=o{
zfxE&`tLniWj(s-L@EIS(NurT*e9aUp&~w072rR=|t^lBI@f{pmmkj*m7jU~KYqbTj
zGzbi+FhExvC@!%3hQovX(KU!$Tpn7(2}$(j2DOBL_I83=!iQ;p>M`&g*B*!Af&S^|
zffmv@h)uwgeYl|?&n9IMd2lzqA^AoRUe6FTc8imMz}^x%81PFE{KYQf)j~P2R<FUT
z#JTE!k4}O*=b=-V^LcEu1|}}mfLHMq@xfsn{cBm=#1AuydM_sz9XA>1WcLVvetoiv
z)_a_vGfEXH99gp@&ohlucHmWfSY6h6XU*2+&B>C!7#yp$i^j=<5x37|uD&N^))1TK
zP|m#yjDL*fwe1;_eNY~lmQl>$U?TmRfZ{fCgwtPQ+S`S}$pT{8uL<v!Q-)->tQ5`Z
z-Z;}&<Mdi}X_mNr5?`-;@%u==4y8SIJ8y2~0QRWVjcAK^kUzl4Hi1s=J6a2ZMRL<Q
z4%c@AXs86uYmz;~KTZYkd+q#cy}p9rJnjKLg5NL~z=_m^C*3n-a{h0P|7pVl+qC|V
zHd3%H<o{@60NWb=-)+*P2rejl?EsPz@}#fBH%x>ea3BSs-njEu6|0})*=t8iuk-zj
z<j7f$1D0FdwzH+xwq2Bb8iid>!b1{EoDgzMG#L<g#Ra1=p{NZv!QBtL&N{~*qtOn&
zSA!!m7VH=_Qva*xEzv%8RMKERp}-fjFkqlZ4$N6!V8t*96(`f@g+vV~u)2`~7D;sx
zXN|aBqtQqYuxEWSpg|$meO{nog0WfiBV7Nd5jz-a#Qy(d!+v^LY>$b?`|n2V1B*zu
z`FFnoHYhV}EO^(e;H9l6w#n7_#C5dqB;v7&ehB{tL9NZk(~3o#wZ(X&qG?C5Ls&yT
z;I<!d0psX5$O_T)kq^w*O}Y-yi8XRjT^x>%6x8<~=<`gaH|B{h>97SmNO{O!3|I-a
zjDjfaarFKNe1Bzo*(EC^m=ZKL>0o1G0$)g$pg0T)!-~)U1;bvb{s)Eu8G5zod;b-N
zotytJ7>0Yl-sWnsRC+&S7JVl=PYK|Z9EqX0&OKhT{rNeUV6;DC(A6XScpP?v*C#zF
znuZ>`&t!AB{C*rMAE;=sz#4aLsGr-7lI4wh7Z+O^=RK{z8S30%;i71ZEmHFE_Jha7
zKt>9K+al_UH}07J`0JmJQw2kBNLx(3o9{MHe;y4ygGLa$w653x6d%9UkfJUNEQ%`X
zAx!5Z%ble0kY55S9z>%wye&TnKT@<52@7uvr0NT{mCY1$07V3XkJ5Nc<atK0#0`9N
zn&Gp5HRq!{RRL}xw&09;fhDy|;zO~#Gl%8L+S7PgagQTbpM^Jjxs1cchwK>y%EOe(
zH7+aor6sD#$YUDVWYWLn?6+W@^^KQ2yP*N65(Z2W(m)p}jW_5SaK=7FC8|a*D0?|N
ze2FNLf`JZD$SLOHQmueOtc}F@1P`PV4b#!~VP1h!3d}$)jt+gZ;Xwt<2RB$ic$nb-
zeae8BizRhfaV>W^1IpWu)UFAeQzS)Sz7>q=!U{}xljM~Z4EL_0uTcHG=&NH#Lzf!Y
zM9sqBH4sxg`=Tsm_pe>TR9?!h?q*zgrp>N-Ed{e_Vw<q=Jz+4*omHCNNrQ{`+HC@#
z3uc*+i{m$&!ok3)SUt+0QW=Xct86yr*-1TUG#nO|1rHL~{_I>-ZGOJyOJd^`AQ>RA
z2j--8$OV{4e@fwWq%H1N+vE_BvT5>;bM$BdyyJMeTD;@Bhu{G_U5gh7N?#=2?6>}P
zB+$H}eDQ2qq%75zVy1E{n~K}LVJJ%IxZnn9d~A>}fXXIe?tTSIU3>wli~XRAAh+z)
z$DoV+p|Kt>LRX5gbK;W&xT|&y9lmz*8>t??iXbDuF7gWG1E?NGVZGM@kPBV;NE%_y
z!Y{XzqhNx-wgUOcden<G02y*H3y*WyOj;tA<gI?;j))EAo>Y-zi(2<rx?RF3C3uj8
zsz!)TB8~L$o8gb!g`f(1B`<k%_4<pQx;tCL62xV2pjY76Xts;{it!^EK)YreHCADR
z9Wao=T&5$9ZpjNMw<m$70be^xG=w0=aGKDCsP#<F6fiTq^RhIk#s5BFgotNB2W)4E
zg%BiS2#)l+X8W&<{4uBeKgP~b`R-n#b50d!WN_<*W7Q_5z0x@|<HxK~=Nxy735Xv;
zQ&lc*<$gu6n?D1dKU8$i0QJj&{wJYp<9A?eQPCQkl!&Sg7UlYjqS4YD-0Bg6^=T1O
zC|@-O*}rHUD2tt}wy2BF$?&?Htj?~QtoC13A~zE2JLrD7D14A)mh)oX4Aqih9(^h&
zV`^KWWlJ+~vf5m@mGZL0C^XJ<8f5WBtjn%)GI%7n`J_djVcY|Vybu$MDK_!9)ZZ}C
zGHA0Np69%o@3Op2w$*kIe@9YKR%9R&>BVo_azX9Jr>S@Q&F%6t|6{2!S@inv2vwqf
zb&m<cAN8IQ#7#%viZ;WR)L-h89*h3rz8!l?PVw8V9y<t_Cmz2iI_WkR@*?Qvm_yEo
zLH^?VNoC%L6kK5d1dJ(j>rpKZKJ^K&jcZsz;~f}LXav}K7*ObgE`dTjC`F6d0PQ@w
zyOy2JwdiHvS^Rcu$xPhC^6F2|T?p6aUH>>)Ye`Zoy{d+o+Yx;RV$-SLFtzsQYgbj`
zLBZ3ry3_F_=fT$B`lk&E-fLl=J)2Tjth#P{8{)^Mz{DP1(`)^4p(e8px|S>b@jCz(
z1_tKo=|FGJag87E0UuwH3oFhYmQ*Eu5+U|$P7xt<4uo8<lVHWtjxOv-1{nVQ^Yh$C
zu4F^$HQKjAt?Y)@4T;W?JtEURf}#+&`-d;`*{?((3|NmjMwFP__mFt0ox6eS35C&J
zm&iI*ph=;PdhW-ax>}WhJxlDO>;(LqM72*WDcy{tIUYm{X|Cud?nXj^Q%teF&O)cP
zX?d&#-nU?c5>~XY&1cJ^>`xf)@?T`qhL5ccHgcR#SvXuJS!J1Ace~8$Nht_*h-qH>
z{ppHF`m%LKJB;?zBYB91nt4OaUC$%hC{u%{8>q~bVzOh^ulg_-(jPumDkM)Vx87J|
z$!{>({DbI+;}fBgxTxW6O}`2aWA6qN<C1PPvA&dzki}=LC44d7A!*u?GU5<37E_&q
z`yuD1t8X@`fd@?O3+Tyq@A~RYBnQHkVs8+zf%9Msxs+TFwwzBh2sx?#7xE4o*&Gr{
zxPU1!{a(|RojJyVd>0AK)o_P*Cx^}!j}Li0@5%yYT9Q_xN-gQf(_C!*uO6oGZbh&s
zPdefyf?_x;XuQwXQA1k38<B`~oqkTkWoM8fuR0+;<s7<6Pj`Q1{^;j6%Y|+z`D|mw
z@7w-pUB4m|ooLw67#xFyq~iuVM~~<>!Z<LwVrJ}3q|n7^>K6R+ZJ~1@QAjlkmmfm*
zSg3M=A<pgQH7&kJ+w>}~bhOl|CEhBXMaN0M@ZJjn9vI}sU##u>!dwUgzZip`?%d$l
zRg9D;g^%?y(e*BD`AEByvO1(L-(A2t%cRa(Or4UnKlAEpL?D7~L~uquL3KujX~hNX
z$LPMvWn{^9&u|NVu%J$>CXGE&rtcsc9f-zZ?bUQS*MFyWo;jm5!Goaz*J|}~x#Hzv
ztBpdQQF=vFFkW{9HUG*&%y;W7)S@A7`L^CPY}~-Y6-}Zv*T%%=C>$~;b&tBj<wKo?
zCa$!yt?a#7hT4_3wQ94qY7TkcnU^y_AbZ?5Q+0zo`<$j8RZ-gQcd1x?$4-h7Wksu)
z3S+Hh1P{M1So%ozJPJ1&%Ix--Pgz)M+-ui_SM~M9%Q7?`<XZNu(3r5ExJhCd!B{|+
zk^&j(0LIRqMcz*B1<yh$+@SjanHXf$E+(r`>RPwfl0Zc?A*VBxKLIz4U&jK79REnn
zkb6%pK_D|;Om+Q3!@^+lYlCf9X!=x4MOo_rpGs4iUV=@dNIr9eMgRVy+!pSKw|nhh
zq%}`i^c_Qkq-R})jeVqN6R9v`Dn3b&P#evMiAZ+VB3J}}K{Rebs-!%sM2tfYX^H6=
zZJ9?rC9oXnY-h<Bl{m0w;kW+^Y{<!C>lpTmxt8*Uk@ZAPozDv{z`*`uwB5N}`xWD4
zI^#pi{ib>)aB7VY>-2GIts__H2fMR!urcCQ3&$O$dF7`RznHX;o!8G1VF%&j-_}$y
zRwG=zWx0Hto{2O@IP6Dyfw&Wvzw_+$GUZnRPB0<wL+oj`o>2pym{n@68E^r)eF&a%
z$szw8DKKTHxPZKv92=e|I)F&39PX7ON)`c<Bc#<M4iV`Bf+eNY?@Ux;X#Dky*Nt4>
z>!~Fk)MibeN0$ZTy<C27g`lBa>1DF4S8+T(IELzp9iF9%&3<?A2XD;`i-KLKAk?R(
zNkk;XhE^w06(7#}YfI7f5OBp}z$H|%iKsSDsZStG5uAjWOaaf;{j(OsAvo#NvvF+p
zdHn+_{aQNyH_fcr`#iyjEGcZs!qNwNM0pIEeI5=ZtTb?8bEQ5@=c1n*Z|)z*&+Bh~
zQZFIbIG0NMbmLwNvcd$6F%s+`?uU^m`BQ!*n5@uz*rEzF)HGaPodu9PDn30&Pb5IE
z#@={sz0pZAqrxh^p**5eg!m?K4sMlJ+z&&AFF1c#v-KB`MSPU_3s0X&m=~~0{*f@j
zSTL`4P@vstY-i4`DDXZr$)&L=rOBhD)%I_mh3h;IB(*X&frY!X3CXTWDd<8~!um!I
zW2J-za|%m|bP01H1d!b|y4)k4P>~jpH)@MW8o{l7f6)$Ey4#ORD8|<2L3#Pjlvoj!
zubL7SjTp^oW1W#&;)S12EDRkuf>`JXP8Ex3iCU;PsVInUT`(zMX^a2VfAJ1Zcv#Bl
zK4vIkaK|zs=FSp{Gn<Xmg!7hr>DKzoG|{sq%a`okza@QuJbo-M+5z80nfh(Oy=e}X
z1fCm79D@X&QWU1ULL2r#i0m#+@Da{EE~1mjSyCqkh>ui4gZlyhG3Y_b-xZwAZ!g4!
zd|Y9!T1f5|peIJ#i3_!h9ZEne4^KW8NC<I1vl_$v_QE?aA|PXyc&b~STT12P@as#h
z%Jee8I@3<`m&|x@Yf#bE7tTwOdN)Nz4=lUm<D5E0Wz~hbzWA8?jU^1#8Znhh)Ir|0
z)J6Ai{z5^!83{qy?xB|7Xp@m93~xj7oYtyed1XDImeZ<?va|L5d84rLOw<Cmap_go
z3GD!1tTT4PIZF%X#g%)LEOOCeE?VBwsTCOiSK!|0F7N)=tX}gPoF}C#kId1P+RO4c
zHEw!F#m!5R?5T?0l(~6BzQ0p!I-=6OHJUPD%S(b7Ql0ozHQ#gT=U5M>kL1ume(wrY
zl{tpaG<0?(=H=3Bq(2u5lvyt-&3`cyn}1Fhm+$$pVJ0;@frfQ(2Xoy0{Y1iXNt{+c
zH6v%n&vnYn9(|*=Go#nNROcQ^CB6qe4jpVB{PO-n9__`fCb1ROPq0Z6Zt!?X@`muI
zz*X(la65<+_7P!VutBikX6I<iZf<AiZ05-M(*2W7PJD-LHV1a#G0UM4<udM@sUJ*e
zh3dnuQ#v(^qCVE|E3CjBIKCT)GuS9|r5|Fp{9x~%w(9!0itp0ZmD$E*IEZDoUWI&F
zjh3q(?%&Vsn~Rkk;fmuzlrlACCu=YOfTvok@lF%G$==+EO=6~&I;Pynq}N=0GqE)M
zjQ45&c}jS(&wj&fT`()G9Su|4uj-;)w!a@H+jaQN7m-L~?N^Veud2^^Va&%FTTS)M
z^Ig)D|3zP^FFyTy0-uyWCm}jT#H|{x1oep?f9Mk~?tH@SkkCzYUdLSp&;62R0c5b$
zZ;g~z;_HzIklb?vPW2>1Un61}>M|XkzQ5G4G^!$_ytGIys3Do=;caL=cx{8JMeM73
za9udLw{q`fjHB2u9mda`r+LG-wIa!7+1qX)m=f0|Pp}PJCJJMl#*bCG^L+B~Qj;WN
zQ9p6h043pt<r(MiI1i97R(C-v)@x(S=bP0t-^w-Rjj!6;otTEH;=?BkSa?U}rJUqj
zP>NH988Im(PeNk<C`98xCbsaX`AFMU9>J)Ydq40#-@Vt?{S<;PZaMrxiX66C{PhgW
z@A8j*N5tBfx9l)~pEGK;GCSdS6c`wZBw-VHO2F_5`85T>JRJE8(e*{s)!9McEx+~M
z+8!80wqLvqIEA?zG&&c+G0ocn*Mr%r^Z{CV<mBg<(vLT`qT?wB-su6bDcH|dM<Oxq
z;>;*Jg^yHug?UA<M`SVJdr-|qG5KlwdTBx;3>3X@CfFyo`Uz3YtLp_KnoUgNX_Y6q
zO#nN|*JJ=%A%pu6@&H3r5IqHY!Mh<Q!q#2Q+Fb3J74i@h&7z1ogucMQbMv0D&%XH_
zT5#&`?Y_KyZSI5)v4}46Fy+mF3n<Py4d&P(vwyyZpx-lwUg=Ksj;=kz{`DRAw*eY)
z?Hcqz3R07f6q2m?YU+G$RrL#+RI1RDR0Uwy-i{0>u>fCQ0&c~(+FdeRH-EMD<Cwsp
zIDP7u<S!Duwj^^2U1V8t+Gd!VU%WmIa!3m-hkw*TWTmD$BYvx?sn4}e+Z{hlxFpB(
zY_O)d36`G)rY89SNqGv}{GMp!jR^?`R`prK%KFDhDXce5rdR@r@7071E$y@}R&F=|
z^P_kCeoB}vTbt1izIU+p2(|AFMRQnvOyh|dqNU@!zfrio=JS4|x@#XDv3mK+ufaXd
zzH4$ZX-E-y^6(D|5O@x&aT602*K93r(LE|OPm5Aksm)9YFR&*-D-o2veK(x{(a~sx
z!f*irxn1NwCJyOCw@i}78G`$%yi2VIz=1jU`U%JPG)#5Y_pGkX%uWESVQB>M(##1(
zv0Yk=oi9y_c@$^vrO=h2<CH$%ZGpNLU%g6U8O{7=P4<*0(@*035FgQ5?}suK&88)*
zdX@KY8*yVbKYf^wOl=I6ew$EHD)D;5G}oGKfSV?-xK!I&(kqi=H~>km`C|D%9uP8^
zLYh;5zA=9N+<b0Ofj%yS0zZL)#<d?N%HPze-tX7P>j4w-s+yN5S0Q7O;dhnZ=8NO0
zbT-{oo<G&!&M8;r1zCA8B>!@ccV&t#Oo~%v`-#*NAC=|_+Y;XvrtgaT_Rp@W@)FYM
zpjg`*AKEp)os#@5H4={ukG|E|LLz`8LoJ<vz1=1mHoP}CY}C;VPM`r_H7$m~&*Jx_
z3n6zly&0?-!XIu0PiCW^)0Rt(gE}huZw`Ishnk-gCPj~@S2;~GHEAKAT2c?V9!^${
z6j{U$7s!~Se#n>3z_DrC(o`cl5*Zx8n3t)3g-(JVoK(N7)IdlqT{I-FVg(OeQhnDr
z?+`^cp=8$J#O|V+J&yDo&;-M1XLgehIl_x>JcZUvU$7pVJHE8%&RY8FBcMV^G$fL*
z>u^jpjTkVwP=;uu&C9t&?kgkB5-Co7*uRx{iKXWPTjY-$-fLXLKaYu@D~rJWktaKi
z?c<B^UV1}nrs~hIY9HaX-(n;K@^TUt8%#AbMXlSkR5#8D68IM8no`Q;a^aWoB<a5>
zqgncSapZBXP&v>ZZCQByg$#N^Y;!{&>n1*GO~*KCTWOTK78*}2s_Yl2uurko>HB&O
z+s+?8_0M6`u4@XCU<y7TF44aTuC%|Z`B9e}kQyuhDqaLX%$)hl1`mNgKsaeq<Vr2Q
z7GdfHQ)SiIF!mjfYbM}x7!}3$$BUFZEeDqEQ6%bkMMLc2cpeHKp+ZkygcgC!7ZNfa
z3hu$C@E<VHnVf}TUyXmC!<I4Et;(H7nZ@aN&lKu4P+{9?Fja?56?Satp7&L0b3j;P
zFip$Z&YRE-Y4X??Q0$V%0J6|oy=}gYe7Y-xK(<{WPvQl`b1>i80f`yg>jjafL;X5W
z#zp)1W(GHt6LiIaif`Y^_$EL%&qPn1b9=mUCY)zB-xbZ7jVS&5JsPJ}r4Hk$y3@!T
zD5_LE6a$gEMQ<3dVEAxo>5btE9S88Ff*^d+WD)pI((Pos*sdAR0dD%|1pHKTRkocn
z3P+IA49MZq#n>US)w2Gwo?fl(@1xk%X3C&1h3BU)VQ+auw=K_$la!|%ylS$%aZ7Bf
zrdC&9xh=7~l{yjn)?K=}?&+nuDSuCp%~iEy3f{<BD8Re=McoRTZ=EEbCccv$WdFHr
z{@n2AGaH*@8zj<$7;qvJD7T1=6Jsx}iI>`-8K#gMvK1K}{K@8)m%49vL|}_Lv$Rlp
zC1*}BHa_$DMLN^9=xaza-L<l~Ss~r(8T@5|P~yxt(?Agy#kj2LFp3ImYjqt+d*Xyb
zgHLz-(sPHeuxfS9X&AxXAy53gc;8&LbLpdyby=5ctwfG__yDd>^0<VV4V>ojGRLlC
zniEuhPIs)gPJEMgucc^De<@zCKWY@zJeLH1P~m0NRjBD~|5RivDOWe>?L3zL#dkmP
z?k9VM|AgEebB2E8)q8ddrgt_Ce%Ek*0o`hDCka*AKiZ6>v(>d;R5{16N8RX1O_pS{
z(U6!u2o0Z$5l#YU#aeXJ!t`}79DsYTp}5Ry?&Q`_f+vkF&(4pZB-sp<I>!tOZ$c?D
zkgf(#uSvH?L=|z!TjeMgrlijhhH3)1chRbiQtwQg7HuZVG@>`-m6{*{D>p%8KRK;;
zxQyNoU$=eDHK<1WAhuOjcJ<_VTvHUSj)y85v#EdeeQXK11X=KzPYvv5KckGIYRMGt
zy(SH6W?mE|PCmVIp6x)Ld*geS8l8U&nQ(L+FvWV6ZuM}<vhKDaqQ^<;$6@FHY~Wqd
zB-swC*j(*(gaY5&+Tk}>tymx4n3JyTnyjiUV@RX)jN_y3tR{#aqzHYD{k39G+R~P8
zSQll``seKpaK`T7Il+thNOgn=jKnUB*g6zPIjek$HH3T?O4MW5nu?v`=P#MT$EDDC
zP%2dV1E|!du3Q)n3r$JI+)8;_R#J_6_p_Z3n@%>P++hl+iK?VL#sf|G3PMwf#mz^=
zEIS!OGFA-=rFpI1x^~Ir@^F`sk9%AnyxQj&;9thm+!bIJJ^u8$m`TfF>Gej+9yp~S
z?ijF@oa!IiY1pALNV_Nei(7!tlD%913z~j3Gcq-EeDx1BUA9f-!0SC`ID8R(3_??9
zVzk0Ma~%j@={$UWFGBHSz6t!m{Ixh`4iuRp!CzeqWqN%c*>lZT`|#{!JSCj=JXx~S
zJ{1a0pMW-VIh;T3??>W!sA(Xp1Bbxvev(>TqJU%pujnVTQE6g7Ii|~Iyp%r;iDV^p
zZ<C#h3)#>H5I?bQ{DVz>H#;HdE`9HZh5x~(@YYHTaOF(w#0Zt7!~=8Dhz|-$b`rM_
z(<Qh_49}jWAl`prn?lcE;d@hNA|Wb6*F_$4I_y(PT-cr?V(j{39FQINPw*zf<Dff|
zsH$up@BH$T8u9y>KTm7?k$c{4HFp{-vh>3*daKevmk7Bs_9pDqH|kO=cz0gRHG=$4
z$;sWgoa5Ayp-cq&ePn4L>A@%*s_&c}>j&0^+oy!uBM7&t2t@pDTgc_I9p-;l-ILmE
zN~JW1Um0dZmDH-Gcj)ce{oKX4O8V--`n5}CTG(rr<k^ADcbXxuFS}ul=#rljqIq~#
z2zi)zSMKek*7#fRu1x;Kp||m78781HaHX$dId_@NvLNL0s1i32vJ#5#c)q>EKb#e*
zR4X_52buz8#Cmqps4y^vLjOhk_~#LGK_Bsfj*i`W<8yEJu_y7H@BC~lQ#~{F3<4GS
zn|@nJee<LQj2}ZHYhol5Vh=a)9*)zgnC2p1ysPDt=Y<gThmyp0ef?t|NF)3BCn<=L
zR+WC-r!NS9KTeB^^{Sqt+bsx481;{{YI;2$-YbgXF@(ty#aeprcyYJ<AiN*$C1L2A
z=4u||rb%p}HU27mlC(NFFEgthS9mk~Ag+(bKT68CFPxaL)hIQQNhf55TuxPU@cU_e
z9{%tMgt2d!&>1N%#%S@R_k-zy(MZ?t6qzo5j^B#JZ;Ojgzx0d=tWjqH#0#N9G+Arj
zu^)WxURN6ueUZ3AVI4Lf38YY`r#|{fF!dTQZCp8PM^5xjyq1Q%z}6D2u>-vZH^MUs
zB=Y=qN+uhU!$AzeK7qJhdb&L2<fv3SbuY0Xe)WPO;>70$Z-@hA&xXm^su8IBvyzpi
zzHIV1$xxGYp9i>c4*NNj0==&22lz<C@t^v#zH1Tfns8%9XgStV4CebO#tPIKirH?T
zdUZTgog!%dQOD|O-<Zi!XObe$_)dTO{^gb*=9_4g3I-U87!>UA*um$t<2FQlKO@E>
z+G2<W)69M+zxKIEZvXt`tBx+RCVVxOoLJ-Cj_9=!SF%Hbh&9A6_yQmZO!`npQ1v|0
zGcpe4sCV?5RIy>TGi|x6o(Thsh5o)vCR;p5D-#~qgLJ${Xm0n!9;fHogWQ+o%u7RD
z=A*}yWqeM&JRyAFs9~XcI4nBP(ocK|qH?Ci<~sZR7{xV#pT|ndNp;K1>2!Ex)W<hp
zo56V+RbSqX^C}e2yD9@Tv=|8Eo(lWzl?etYxs&`SUIf<qDTy9?PxlH!@4JfXrhS5A
z7wNf2j4GW5F77ux3UB#TSc^5BAT56GLsHH-=EYrh(UUGIHAf+nRKK1rm`73lOcFDh
zw0JE<^CIsy#Vz|Cb=#LW*waIvLP_daQ}oH>{L+0za<S+wWcoFLCn=~IRFKlWSA*!O
z3M78gF(+32l%MY0mjAm2xqGIF>IG!`roWqbLQD3gx*eg%s>xe9TcPA;*Oq`46wA*^
zTttdR7MTt*NR~CJNZbr;-6JL0#S9<m(<w3ilb?%8SNje%%<kcrhGhlN7xbr>yfLvG
z>S>5-QlD^D+^g3C43W?M(Fb_yFs^L>Kla`#IIo^r7mS%=JEoYKnVDk7n3<WGd6}7+
znVFfHF=l2vrkEY$_}l-#XU>^A=j@BAeK!~C(kp3oYnA$~rS7Mt7B`jUIwuUkO3<sa
zRsXpT&UKB~x6;%M;TQI!H+L@7J*^^m&qaaIYzS7MirNU8vrYc%1LuwqC_V@=W7L=V
zjNS<{e<Xq@ntQ!u>>KX)n!pI@nVah35`VJ&UT!1?C~JW}u%kq{%gvH@njaI^n!)9J
z^uW<H27&%23rN%tQ{&gEv#XBZpcRJc@=Qn-q)QW($i~7ukX14Yp%7JFZ9|H_(9Xly
z3_*~yG;n%+KN<5V68bF{w;bcYd9elON;+aBw~elo_66(5W`gU7QtM@eB18m#1&07y
z3e)<s=;x(d67xO`TRMu}^&ZP*2As;B8-PQV4yb#TCgb)hE-TAqL(Y$(&rNIsDsEKp
zh(v6G&VzvdF3i%etzrxMvJ6y;9!VtlBJlBa*c!wmMk8(%n%m(O9KY&x8yY9^fk|sW
zSIProrc7-I{NDV8NGU^}NZ~-$Z?Qb$Eci_v<2=~@Td6ZLxl}yHJVYyB6a#+5a|2oa
zSQch{;A4zpbq84box%*LBH=NhXJoHq-9gamovOQKOnH+DBL0J!>Mr;`_{zg{nv)cF
zwgD7z0sa`7JGFw*HCY+&_fhNkuL0jeMu-KwU&FN8-xMDY+JRNvZ%t6V9o)uZ>?nT-
zWPi8ojTzK!RNHDK{KlOtkZ3RNqyg$)_|hov0}cXioh%97^hYlVwC+bYIi$=WF_dH3
zdb`S?yiocS$ckf)QwS<>9Is$+EQ}%8jMVJb#4=4$f2s>YOs)8|n~1dpT=sT3)j%FR
z2XZW@u%jPuQjcgml-N?RMH~{}vVnZqz+I^ySEMK&3cXpdzUvgN2cEpgu>y}T^z568
zDZT{=Ezu#`uXyUe&hGbBRO?5hE9ZT*hIQGe06NXr#v1UB74I$@-D*BvBD|J$@)BE6
z$n%X4evat(*2X1;^1g_1MydYpJG)3RgUbM$YW}N)5OeJ57nK+JWC)wz&1xm1)%GqK
zfgs<_#c8vrN8VuY0_vfDj{#tKm=`K%XxU5l8ZmI<bieJw3=I-C-8itB4iery)Z#)a
z*6s_N@etc)iz*KarkWNuHj=relULBOIyc|#hip-PU}y7pzSL7<hV%I44SU@zTo^r}
z!McL#XIcHZJ{Dld{*3HhCa>Lwyt`U|P<>rM%#gA;Iy;WX=OOI0a{;b`B4Ldv5U<Wy
zH9_n3#XHn>aqI6OzaT>CV9c=~ev;}k!+!WH%=9778YN3SYkFRokKJvQ>^IIC_un>W
z#|Ex;Ca-Tfg=Z1ILkIMJPm)(T!`I`AH`FFGgfmQd-l)2p-=)3ej<6(tw&z}F4R|*b
zcPHyN{T^(r7(CVe2DnL*G@E1nyh$4})_>m_>u@5Z&^@Y#ebpR#3|1CnmjKT(7)k;7
z8Xd>Tb;o<~I{9gY5fDt@=|XoNztI!i45Z(unpi<)?2VAf{(SB#+cI6iWof~#dcd;v
z*j#&gd8p&VX6!St4Jg<ZS#8s6q{^p4h}LXQYVg?{sbu252l&=6iiwnimqX|jZh2cC
zTeq1*u<Ju%9Qyk8KE$G#Iv$A*?7v;c9EPm;G`~zAFV1YIY~%di%d3Bk7_faRt`b(h
zF(ikk`RO7J-)!DgZc<>;{5TDLMwPX#r{N1TUit+98i<v;x{y2)!q4~f-)-Vu<k`9f
z)`lZ)>itj4fiPv>wTmVX1Rv3m0M#@3F>}MTzZ)|o*<7{nFhAN70#)yRtXnr*GVMva
z=~bAw{DuugM?7dso7cUS`FqNPoaq!6=)1eJVUFfxOYtIjXN5+wJ`8^PJm=1{SJdOX
zHuCp6-)CL1znZ*Bw4qYly5)!iyMCTvRPb+Fz|GDN9{^593^SnUW|@|{+u-cA`-CR^
z;g=?Z^R4IW)V{SS#1Zgn)?zc^Ano0%DK0nMpd+WEZh~lh?2xh^OFHtiqfQz}EZ1xJ
zK%N{Q>GjkULr%QeXb{4_i$PpL)E6zPh`4e)_qf>U5V74s=zB8r0it!xJJdgbFxVG4
zDKK!<6lqs57+7pBh1%^;7jP3~imoddCa^BE|Bu60b<H)@Ynw{|wOwAZF~1{JQw^_|
zL&gwkMy+|F(KaUGXcj`L=wNsx&DO{BTz&IG8R<N*4w;Z}j)%nWOLSSFwV=-XTNbT^
z9&SJ)8Z;3hl>XS}^Kpza8k{&tR;{0yZxr<uN<4Rop(O20kbz4z3A-7iqhoY9V2~_9
zXBI?Oq^gg~Mr<7mXX)MP3CV3D5wZVb-}tL`oO`*~a@^4*a|JQ-#9-9_J%1vG;Qp^!
zDa6y%*C>N&*{NhIlPyW!Tdk=~ucRO+sF<&|TwlowS-!P|s?!&_gvBVVRo^lg?%`>(
zjY^UBvLcls1ugsPIhMU}D{mM51*SR!&Zlt=O2VhB=jZMlq3SqIjK4(3Z5Jz`i5(t?
z$#W19v*tfy5bu7ZW+4xeeD&*bW+hL-rlkYZ@&?^dv&S@;BP!)B-L+Km;HI5Ggp}f)
zJz!ZQ?!2#T*U|2^(49DiYhD=SIhKB@sdRg7g<v^v`V;PT36|5HJN85FLk+neuiRX2
z=rXq}4J{q>X!ctV$wJ^{{;<qTS<TX^qF_HmXU|*LtD+{06n0!)y&XAsQ%G3`p4g}B
zxALzFyEXP-Y9yRK35pEKn^$=`4w0FZ1Ln2hI_(5TsPDi+BZKGe=VEt2e))p@Kl=M^
zK3)Ef|2C^^*9pFjY?EIAwQjPt6~z;k9E-oK6m^&H5pyv{N`r-b_YZouSFdZDln;K<
zuk>ynciU}PU&fR}BlL5@a1qWik@(HxD3m?IxWB(x){*($N|#iAp+$B;js`Ytdwf=v
z>>+np-F88Z%+OVX$w?l!1{1lm;f6L8By9Qwj#6+?gJ=@8W?`))ZTl&#-XkICG6#GS
zrSVgVX`}H=<`gEVoT~j=5|1Z6>~S#W7Gu%gWR`6Oe!tE2LPup_stxhTTx3(3=t?#G
zsMgo%9u<5>AsXmF0E3~diUu?X^HUT$22Ck1N^WZv_p-HJdZkDkZHW}9VSjyDJDk6B
zE$5RO_*4NLI^4b7PZeOAyXb_f<2E(^BJ&?AV0xJHsRD%ms6Z;wzf_<Q4;1)qA)10+
zRSmY$3AVv$k87|<RLWhJ$3oSRlXAHIU6T1T{m@#0&jq0FJkajH*qwY0=W;v9b2zC-
zNsY&U$*T6CkV`b_?RyHB{uSIgDfXf?3sU)97V;vKVUh_kc_&^Pr9Ko(C_wRi`7|dm
zQ2*)A#mKX%^&HKG@bGwljEe=LCL(XN4SS>dz#NMq`m+!wPGd^DRr=V1ro=9e2!1?$
z8TQYO2Yir!8D9TjKZGeoo?x@E{|^9^0(gO80RO#k&wq*b0ROFU&wq{f0ROFU&wq{f
zaQ}aWd;U*|-oM=@|Gi86|08<;-H2X@t}obU0dLXug+RlBH52GOXGZw)1)Vp=Cldl2
zz#c*S$6-Qn(iVQ?BTtO(Xq`D6CQs^pvL3D_AuLW;M^Z&0^5Ho{CovJ<W4#Fp@l`F;
z_INVQk)OFk_v18W@#b7;-4=cG`8g99nx0v^ugsuddR#u{e^aC1_`B+|TzNcIui3JE
zEPL_rDr@WW(NTk6(|lng7GpgVI_Lp-Hl=Il@SnS6R7^}<oabq?uGh5x>>&G7eWp4U
z?ep-MQc?Wj-qV)qT=BC(bAv89VsoKLZ!!~q%xU@f#mC#3#J)~r^4Vs6^CFm1b#rsm
zU<vPod+MaeXmcQOW9p&8r3+iN^L(B3dbX+sF=FaL*!sRlf%wm^@WDXO`d|pKcyqTw
zY^qzkIZ~YiWL}e=!=tcyvs<=kD$H8A8`#zP=%{&%p6svb&aI8mMi-iKneOZ6I8=Xd
zgYGednykOOlHA1&9zK{azB>>#YWswVBh0!+taqOxLb@i7Sh(Cj_-x)!UBs^twq?#O
zO^aSmZ^tHmtT|USj8yzwpAiQZ4~QbObP;+xU%J;1hg=%0vbWeDt<N70NZ;}|qwPA{
zt&iDd*R?y!H$7Z2HZHT1FJ4SGm*Se*)h^evO93-8lzJu~8UFOc8xuDhsR;NU)0c~C
z&8*-R24NSe$xaL`3ES;z0IQHInx}DUXP7=)<0`D`{r<#e<uxMiZ$4ma+5wglknmCa
ze&*wCaN_vKdx8DYyTLux=ip^wJVExA!|vLCVWRmoXKw$bdVSPZ$Ho%pqjrT($2Jes
zsDn%(s$iSF0?c7n+jIFmg<In~SUek5ZwSf9ZH=e#jFIg%D}M_{RS>`Aaf-O^&#@2V
zNAVeYPrOgY;Z$+j+zxQ6KP_vCD}C^{@0F)R?!cRC%I)v#_L@&i>f1=k^5)B%NAr5j
z<a-dC^h|W`xt|jgF%r&S$wrrLTG<7$v!AFzp0LOx+A}X1Atnn)0d~!{-IvwP1HJMZ
z>kWvi7xV|97hZJ*m9^@Vs#EkN-;XYS>>|gxb+(_iZ?>;DUA+LZ01|%0-}}E1{FQGO
zZW|kiXKfcA@2fGYPCC)qqn)X4;=D7!CeHlI4vrD=@-e-_LWj*3!f@jix-MRYXatV+
z58T#%IOjr{c?<5fH?u;a+*bA1wcz_#O^0U)d7S%aY>p?_ud!hZ<NR{9uh-@aOU<hn
zV_5I95mAt;DG|U_hsd_;+xmSb(Tc71`HiBp0z5N5t<BSZjS(llcF+(FJPOnU<Q=BI
zbgP5WD>KROxmtc94r-KN;4LtU3H`sJkwos0MZuTFP&|S#;(jrLb_!-fW6s#GnT8<^
zyfQX+3Gx_gPd1sR>z}&eiu8ptRtl2D`Z6r{S;UZHwUq*HGWC7>2u#Zej&jmmK_4m5
zrd*m(NOVd;>BJ=B6u8qxlqkQPBv3-DU@k-8sBsbzQW}xBViH9Rh0{L&t&X(B56IO~
z2yP{!@k2ieA=a=7<@GStrfH7W)ZN8@<PaKl;Z4vo5dQJ;r^2g2X|$W&a!Vu?q~Dbf
zi7X=(bzuek>;jIB2uXCvsV(b-8;(#q(G=}Bc9kWgFLLAW4KS6IOO8^J^)`?K_+<#F
zI4E%YB4IFg1=RwOP&gW?V3&ss5elbZE|n;<X%aJL+hy#kq9jw<4J8A0h-i#4&6fMe
z@^dSL$glOb{NrKPKnT}%oc(1O^#;W=)1a@hJd%OXg8?<jIMcAh??H)bj`HN0=-@;4
zVQn(`qSCZ!lXc&jD!$$(7wxDmr8&SPo5ghs@{^K~rltuqiuO~8hGxXdpgsQrIz<cF
zP#l$pR;86L?33f9lVF$Qgt!78$l9b=s*Cj6eyA&6Cr+U%5Z^&ijs@-bP_&yv(#l)x
zl9vMJQzXA)eyPBi*(y2C+b{~6d}$(xs$cOaQU+0#op(gZQ<kV9Y1TP)j!I>>l^S*g
zRW?+!LDgLZ&xa2{N@nujamx~(Vs3PkP^KT@o<gnC6OK<y48QPwz5A8lB?v3au}m#f
zv<Kdg5^Wof?N>oAq6}T#3Z3=`pR`b1&PEal%iNJkQW(~=kTiz7_(_?;`O80Fa8!n1
zNzAMuu+aAy!^F-z_p6B73F){(`aq~5!i&Fy(#rrwO=dKj<4#boyQcdE*&T}VAfvoU
zdH`qWlBSii1Zqr^c4=cjGOd>Iq<}o^$Tvac9AUd9rJ?yA7?ORA8i*KBNhLUK=4@i1
ztRm>WpojrUqcd3)t23Gj>Cq&RWP{n<xXCZQpfT6Zg{+XvEG+$de5&P78_<0a5qUO&
zs6Fb-$j03{JqsD~jRH$sss|ceqoJ+RfU#CG@<NSB5=%S!f(9lCM{VJ>6?5g)0gB=Z
zdyr}&P*#o`Op6M8z@ioT$!i3f>M##bMpCfTHa_SD6{X17aW1@Gk&2vW6w1PyB5Gzg
zEM@IG!(fbKjI6_YJQ<eHKxq0YzL%Q5;Nfps0~TFNRvYFBi}D%rHDYv#9C=;*Ewo8{
zMYzZ!Jgf8%3?<U#h{F(QB%z90)Ga09_eVID`mj;cqU5K^K8vJ3pI=T5rBX$}GEi9#
zE}2R>rVO*-THTkmS>}91(wwo$4}yl>vN0G>I&>n{QZ^&#yR7(EwR|150QXxa7_;jo
z%lr_e0kVUms(}X+uuo0zV*BHJW+~;(%Lmge;ORANOe}?LGL`rJYpTX~&=Gk}qrSKe
z6+E)a@|!SbD6t@RK3WH%$FEgD${?n_*y&TQN~Bx^%!MzkxZfE&yAp+5iOhItK~DnL
zKEfnr9?>s<>~S{?%1je1Q`3^5LGmb>318YROm))a=(O?sX$7}{?|U>Utw)YNdI&`N
zzf}g~wD+~H_UuCakOruZ2-cKpg;AtXxPEHwweHvFDc})_IC%N&q=~lz+;_k7_M+z<
zPwSN33DK$%J7*y+`=pBP5FQfi?GR5`;aVRa*C@c8CH-V~rbiV6A}d&I8(HO+elcKr
zwO>_5<2{$T{^IP%*vqnSy(yM62TR7bhE~PqlV0TJ6CbJDAW{YKU?7Cap?;wNyNvWw
zf_-V09RPt7EgYQNCTE=k2wx^Ss!_a;Twvu14G~~bV5J&YLT5s~ix~WA3msyp#dRTa
zYUik6`8@MkGXAXU5oolU!Zu=i9b<tf$)Y$$!rJi*sLfLgj|PBkAQECdmI#dR{qZSG
zf^f`rvro0W`3obgXbA3%#gazRIH%V-d@oa5x%V=xXFM3kqxO>(fEDI}aKNCXND|qw
zg@UF3DmAk1yDtMhzWdVljg+2&EZB_rVIelPA9uyqXi^h-u6F|?J`UuJToJav(^%zN
zLV`eoyRxm4W%?vft|p9=qJ3|TNr{k*MYU+S1UwI6<OMoxk_*BZ7vk|dalB>a1w~W;
zqhp}3)}yGoTQFA?knV+0Q;;-L!l86|5_qhZOf6d4IaD7l1B)}1f4sKK>9-Q>gB1Y(
zM8+hlh<Ze;9@B7pm%+<;=38-}3cncpEiW2>*`V%E<V>Ie5(=7X<@jDZ75s>x+&VF6
zQ3A%HVyn!a;LdvY;Mljk8Peazf8dq&RQ5WWh5wrRr`IBB0?Jr)_YAB<G~F4JlGm_J
zu`K&f*=*+7RE>j19PDav$&OmQNP^b1qNAsJm6FkcUx=-4I(M)$4j@Ks9}08Rdby*<
zl_x>kc=?iu2KU$a<4pByWJSP3XzS|3XK)k_ziyWnQ6c+OkbXv%llLiUz{0zxr!jGG
zo0^bxS4?X$09u+R)x_2N4Gh_RZ$|p0pS7d!s@Uog`MJ18Ri#M5&_zKom>3QoCw;3J
z(cXmE*!GQ+D$<?g!lA=$jGAYkS1IFWaCDFs>V1sKsBUzb@^|8gBB|ToCzi1fbV)z3
zY0{h#;8f!{pdxLLAD7a050Mq_Q6!g14z#Rrj``jKvNB7`m2Hz~-818>Dqbcja1id5
zZA8SEEsjZ$s)B6_Da?!`k{gGpWaKx3yW@K_ir|=(8<d2wJ%C(cy4!l4IPtZ)u)M#1
z2c4+&#sNBaCuAs+zTLf2Wi|&2)zTWwDF?GX@elD*HLhu;jXKoN6?k)jk>06PCwhdL
zi0TBuU6DztBP{C_f*()GzJ+*KqoVxztBI>~>Gx8m1^LRSdl<Z*VIbHToL+ELu)|%z
z)d>#$C=}XP;_f_3DwnT37T!@--qvSZ`W4z|yU60gZb-Qa=}EX4%RwAttYQw*bnQ3i
z%q#+Q9m189TMp=&CcN}M^A(m=f0AnvD4h`CNo<slTs|Q2y*QcjqnARZ0k)OBV(5vf
z+R@$jb2F!-4ZjVIpqq#Dj>Y%Lp^0l!XyUw1pWfg)pc<GmfYS0dV_(O&+j613+>%4Y
z{<4nZW^ezcxx%Ea(wmtZq@YxFpIoG^3;RQ-+w%Fvw0(r!gM-WVs{2jc^69ne;$s7F
zeVGFBKF^riWsY7T{$-70O1IQ;^}S-@$p!FqOmDJzE|JZB^LQT!@kv~0aKo!{LA<bd
z#X0IY`kPSh;(fg^C9u+93^039&39X}Wek{-wLHE)d$qL!E4X}U1-iGN*2}BCCw+7(
z2BUrNF#eR)3MQ}j>%O~m<}jbTOg1olaGS~%Rd&qijkPdic*J5dJae1PX5FJz33T&)
zJRLLmEYqfJ8ghReVSZSh5CmQ)q_>={I`G?$VI6H+y|{QcSjymIzbD7EMa$A>l-Trm
zUZ4BIBiiaHq_TG$-6>B;j1@q2?ioLU+BOqdcDZY8@&SntAp_mX5f_)mn<6aU4QJ0N
z4<ktX;V!(MQqiJ7)V>C1+THb^gtM4hzTOYJae1t|d;fTqF1hJqxMS_k9d-Fx!vQ$l
zha53}UhlcrqkrS`Fb(LQJI!QYzC5JFl|hgax>#9i+|ODrUBL5}cvi_<YWz-%>aHs%
zKr2x<f*-SJ@=94QgP;bk-p_7n?)dUZ;P*}zMXxHV;1Nak-H?UZYuL7QvurM{-OP`~
zQ1~N>?=1Eaim*TKUx2ri?M<I76IVh>UTFf!p6n=HYv~57_xp*IQ@3yvpJ!zrF(kUq
z=!CSK-JG$hiL@Lqtx5KgYpYAsJ__i7^GjpE($X{_K|;E8a2Z(c!@wQcANneSS@ppr
zKv;|+cFK}k;=fh})3nZ!HksfSIgje<@tw(onLpHlsf&<+1#Va(b9i}GwUxP3BoVcG
zYds&B>i6$$#`WVPs7)Z^MqbYxoVc?I=CgHcxL&rk$>+EhBP<T=IM`KjPy91{#h9Mp
z<`r4}CX!loU<x?I{mFSne>-N0uK(5XwkA6w@W*1GDpenZL#$=1!|lk>XVWL@m4#az
zOjn(QH&ns7$sQKJha~6g+X-X}a5JEaO|j+$sK1N9o1scG81t`o@(`fu-mo<QMcI?L
zy607rEp^}Y<Jyhlqon5U)p_1S$x<-s+?wh{_=51e0l+a1+}^*a#myzmr0-0RNg(b{
zhXtPOB!n`2tHex!=i@RFmH=RgMn`)0tX(e<4?I0MxW$+X<Jg}c&Do{TNq{AEe<7D|
z8R0DS@DBIN@7I}W7u{|j?rk5QZ69uSj>1(SPGZQbR8#s=cRX_$e{xA1cG+#%F2Ev?
zlct3!2UzC|6-|NQQUxHK$c;Ju2pO*c<0@9z5FSyo$T&%rG)KWzEc>-EwpS+u8_>^z
zcoJfDYEf9vtR0o;Qd|-Dc^d$$!bV!PXgT-7qPV+hJ6741v}yrF)(MkXpJ%`#%{Z6k
zsxywMd?q2iP)>*9EwOY&`>D-I93uj$4A-geSD?YlYvV%N`g~zK*okLgj+^+h2VK{5
zxo?W7&#|p~N_dVObx%F%Se7g`TgV?~{Ck-B2RsRfz%oUjqvnA^<R%h)0JQs@0h<Fs
znB&JVCN1huoCaArCj(FizX$ZyM2x9kKe-t%p1RAe#uZl+_-X$}?iy&MtBoi%IgQOO
zS3t73qd|HMhpzt{rzL91lD7e&;u&98Y#HYsb^^4j*Zwb@>nKIXL3Wuc?(J%Sn!?~&
zvsqqPLu8Hf*Tsn)vYYGNl}+&5*c8`Y^7o&6GbMOo=gwrF7_yh0)aWL>B?seiMNjy<
zGLUom+#iy^w9I8>X5uan?r_XyWokO!wE#NNv?N%x8#^qLGUhV51m`a&oc4A)+*q#>
zDlWEa0u>#J%1OV>Z#g8Os=n@Di?OSm-f!ZNuE>9s7L!b^KUN)Il-Oeox0ucUfyXAD
zh)<Qsi3`t~JW}L`FMYI95}@gI-+sQGj_QJbBX9_qA3K^v6r9;K`}_QRo%xC?I{`3<
z)Q`mW53x@kVm4)Q-#BLH&z-Z~Wcl+&)<2(Htc%wU6)$%%+J6$MT<m%fiS%3nLjFf~
zN8Tfp6MOiZ(O&QxM0U4g(sV3wc*?ugG^8C=dyw@OEn6nSQBmU7qYrXyt1op?yMv%K
zEOt@ET#VVq=C7=gY(A!0a}JM=Q8Pd|+`}hPrzALe)Y%n9@}Ru~8daA^?^~G5>?(5G
zWfpCm<Kk+;tn9*%j=-h#?21cRkLs6oZ@R(LA^l7(dO_E(sNh-la^IYW`#H2G^M4t~
zQ1XW07T;+-F6WKPc_8%5CT_7yFxW#vk{-drNKT@CO-!Z!O2Jt2#c5_XHq;rAUHGIk
zi+Y1NZC{WXRUM9;o=OI_#?lI$;lom?ISW4Pn50LN(~u*0?cKvRbsdDFM5mHRB=MJ!
z=@dc@?wL<xS;X<=gzeY3;NqA~5hUGYr*rm$3UauyBuG26d7t5GZJ>XlSR9sE1SgC;
zaD;{57$ObD=Gc~MD=5>QfgD2Jz;}$F`*!~E>BC9KO&%6*4qlv(BRrt=ss&Dw2AQUP
zQ!KZ1CGG^eWDO0AYKoK7Qj6*Q;={IbRl157nk+EindjulI*P`@ZpW3>q>@6WlHkbm
zlpNP<$zG3S9H;t0=oU9vD`9%tOw|&~^~y}LaPVHn#EJ;cm&RoI0Ph9pZJR9A!=$8~
zDwM*`Vo7k<v%=Css;xdZ>10R(E)%YT8rx!?=VvyJ!V-gm&p_*8k0NsU61}V065p?D
zo0AmQ0@)ODRb07v4RN$@Hb@P%U0OY|#0jGJ+j{hrl5r)4%(>j=ktd1g(b)~dkm9oa
zE6Ar37#SqIFvRPH@>Mp*g?CDkRY}=_b*u9UwavPAk+luFwcS~7{`c!E^x{QPZ@+iY
zPb4t7p*@h7!eJ%Us4bwj1!Vgr<pu6l!ePtQsHsTwt4d=7oAL!yCS_9YYCn^lTAyB6
zR<tN6i4SSW6T(=E1d&vtB|S&rrnG+c0!rfltEcA|BM`!2&(<laDz`=D36t3VU(Ek4
z{Zm>|X|4ygNRUz`8d`j<$|pAs`O|SdD3PH13skfv+k(<qN$mf*`#<OKIbJ~tkn2jy
z7o_^v%TSTXljnHxDomH9oIRWuWOFHa-wx4imAc-@=%oGX%}g{)%Ko0UfPHxp#_#br
zx*ZvbYny=>IkKOin9yPht6e(fi2pOyb2o4K_B65LGRb<nOOS0)?pe9-(`+MIXxY~@
zVV!CiGWP*4i4;rF8b>u#Z{RRp4+CcjQ@cEc2n+&IEY~3`EspAuW$~=CNeQ>Uby`#k
zjWFblra=jbsdXAp3ay3LAhV*W1^#bi0(k-`tn(g){K}$YDT-8R62pibqqM++B7=ym
zY#*v9F9bDDlhL`~VnV&Bnru1lFS#kJJe!(Q57=foA=s*1NTW3&ctD~l7%Scaij^hu
zpVnr%7WQe6|LpwFKAdr@ykOLSl}io+%dy6g&u8FSNfr?-PBvBr;VD=CT^jwdV$Bgh
zJFqOoKPBoVTfwsy>cRc1%)(myDCYeYt7KV9SjJUqj#>oX1fcaRICGOrmz%K@NTFRs
zHYn8%SxJ;{Iy95Wn{jITtHDfOm`E|1dB7H*oKmLtmzL-Sl_W><)_N!`L7z!91+3XL
z7y7q%<^TSigEhP6{6C~T=(AM`u4&Us0`VUL@gKz5bHB3Wa}FJ=3bemm8j3VZKRE*)
z|4^#`fp8;?YA{{oHD}N+{s%*$PlgHt{}cH?2>HLo{Ug2X`@e*xug*`b&nq(qvUMTA
z^ki;MA#wVvuQ4#|k5~gYB0rw@G9-LT;L4;m_O2~$o($LYy7k0AWE6NR_OGn0FYv8!
z?-5ot)6d)y;(afc4<9dUw;M&D#RSUeg<HJlrr8r4ouUw|orU;sv#*O3Tyml|TK06X
zp65a{??xg<=K!Y#a!Z+S-l(MhYjeM3(^u*jwtq(`g>f2Ahy?;i$Egf2dj`YVd;D7m
z_hybdl0|9!`MG<*5I13avE#OT<{oSSZFggtXF(5br2l19-xiyy>n8U4o6Z0>w@}<p
zzNew9YN7YZ*2*^W>bJEmoBI|sA)W7;601uZuj8ROw85dfJFwWofpvlYlclLyt4<G;
zlXH6{oH7pzJoz{uA4sIaX=yCC-I6yybDU5Qx>aI1k41gL$!u>^IGZ5wh?`R>E&NR|
zS;KZ4O~ir`8^0d6L0benvQ%R5*^SvTa-aqUr+76%&@$-B-zKuJhL^0<xl=VN>0`Z~
zeI*saqSRx1XC2xS{81fRx!?UH9P}baNj&lK^TRD=wFyE7m_BMa2E%cE5o$N=%D0Tw
zMeT<q56kYpu`v8DY=4vPCJ|WQN}@=|vpeJ9Dyi<6X)?b*poeTHBsaINW!VNnVO|eM
zucsTqoTFcEO^pr;SNNzI?rLr!;FGEU2gCCy1m#)s`wRq(0}MF7*h9>U!#o26($~Ep
z`R;_a;|h2Hh#LZRk|B8yj6Y-O?ot!p@08Ut8a+G6#CGz^r{%0kmiEyqT;)cNa1*NP
z(1M2a&$c@si{gdSw?mmT>~W{{2Z>Y9`U3Z{K0CqQ_Ja*j_q4W>J5`huFFrA*>jtwy
zklLd*K%B39x-~&<uwje1$CyaqKZ3%tEdF>!j(#-*;5{J3ly_L!oo9#9^kJ^qa_qiX
z7TKDK?%}aU723zG{eXbWI?*7B{!YnMyhuBEff*#t@&{j<!uIc5Yh_Ww3|~sWyjx)Z
zA5GnP`l*URbN!+&S`TUMBCo+|z2zlYvql*yU+Ivd;o6*g|2~^TST(FRHacNJ1z48_
zUU+Rzz}hmxv88b>d#@SYM6v&iroUDI0-v#uTk6J#p<v}O+zr#){yY5~$u&7W&-KXI
zSp>C)wE6vMPQacYdcG{hod^9^o)exJrHB2;M9oL%$L-tp70~^0_%8cY)3f>UdZw%U
z2XXk^laH8>$Y^xP3&|3cIL!R55gJ)|Qtf#U*gSQ;WBj{6MB&Lur0{dg_=48^qN1jI
zJSVni`z?b%<Kwuf<rH^ljOU*0T!Z<}U&o$rTF1&mwWJXe#}nLeY-IqgWiE+6hA~RM
zyc-&dU#!fiCn8>cif}5V>?qa(eH$tUTiKd88*z_Maxp+aVz(zz<RnyBc!H?#8y4~@
zU?PNOd|*cq%zuh&0eh?Z;DUi|sh-s{pI##G6*qY83}usD-@#k4aiHo0YE!?ApOs<b
zMmAwo6D1v8mw+)tHwM>BFBb(pr1!^a6bHK=twDt~p0FCifcv?eC|(z9FnlU-$oY7Y
zib$pZ`yNP6jdLxZ1)jJzd&I{aENuV)Aaa04|4v;u$2|Idfutp6#NG?WCW%Lx{n0Ii
z;=qV#FbZ1Y-kWtqh5hnIYy*4e!q>7(i0gk{Nx-(e>tox2Bfe=ku}S;)s;;dzFVfW)
zq&g4@qxDFspAnT6{i)H6T<i0wl@dK3uL<{V{8#f556+{!b#?aF1WtZhzojY)K%rcv
z%6Xf5Xh3`2#Wi5V-HUT%;r$vliXRjq5f+Un))7@@v1i{;ewO_jCsg14&VrF<kxtkZ
zKRKBk?(WHF1EaU1Ggs79lPTOO6Uubxd{02kak(LE!=y8Y?CyDjt3#o40867T9_^)|
zmg#rgQr@=Mo|9c+VVKG9JO!Q4%inZoXb%}+peo3g1E6jMW~keAujn`PJtJSTzzZP8
z+QFnL(aO~dnmD*fsU|J4S5|O$vHsjt%y)btbt-|7qh{<IfCT9o9{-Xd8T5r|LLfg$
zf;${t!dHMxtOeQhpaku`R-%Xd{hP$Kn4yVCXj(fwS**NL_8&_;&zXWpOyE7Z^Lbrn
zUU}@yj#98K4+8?_wK&HL53rlzY8GS)LoXn^tYhbWpfbw!M4^t9j5@j*yBEq>@wX>4
z7{NSNyP;Cos4(wrbx03ImzT-1YBGvT^<ISec6+Rn;u#XbAe@$MUAY0#GN@&D2odhw
zwmq8A4ObmHSFRpR1$Hux0PsH0#Bji`z(mB1E@g&^=}Si<>1DfZ8O<E(QPwC1N}){;
z*5=sm=N4@a?ZA>YOvyD_=_aP;*<jS-T3yY9=i^NK<W%ug7N_I<by}D*w`&leMWhn(
zvz;Y#w!_a*Ng|0pMQ0p)P5&d4gCaFHDt_J|lK=37!<0J<W!b*V4cJXPtxom1S@7R_
z&>4B0=aw?%)g`_d_jo-;KJ)DIzW)rOz2-Y+QLm2K`%0-=FowlXS%}H0A`~jEk^)Cy
z8gO$dxuh7!XSREvQV(Sb4&T@?4tfnL<w@19up7XHQkP5}jHBNE#f}ve7ytJ7XX%+k
zpysjXZFI~^h<^Fq001pY>DM)mt#fkWj27z9-c-a;X*JFDWyFcPl9a;=F$^ISS8V5x
zvXyJPhKcN1=84IBEiF0M`#INMj9RcJ|9dSj+~+Uuy%;9`d~87P=nc$1(wbn|zLMNt
zx)0ho*oIv+^5mmqwcBb8ws}HrB;1FWS~vth9j(95bpo~-_)r}Q7vQCK6C4X@=(lsR
z`5a~b*`&`){j_r$j~3Gp-aMf)5_sW3_J_Ae<}j~bcPWq(t!MZeblI|XK*fquxn|R$
z`Xtkux8=#HK9eRBitq4Za-)V$L{fx+w<b50AV%l_y=`sWkaxU>0wrpqhJyJYqWBMS
zi~>Gs!avo9DC#VgLMp!bU?JykMB9KGtm)O2a{jjikTXh)x}WkiQ;EbF#I?5HE=dy6
z6z-s<pR{b~evzT{ztxkZ$#toI@0m6pVWC#ZOC|jg+~pt~%@>=xmM>&iz<wI*k>DDK
zyP79tEaiwTy{8#Jlr*R;v|uF}sFDP1l}%x8ZI3N5tBN2hr!Q}>;>WTrbk8;=BA+*|
zNF(~SD~E`@eb+mz-bRwEXeL)*jPxPj2FV+YQ9?FHHmgq*Pg+rK#<q@7Pm(;BH0<A>
zNV|u0Tt+UCutm)dAfCAyU{Bcw&C5fyH13U(nrLZI=AQ|-=v1%coi3tZ_uvO~aUEj_
zEo0!5&ba!T=#XEhY2W87q9~>j<RzC3#G3-lcu1j`Cf~51^{DVBU%}V8ZcY$dOgvRN
zELiu40;tqnS(*CfRMJ39D;EsGuVWEnREh9>pUp_yv;4pFcz(G6FFBaGu#p#8_<Gy8
z64$7XbuoOHXrmCa>d!ZDVR8VV`pp;&q}ki(7X*5j5!bw#X$E|kUN$kaA6A{+`;w8T
zeB<>f$qD%xl~F-GYxgR?c;tY(=1fw=XSH`nQE-eAS-(($9zcmNR~+4U2br|+Wekkj
z(*P-;jHQWfD_=t)J$Gs!g&EuMx0=+ku-seOftDGrr4NosKz+NzxHLNek?f)Un|SPz
z;_|7=g>|M@;zo7SgUx`AQU=TincbU}KZM%0XTSIUFXaiSk1)Rm?(8<(y)aYhUl=<*
zH?-nk0)i%ZQjS9rEwSjG3&H9N$F^{oy0RrD1{325m)RUFK0~kT#x${x6nQ_)Ce<1|
z>|{7#?3XV@xWS@^V<v?Gh21bEgh)R_;BRG0ae<CUSFw<}N4c5y-zaZF@OJj+Dbu;D
zbJj+uSvQI)y%i@fgd<fUsSxitgCcK3(~7*Jfw#BdWE(`6420)ZH211@b{CI<;N(lI
zh#}Pr>=&!oDx}<ZA0er_&`%z=6{q6)U3snZLNCMF(A%GT)?=Xi#;~nq)4F!ISuTpW
z=nqv&ZKIv@AB0rqn@FDytaC1gCP)5g5yl8!i4BK2BQw9-V&|xMv*;yl`?0f=hQmr)
zmjW;Zsf@X#OuA{9CSA>0cG1<yOYxdq=2q=ht$r|my7SqA;4ur<$0k8XUCYQRd6d-o
z$!TNk7*y*6YkNTN+uyaaK+Q+CoWA=~=7sxGWk!#n<Zo>zlKnuZW-ML7jGM-;B&o*N
zsR^C^4}4!jpThX|`<PeNB`-4y^n*V<loPHVAhSa;Tm>B_2-oAi_U~Z6VEhXG`dCR7
zh=ZK9h_z$nzscYlu1|jQom=~{;g_p2XLOBpF4kYK;3fiD#k(#Ui}eQQfG7BE<k(&h
z*JA1s>@4U-HlLV#bo<}}0&WodQ*3m(?Ny$aduX&j?b0F&<k}?RlRW0ENPNuLtR$&t
zo`|j+LyPCc8P=9U8cu3~MC_1+2cD^2RB+N8ck^*!W0vwEF|_tCG~3K<o81q$7wxu}
zaLh0dK?h*m+glxCu;K9fFX}MYpjeJzDOfc~iflS6UV+8?uVG@$x*EEvx+l9YJN+?}
z3~@|gy4Q>DuaBrP4lh<?n%PisEo;Y!@j>Lzr|Cw_alCQ5YC>?9^$Zl`DhGm;B46f%
zz%09P=#t5kdE8&^pogM;@*`H_pc6Ig*0=X<2Fn4Xs`~5n672Ayq>vO`7lU3fNNm1d
zl3GL_m`PC`4N1_$g3gHElB>+2{g}c$YEr_*T2xtis(uBZ&)h(<rQtFy`r{r~)rnDq
z1H%)^xsP)GTdwsS7Z>9)K(F$$9tZOTg%{og-YBv*Zl(|v4!>djCfkNiR!E$VO1#xZ
z5GTObOF0O|7o^tB`1UoDQa-e+%H-qH+y+s-xwYS^o7$O6cj4DJ=^-kd0A^x$10~Me
zWxsC#SkO~O$oD<3f^o_5KhNvCI2S~%;Ph2-0|vh*EDv(i(*k`f#XMJOo3s}!yd8gH
zTeR}-#u<{3sox~w&QmA+tOb_{M#qvj-{A#R#D(^exTxwb+#0|9rQ1*!$1dN}81-1n
z&odHeG89U4v3wf04#@86ujfHXSY2kVJhEPP)Vh1^d(vs~SyHXcxrXFf=kNfpghKzw
zj*O~Ei1ZU=x+~D7R^Gr&4vBTKtZ>fqeK?e}Raz@G0xY+Op6#^pbF(;qVWaC9EJNYe
zU)z;=KiL&=Oz(t$hPivp5tUEwkFbRAQI<fvrc?|-kb?xLEDS)9ek&9TS}FHsX~wYm
zsbpK_6_o-#2%!UVn_@Z$K?ahS5<U1ilrp7x5P}2{;}bF3oIx)~0cjQYDAgf$CIn5=
zM9Tru9+qkSfDDZ{%_7uJ8k{z$vqCjpXntC~vSht?9OPA%Bo9GV;m!Qs9o997ItBOX
z<t>7ekuuwFhnpZiYr?Rfp#DPB7k+#&mt$G>`ePooTAa@0cW$>0QIeuoj=2*5OuA<i
zW921qj_Q}&^ksFax3q>gF87Kng6iOm@f`J|)xan2QLc+_j%4FJI<cwVFovRQukqX8
zNnn8@wo16dwkGb63+Y@j`(|pbzJvpSMM4>e^wkYs>_ig}_&JnvQ<XubBaUz32(BR#
zjON%rz8m{SxD8wCefU>+GDHVL^{>=jkR=g-18y1_9x6~J(>t%Szt;LEoIral<hTR&
zGm!w!Xw&YF;!#M**c(4tpyu5WdZEts*}p8T^AOc%=bPuf@=`(mp<##T49vd#QMgaP
z{|)xGPN&c*Pqe}y|IPo#%u>g+HK1vlO~GO$0`A5nbxBxryyd)3OGIJ`h``IJJFLu-
zHM2NRpMz<$-hM?ySXJKRP{ZYft?KYCC$kK*BG|HmX(ptY^5$3VBsTRts-?`(01pO*
zj6d5AOtmW;jaOx~Hw(LrD1I@!Dd%8K22K@bOAz9`1!d9>d9nR8o3Ju(&Q(U49n2X?
z1R_oHO3|R0EuZfCxpb48tQ2BR7R?M9RDaO__W#kjaA6>j`Pz_CE2B?@*=W*cSMik^
ziId5AMIIwzkcqUwE$v9!NylPkbumpH=OtV*;ADX8ELTb~sZ9{NDyB@WV8~k0ZyH2S
zU_*Hhj?sN3?~((L9-3wQ*>Qzl=P0h93_zlDE+()btUG0)p8-pCkZBS-0w=7}CaL4Y
zWqd4A3pGBS#*bWhU9K1D1l7tCc1m`WxS0g+fty$xO;!})Ud{X~;1(t_IP*Ph&xupx
z5{-U^LM!O$mf<>dAP_c!thVE~f^zHR-B=Kqnv*A6&a-)Je|I?O^J$Ju7<2<qH82cW
zUq#f1Bynf4S#72O+<!NqSG$tx4IdCz=}e+KqL3JoU?_oZVneOu9XwlZPAZMa@}mgl
z!wwl?K|sUtt+(?%C8@8Fj|Dd`gA^bi$&tgDnd>u(&qZB>7@XkE>6s;&iQ3cP^0iFa
zco4Sp5kWXH1XQA5GZZL|{Y9xr0VDPTJE)smtw9j_aN@8h6qiI2%W+sdk?n2AT=Bs?
zh0l8pkppn_^=8^(r?~@1>c#2VVW_WY*v@PZ?{*p)bveJ))O7Q5W02cBv4c^>GRdMY
z-K>89#51F&^mJJp(d%gwL-}Gp0ot5%SK3ckP`(0`>++o3_X@~6w5<|Dz%-5Jh(b;n
z&OF9E%p04Vl`Q)NOGt7OOEHOSVBJhFSlOKB)T+PM3mmBnPjyqM>{UPQ{a-LjzKx1b
zJLKfD=1oLk;p;A@ZZOLmO;_Ih6;}qG>N_&LC-XR-BO;cctK}jHUDRwx?Uh_&axNQJ
zFc&@n-P<b9FEwMGW<Yphw&+l`^_2}qJg)v;;V%{jyElK&W8DJpynbRz`u&`ZlDwu?
zz4R;Q5jFThoj|<54Q4z>x2u`putcK@q)ImAl~o<V4<8qj4o73!ekoS7frVj=H7||#
zqWrE$mbu{Ldd9|<9;-&r1JELJX!g$LsJ^Q1){6<hjNTXUT_8ARnXz?odD)xO4l##p
z!xO9ZZ*~v;_e=8MWfzt^M<d^S>g;M7DvGnQvv(h|=uL=+UQ<{$Bh=Jsjhcx>5%x%1
zB*5oDr^QYQciqhsTC3Vo8SR!_KSY>)(>1k4>PB|m3@~i2LV0gxL4>A^@i>F0c2k`P
z?QBOw8p!?fj)3w|oPi^P2`+<`Gk7=b9PrR|Zf1vX8HVJRFnhHl+|5e_Oze_|QtEkd
zQstaX@eY5AlwLEDPGJ?I%nxI^7%H*Ehnjm$#j}LU85?mFpiETkyHSGU8iR42ST@iV
zOVGF*TC7s-sbSa*x+6N;j)?wL@yqN{$D3-Q`C?M);{yrkXScB5IkA62u_Z)3M@FTi
zKREK8$(+;49RBJOh!3~iK1onBe!~{wsy>PmAVg|se@NHh!a0cLYrCz$XBR6VyDg$w
zQr6Bbl3{v*^R|@BQr6EMw#sF>xBb?3DuzV4UxY`mVlS0~sX}C>Z-7PrmdEaaGWUH}
z_3~AptsAh`ZjQ;dw)SYW>lhc_cUvxsiodmAf<ni3Hz+W=-c`mi9NUD;W*H8jz~D;D
zDLVIKXr}#9e1=xs5JgF8%FSKC7oLYpt{GOW=r~k4g=hxOF(cWzy;Hx<hE+~a&e_z(
z{@Y6y3Cx#ffHL}Z|IhV&iGPk2qN`(zvvvu_u{|JaEuY(p9GfU#AqJbV!^~+R^1O0u
zlP9)8t2va1@Kn8@MWYAr=Ge^n^QpVnu*zgC)#``#c>J}<2~?cJn#||bCi}7OsVH7s
z;dNM=jN`s1@|Wd2K_qEq)8R7W^lx^3)qdce@!{z#{YHV5qr8X=F&w>0db0sr$^zwk
z4V6Hj2=VgYK8D<oLt?|P7q3|OEF_*o13o^B11QL+$ZQ&&+;C3nc6dwb?UV6pjEFli
zr>0fYm{^Q_PHP^{Z5YM^#Vc^h=xXK|HA=ZgOL<9hY;_*;TFE0b(u@nN8?PdwKAGOI
zBJQVr?xle-SZUPyMM6Cd-ARQfam4mAP$d9$y%<wBpPG@P1Fxs=P8~j``%pv;udYX#
zM3$4y3Rkoe32D0TqZ88}=kJm}cswDCZ#_r!UJ_=iEgh&*<FX?^+vYW-HS#$z)00_2
zER8|av>1`X>Ek)Nt6et!1gk`)_VCV%&^D|*7UKpaS5R&4Wz+j4^xs6c8;ml}Of3Sf
zx`OqWwOVX;V0uH2%z-!svt}UDyddrMDvg=1P*(m)5xxK+{}jS}udBUC0DiE2Wwg!>
z)5}wlu#>WBGeYo}sj@LNyPviQPo0=Ue^YSb5tMO$f4TG;@Fx+6cdNk@`uTGa+bwPf
z+owx2$ehHmAsZ1v1FVI;YnMi)QIrAb(eAEc2#?9Stmyo!;BGg>W~{RN`^s5X%YOg0
zE$wk}3_|)AD44z=cbK!o3=cTMp;~i1(Q6P;B%?+GSqeatF{~axeTZ&VcbzIOY(mbh
z%?Pm=I8_3LEmAdYzxo<P-_eg;-__8PpFCL<NHJV5bgy@$B-q-{E7iL%)!POLf==g<
z?!d+SG6#WY(&~b8Fso{UiW4s@gPNhX2eQIz0tw)MXf!qU=7`Y#G_HJovqE)v72DO%
zl$Pr+{Lw<`ca!2vSd9KX13CR{$y(B^TDyTVug$@?E;Dy|vmDs2=8~rhdpj=)>KY|I
zqR2)9>CuYx5jMoAxGA7Gq9g+-0TEKZOi84oSmOR%xoF$O9$VxkizW&itTlO-l5yns
z@R98~D7QkNiWE4i&Xy}zLmWrUzI5uL$^ah4x*yFHDwv@7Na;C-!*iwwBbd$Yl@sYv
z3;pY(5gEbc*-r0j1B#R%-nE)ofshxfM1{UO8A*8>8@pQmJf21yBJ@C%{ndT*2_{3u
z7akiaciMY_ICj?XcQ3sBDSI4!He<7Ti4jr`C5r9xpso%%lXoY$MsR+s#BouH%3;wm
zf}0t|5GEiOROl2=p^y|Y*1Lu=`tN(a)h}|h+o!=Qo0!oly9JWg>CdDV+aK==sGd{L
zbTM|wn~3}7h7PAxhdcmJx2J7+wlW#}mlHH`v)sL)>nGxL7J^~-hJ#VhIkppz#LqJd
z!KE)7p5JE<BghRMz<i_j#t3x?uP2oZXK%k5amR<0$7zww^EAvQMj4`EkIYzA!uZGD
zukj#)*~MfdE2FYAIv{D0fQ*55qZI8~LA^<zJek?q^}}NyXE<O2EDzOVgL=CmMihN!
z;+1q<wC|F@#|P-Yj?p1@t!sVV{X9jf{CT1h;|oQK>;nX5O3Ew*74Xw?fZ=QKRlplm
zL5C%~^{xC~A`;4pvsG=y8AljlbHGJpRNV((NLKs4%wAk<Hu_=;B6ET3VSr0=pN|*_
zCAD_V#pup`(Ew@gx1fum^GX9fT&?txkaoml9bu&W+uvA80%duMT@H}CnV0KAV~$!%
zEF&XeHFjyn<XSvgYa01npXQD6wr~7eF|%JE>b?UR$*2S-l8cQz8$8r;R4B}w_y&Vn
zS!+UtJX?I^eC8<Y=~PBq-s;V(4SxmU#{PHf`{$nIjP9wmC>@#w^4MZBKnZ)hEC27m
zE{}u>)0I0lf&YB-mX<jPa1h`DN&|l@y~n<@^?Dj{$p!V}>*cW}_fz+#*5JO)`DmBD
zs?8k^BIS-3#)n5Ud}oDKXoLZkL`sDd)oM<s*z8feIr@OE&2lt)9Q8DqDcVfmV?UIu
zqF(zYx5ma(EaHuLN7%?c75|kv*epX3gF@Lkq!sg<bmEyZm*aEj4>N!;&L}irEQ3<1
zCT+&Zx?}6Izblv053bM#tTzC}?!*aOa6C9QWacc(oX7eyMB;CZU(e>bsAEXf!`zEb
zWD<=U?(leHQDxt5?U<K$EqfhhO^Pc16)%6St;%(z!D`OX9yc*Ehg7A}1EG%0MFs=x
zx$&KG2VceOvzsSxL<(@&I-$HXXlWmdBdw})LFeEvva_<CpcpUTIolQ0!M|2<mL~E(
zHf)vMSlLoB`gXv>Rbe}WP0mlAb~sKLvapbUZ<5459uA5ow78JGXgI$!4BSM-jUA8&
z+*Ll6=~YDpv`o)yudmK#)Xd$Mx89JmPuhT^?E{WJsM<4q#(@3n%*5--cw0pMoDa;X
zmtkRj&tJ}KRD;%PHXj<^FA%JpKsWcoJ#t{YU;WY3a=^uAf>?HF(76-Sd!|<QE3L$V
zh`k@k9+PK;)GrWZh@Y71T6>{;3WUYt)aJ(YG%LDlOa5du4o=GS)QUQ07!muUzh$Gd
zzO`1a`{iPcQUW7gGLmxf$Zy+WFrlD~*IF{NssaxqH(eCcGR|ETZ3W!i!8BPT&8=3G
z+znfWnskR$7QUDkwGv%3uC#A{9kI%3&3I$TTwE@(m@ZLL1Du^a+pOJ$T_|b#%TK5z
zE85vtYun$vDDU+_a_*45QjR+mMTHpLlM}xMhSL1O{RR{ckly=6z>Xbqy6;4XN(yS%
zTy79V^0mPb*6`Fr5&Mt)IJn8IoFj(|=Ru}OIp*$m2ydm>-*s@8*@#5(H`$6Jjqp~h
zC(xIlZ<<X1t$s6b`*UZ@r`XO|WLbI)R0G70P|jbXQJuEN6q4y%@=)`+`yoGPA31rr
zX%5Uu@Bh`;Sw}_HeSLg@nW0lka_B}tK$;m+q*FjTq<a{e0Ys2SY5*yR4gqN-1tmo~
zM3InA2MH;8dE$Ni{hqbn_x^G2KKFjtUFWWSW1qXv{hZIp*B%+=ZH=**P;ZaHZ&fPH
zv;&Oq?v_5w6Xg<Fkd$lH{|pI{HhZ&wtU>t2I3YF9lt1I}pqI<<XHxLvWHR$NJmeM0
ztal(VDj@W7a{$9C?aiEf5`PJ$xBw_}dI2IG`;@aQ@n+v-7?KT4c4GI~;Nc-LvrP|^
z!i}S0OJC)YaBQrIm1^fR^$9aD7PkNtl5GNp)dogD%@O2;0$~rlR2u>8Be{)X60ZHi
zpcoJyMspkr8OenuCq5>~jNyThPux`P$xO4bW3&=H2t)`4l7ZV1_p_y4!h>b>buz;s
z`ZP)tUv2}}97_sBghBCTajZ^)PsXeW7|-nLkj{vWRN?+q4Y3~z=Z9*F8P7SE&7s9)
z=2_a?XeaA()Uf9OhpacU`Pa!h`<9)md|YZT6<0J6s6~?GK#;@W?L9Eaf)$?HJINV6
z7%`s3fDOY<u_qxC$2NHv^}MsWJhobi<avycnO%(Zow)7CZKjfvyHxHiWk}oeF67k<
zWH>fXJYK(BQFz&T^=&mt7uSMt69Y^Q=F=cwbMlcETimoQ&K5d(B5Ge;7aT~cmk%oF
z^|xUwc+*8}#wBsFB9jhTke?@>!a3(D(zY%ss2iWG{!lMaRdsxn{GlX!n0Dg2E(}hK
za*I6L`ElNNr%RWcaTC0bC7f3=PHOiKsVa7kgO)WfJQ#XyIlM{gbYYhe3UQH-7-wz)
z=!>0)f4MGGK`!ZO%x<;?-s-=59&itr!-VRMH1}Z-rAAKibHwQFs95l_0%uNV1-4r~
zQ#Rvs_WK=>SGB_8BahRuX(zqg)qD(b58;ttE2l&{cklV_MaDeMEtd1i)sr!&Lf+*J
zq#1QRI1Nov@>bI3)Rj_cHUc;Kzl9R$6g-|+gh5=6wFsVls52qxS65`pmx;^FC?r;H
zNFu)2a5R~QW}qeYoDb)+IpYj8Q{U!wG%Ni;jbgU)zgVVzOk`9s-JG8;<S7ey^bqGD
zCNMv9jA^^8E$LS`z+YEqpb(AakDM^WV(Ln+%E7X1PANGzo18#w6+e-hZg+sF-`QP<
z@VyWE5E|;{Sdxo#HNUALckBEoV5BVoFt{ci1Rx_U!CNIN*k=Mv_&$TsE@3syFMnzP
zB|bH?lofmWeC2L8wt{nelql+TGJ)w3IL_kY7acVgwP)GXGl-L5Z+K-59TK;9+=b8b
zNA>`KT-V6y#jKjoZE_BClT4Ng7eA&ep0|K>LJ(}8&imy+!JB6TL-?+}w%7^$gmA|K
zXwOrSXvKYmvd9xo`yxYH@BS?S4mD>TP3ee7Q7D2fMS*jrmv-Gc!xS@UHM#=3Ot#|f
z@`_=hPll9iOJKdmp4e}^LOvg`wy|9peCb?XXQMZ`JbcDSTbW%|^tPkIQT>dsf*&$0
zM7vtEE5ULhk;6Y>7FN{Azt;4LZvpM8j$Fe%Titb2vJf2Cd{$cj9ZpS9C6oKKw7wlZ
z{sW$&8=v>*#=MU`lO|esb2+?tr7!r<MSKz29)-I*HJKGmH8AAXi=hhEv`eb-hUB_2
zT3{=UrStJJ!)0E$oDjlTD!S>EDEi>dYMbC$wR-1{H(Y<|Z!^WpbEr)aCgSKvS7ysE
zFfn^{<y2rrn;ov>R*q3X=m5D(Vu@m-_MN?RTw|Jl?UFr;5FEB~raVYz#D>7sg~8#T
z=es%&k#O_=bK0bLsaDa{WaMK+KK%L;_z1jOprP;r0^|OPMT8^LE@!(h$SxY14tG>5
zl%>*&V5}hH_Owp4C*T?(2@074s*w$+*cYA7wqe)0asvb#usakG9Eh8NDK}#=+>C77
z2)el*)g?Rxd{xbirVnU&{zrkiADMEqM*dNAimaQBo+Z1<`DD8D?AJea4yV+Ft%P~d
zHSwUkUAW1hgB})&EGX=nmpWFxF5Ga1RA1t!u*buEY@*y;HSx7U3YZ~0{ijh6RSHV;
z6Qe##m&ZfJ7ZDrB)S^nVq?nVBoay#h-vSZL*Y}PG;UJeDg>lmd=TD)S6@BCrlJD_)
zOe<?F7Jn39_e;7J+hyJjE4Bllq>^Ax&WB#`^AnjxItI}w=ol_Uly6w1o5v7f^Rt-?
zMbRkyY?`yjI(k-OXly?E3cY(Gmf_Dl1@w7tV7g5*CP#67sr`^W@F9e@qfar5lDDQ^
z?fKAtV)I%pfliiC383Sv9P*ps?g8G6VMz*)D37tmOQ%Mc7D6^xV97Mo68oH_Qtr?P
zp9d%6gCSS?b<Ht*6ZwfZQOQPVSx5TTUfS*+ylLu*#bRyhTZNvI$3=jn;?9(6SV0L^
zScRGT)IA>yO9zuo%Knj?pOz|w+(%y78Tw1xw{VUIS+;e4j0`w{^CR7Zzg{4mtu*t_
zv<6rFLn=6}R2(`zN&(X`-isFbs_Js>@tP7sH~?qfI>`L=#+_BumClOl?QGs1fwi9s
zEaB&)9G80xmmLYuECXNgP?{7rdfZK2uhZKV0n??~Ko<a!8dRnSZSG+#+u7*KCy4m`
zP!ec6^-I@ezbu?ELnIa*-tmIKFL7@Gd?YMIkQ94))d#@N?o`2gVos_hj|&(A3=Y!w
zV3~RzN&+e(KxMtJD+Y7mBv3Tp!e9XbdzCtON7vV_g6v{j&4SV=yc8;&@7xBhd`P;{
zd3bem0PL^_w&6vs{8DMG_rQd~_S)WN=l4FG$}C&)+A0k8B5Up_4s|(o4{hR7EELko
zUYB59m%#3lt_goT(K+;>i?=@VSbqU7m{py#6DtodO-W+Cp;3mRx2Q8VnXMIvdMMLo
zV2-ByULD`Y`M!yZ`Q>H4#w7yQG7G7y&1SorMn#;zJju9<AP`Ic?(+Gw=%fgl0jH~n
zzUEM}$g<aiuSj6>7oXe69ktuE$7bb8d5JO{L8-9OwTqvwEwfymcEe*32GfpNQTEBH
z9~ChB)<gKJQ@urA;ujC|CCqmkMjWPvYCk-GDG_Z|rrs5Q$5wpWyu{%1tpTRxc8fk=
zd?qUFoJCy=vzf}Rj2W$0dl{uuGrsETkuwM!Nr>;&1Ty<p<JBRrh3~>dMA9*;aKYS^
z>~)i+g=s_eBUAp`CVDhny>fGUGzB4<K5<7otb7MoZ?U+^)}pPxiCOs}Kyy0`EwH)<
z)0dBZvub%%wx_B~1D&LS>eHIa$M%d((dmeS#|*$@@F-rz?1?cuES?8ABu_DzllqP+
z){wP1lCOx=eB*Z3Q*YFH@85v?X3a&=4fUmsGxrf5HUL21Y_|g9#X{n}xmP#I{s>$7
zeKKOx`Vr1Mx6y13t{ywJ<f(#Bvq^O{qb7dY+N*5Jaw(&i>y2Wocr4Bivkf_vX<>%d
zGl;H|r0I>yq_lVJZUPDQwIy87j#S!_{mpL!@YEF9jeGjUWQ$fG#w+`V8TH{u38>J~
zm}ZR;2d!tT@U{4E7lV*5<{G%Ei7al-(QWg|Qx=81pBBFI7@sfya7WINE9n?mQ*f-p
zNw#>X-unsgeTc(}cOfDZ#r&A|c5r8U(6g05$+fC`XZ3`>lyN4l{1Q8iost6(!yd-i
zPp)tHH*yjnzXpQ}(=}SGFou;&XcvlrP2*Ivh<Y!Ael<jaMT8cTD_pZr@EYyL*)XsW
zL@x<$C7obKbH~-$N&$jPi^7TB6+|bLmUc<I4`Azj9>pK|lbn2k>1Gh!>vz)HJZFMz
zt5>hKbio2{=n&HbcoRk#q`PHTd$Q!WF5%|7lf~Tz6cxNBUHUETgrlumG1$?w>4>y$
zEz`CCW$FCnCk|x0&kWd$SeN7=@yhd*o7KBC{)8M)Jo#h<&p`y)xM)S}q`e~ONLASD
z=fKXqsTzEg-ZnCS-f^VvS%h-PC6T^E_0`LQKX&cdSh5hZ$U-3Yz`Erd;CoPxROT1#
z#d+DOjhyE2s`sV8ENRwk^p<904&q<>N9F5W-dqDW<SUel9}X$L;`HIn>P@E|-CVH-
zV#PvQ-XM=C-`^mQq#^SCSi1sh0@2PRrkbYGhOa6OL(0j%6!D9zbZ4)ACQY5wyms{H
zJI!In-7l6|5Elys?-*2W;4`KI!>L~x1d3_zSH!_HARDb2?e1b9QW;xT(?Wh35a>Uf
z>1lK$Hm>P@37x1Wdz>c|;6V_d>mL!-=B0z&)G=#nT9)JABcK<Y2?j~9*+tNQH}f9#
z!qpgoYLMLL0T-RQ?BFG1D-shs9tbh&U!sq#=ucm=7$v4997^LbKe$*a_$noackjiB
zf2yj}fHvl8dd*G7xdQI@5Szm2fv*3Wi&b;p1ubQxI{SRzR7GlmC*!8s)Q|);{bukE
z1!>+#0e;U#Q-sA;_bKV-iv|MG^YUHh&cq3eu|^x>HcgjeTf@em>Fb5E<OvoBLQ?Zx
z7c;Lpyq4ddQ81^zA)?5s9r`K65N{)O6>&cU{eFZ4EvmZw-9KU<D({ZZa)<%vjhn<H
zc6U~$znoPH8K{E}UHiZ0taTLpF!ndHTrd!k8bLq)Iex3=)dUlJAs1JDT1uJ*p9oJ~
z6=c=A-~@drbo;^uCq_XvF68=R=pY!=@#em<$|gI9<s^U2Kow+C_8{RJG{@k5oiCxT
z#-w0$B>Nh-miGL((&qYa+U$pG<2fQ60HFWoyTyO7uiW7V);6y8fAVHC-fDdoqU}FO
zJt291K*m+%R>oaM$*M``NLP@%Fy;2@J;JUut@EAMWJB)>aFV@fZ{UZ}-aEeC`c&!%
z`i^9k2;-{zgNq;KPwp(9N=gUO$asA$pU{Y<J`@-B<|un+pA-Wl%*|DyXYq!sC?&D$
zjZtUoB%B~DJLhiSyU??n58ps}Zh<I~pHQ)>MDEkwYf2r=#q_UNc?OM99Q-d@<obLK
z=E@As?7Bv60wLeXOIhnj+hRGFxSulB8E7x`RkkD)Zx=u4GjK7!tL-hXm6`d;|7`@h
z!|N2&lX^{K4PiDHP*TvG1!i@oz-Xk~QmD+ubOdc=+!ENc1@iX)5-dih_uL&Dsa4C4
z`*_XRw&78*hQk-iNX1j0ZwAu+@ZI+G96V_Vhl2C=+f1L72C|cv(-`XNWq=lQHTG(D
zI3}4}Gr>fTY{NU>Gee`KqOP-v&E7;NXM00Q`0o35^?EFLJe;O^jHPc*KAts=&w|hw
z>J-^{rGOb}+kI`${pc=;o})<)c``E`VzYCX9_Ik=LqVuCFZ9X|KRRTI%$O;lvImxw
zH8a}7GG~e#?U&3}BEG3d-B|v9PxoWb9b1@6R#oK6KH8h|YrA)xO+^|SZzG*b7ruI5
zxI!bFA3q+<{=SJAKNSKi?p~@>H8hDj`UKj$a<TRjSvEJxV-|B{5;uH}#0s#{5#@cS
zbS&lNr?x{Hdrvi)q2^PTGAw16c4{l9M&A6_c|gF`S?_@da~y|2WIS&Chu{t;K6|RD
z(cTKTjBks?bn?4Ox?IkS4r|lQBy_`bm6=d>YxDOR?AmszeKY#^3mXllPp*zIPx?#|
zD1DJgkJF`-6px0-FV2P`$o4uZz5ck*RoAq52l$W=N&VN0#BlfulqDv*t}5}1Sx8sw
z`7)HH_1B@V35#$;lUw_gXG@yVPuHN);M?WR(g~XoQ>(SJq}oF)2W2D1o|m!w!%VjX
z0;V!I%QIxP<FW%N!gV9E>Q>fMdjr#yyk7cU|2b3Ke}Vy<DR)5zSfC(3y{O)1w>=Oy
z7Sh~fUWhX42DmM6-0Gf9ikC)ErhsQ^_&`^!&Dqbwrn}NswdrN?<gbgIi59UPckxy~
zlD8WHA&FP#MaUClidtneD-~QV&s}N2cn(!&HTa{ZxR*8qguMvF9*+*MSL~6b5B)Wj
z?_<OwC`<u;T41wORa~VdtG()Cpx{+yfz&^KJm`;K9JtDtB!H4owaxH&pj1qA9@;;A
zPoZw&6<orB`2fy$EoS%j&@{JY1d$$lZ?_A$7;ewwCF~iRSZF7ccsW2kX|Vzh74i;x
zWiflK9W2lAbg+n~w2MJ!8cD(kwJy)-gq}s&wyNV%`cA!);h27s94xUI%q4LUgska0
z>WDhaKQdB$sGd_E{?^>iE5o9sp2$oS>g_9;pVwc{-pE?CfS2WC081oLRLc&*?01H@
zEYa$EhM$r8dnl_Mi8Fr~BlCwf6JL&j29GI$Fv7BhCEsphv{4b9j%U^}Zs&(>*=-YR
z1pVVWm9r}tc@>#9olO*n<Xk8P@__-fbaw{C!CqOYND_NHI6{=Gg#xe4WK8QksAkKO
zwOV7C(&6dtpMe+U#q{lCq*FQfHR}~g=ng^ivO?}ga>FTEpQYv<=ozv;$p`Ac2-L{G
z`f&zhW!W2;uD<<{cZ`~<a3Lt_IYnc*L?&y*-cRKMVo^n2{0e7ei=#Ix3|T-QfoP@*
zc+N;QFH29=e8D$M=DiTRH@29){zKNpGCo?>#2nL}c~?;Kok#<l(xY|CiD_`P204#8
zIseQ(LTS&v+*=xB3`31r`B2tm#@ePaP^iemODdX-%z4Ha#C{fKZz}iScdA9rvx@~?
z!pcb+)j5aODFz2s!y6Z;t>kc=UrQ1-w!T*ms1CluiM^P|?YXqbU3$Xl8c0()Q;91T
z`kBNs=o8_!Ia|Umty9_6&iK+9vM}Jsl}^YE5lRyS`a&2?<T_2Tj051fYDI}2g0yh%
z?BJlxtZ*1mw+}&N48M7Je<8_lZi~Mc$S!K+5X8#x&wM)K|5lLfqX>W8DE>{Z|KB43
z01GE5wLcX92A}^{4F5z$-zXS=Q#k<u^545}EEqNr)%S<w-z>-9Ds3PT1v&!B;#h%!
zDCHv%KjZ&>TDrJERN@hc<^Pe$;{#D2jzH2l0)#-6dl(Ki3UUnM#jzm=qBM^|P@H-;
zFe>>N#L4&@MfUGTD{z5PlgA)d?tgwMFU10o{%-M&RU`)fYx*f4cz~-tYUvn6#rWR|
zmj9GTn}PpGx9~9jlZlx8>#hD<)MpMxrJsOgfo3jX0Lpw3#Pp|&QNU9W9gd9~7{zi5
zV(0y*e*pZqJDuIZ06Py`9d8d$pF7r`o~Y$x5GCV3q2o;?@!yUq^8%v^PH!CZ??B^s
zlX~G`)Z*!lW3K(cDCVCa4#qzpuQ#Eo%S}*n>$mX6(hmTmtbc;o!P+4=uuj1L0GeQL
Az5oCK

delta 246777
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

-- 
GitLab