diff --git a/ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn b/ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn
index 88cc06e90caa8701def0f7d13d4b1821a7eb60bc..e00f6aa89c81b738f2888e9f676ce44246b92881 100644
--- a/ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn
+++ b/ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn
@@ -170,6 +170,17 @@ module LibItsMapemSpatem_Functions {
             }
         }
         
+        /**
+         * @desc Default handling cf02 de-initialisation.
+         */
+            altstep a_cf02Down() runs on ItsMtc {
+          [] a_shutdown() {
+            f_cf02Down();
+            log("*** a_cf02Down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***");
+            stop;
+          }
+        }
+        
         /**
          * @desc The base default.
          */
@@ -264,6 +275,66 @@ module LibItsMapemSpatem_Functions {
             f_disconnect4SelfOrClientSync();
         } // End of f_cfDown
         
+        /**
+         * @desc    Setups default configuration   
+         * @param   p_certificateId The certificate identifier the TA shall use in case of secured IUT
+         */
+        function f_cf02Up(in charstring p_certificateId := PX_CERT_FOR_TS
+        )  runs on ItsMtc mtc ItsMtc system ItsMapemSpatemSystem {
+            
+            // Variables
+            var integer i;
+            
+            // Select components
+            vc_componentTable := {{c_compMap, omit}, {c_compSpat, omit}};
+            
+            // Create components
+            for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
+              vc_componentTable[i].msComponent := ItsMapemSpatem.create(vc_componentTable[i].componentName) alive;
+            }
+            
+            // Map & Connect
+            map(self:acPort, system:acPort);
+            map(self:utPort, system:utPort);
+            connect(self:syncPort, mtc:syncPort);
+            for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
+              map(vc_componentTable[i].msComponent:acPort, system:acPort);
+              map(vc_componentTable[i].msComponent:utPort, system:utPort);
+              map(vc_componentTable[i].msComponent:mapemSpatemPort, system:mapemSpatemPort);
+              connect(vc_componentTable[i].msComponent:syncPort, self:syncPort);
+            }
+            
+            activate(a_cf02Down());
+            
+            // Initialise secured mode
+            f_initialiseSecuredMode(p_certificateId); 
+            
+        } // End of f_cf02Up
+        
+        /**
+         * @desc    Deletes default configuration 
+         */
+        function f_cf02Down() runs on ItsMtc mtc ItsMtc system ItsMapemSpatemSystem {
+            
+            // Local variables
+            var integer i;
+            
+            f_uninitialiseSecuredMode();
+            
+            // Unmap & Disconnect
+            for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { 
+              unmap(vc_componentTable[i].msComponent:utPort, system:utPort);
+              unmap(vc_componentTable[i].msComponent:acPort, system:acPort);
+              unmap(vc_componentTable[i].msComponent:mapemSpatemPort, system:mapemSpatemPort);
+              disconnect(vc_componentTable[i].msComponent:syncPort, self:syncPort);
+            }
+            unmap(self:acPort, system:acPort);
+            unmap(self:utPort, system:utPort);
+            disconnect(self:syncPort, mtc:syncPort);
+            
+            
+        } // End of f_cf02Down
+        
     } // End of of mapSpatConfigurationFunctions
     
     group preambles {
@@ -358,4 +429,33 @@ module LibItsMapemSpatem_Functions {
         
     } // End of group receiveFunctions
     
+    group componentFunctions {
+      /**
+       * @desc    Get the component  corresponding to a key
+       * @param   p_componentName   Name searched component
+       * @return  ItsGeoNetworking - The searched position vector
+       */
+      function f_getComponent(
+                              in charstring p_componentName
+                              ) runs on ItsMtc
+      return ItsMapemSpatem {
+            
+        var ItsMapemSpatem v_return := null;
+        var integer i := 0;
+            
+        for (i:=0; i<lengthof(vc_componentTable); i:=i+1) {
+          if (vc_componentTable[i].componentName == p_componentName) {
+            if (isvalue(vc_componentTable[i].msComponent)) {
+            v_return := valueof(vc_componentTable[i].msComponent);
+            }
+            else {
+              testcase.stop(__SCOPE__ & " can not handle omitted MS components");
+            }
+          }
+        }
+            
+        return v_return;
+      }
+    }
+    
 } // End of module LibItsMapemSpatem_Functions
diff --git a/ttcn/MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn b/ttcn/MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn
index 3d1ccb8bc92dceab53b4d92a3030a743461dbb37..b6e65ffc81be1917ca6032a62c8454d1e0ee8280 100644
--- a/ttcn/MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn
+++ b/ttcn/MapemSpatem/LibItsMapemSpatem_TestSystem.ttcn
@@ -62,6 +62,13 @@ module LibItsMapemSpatem_TestSystem {
         type port MapemSpatemPort message { in MapemInd , SpatemInd ; out MapemReq , SpatemReq }
     
     } // End of group interfacePorts
+        
+        /**
+    * @desc ITS Main Test Component
+    */
+    type component ItsMtc extends ItsBaseMtc, ItsMapemSpatem {
+            var ComponentTable vc_componentTable := {};
+    } // end ItsMtc
 
     /**
     * @desc ITS System Adapter
@@ -155,4 +162,15 @@ module LibItsMapemSpatem_TestSystem {
         encode "LibIts_Interface" 
     } // End of group ApplPrimitives
     
+    group misc {
+        
+        type record ComponentEntry {
+           charstring          componentName,
+           ItsMapemSpatem      msComponent optional
+        }
+        
+        type record of ComponentEntry ComponentTable;
+        
+    } // end misc
+    
 } // End of module LibItsMapemSpatem_TestSystem
diff --git a/ttcn/MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn b/ttcn/MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn
index 8823a551699a40ed9f4d9b9c944225f0c5c428da..2df4dd20745f833ad6ace18677ac27fc127fcdf6 100644
--- a/ttcn/MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn
+++ b/ttcn/MapemSpatem/LibItsMapemSpatem_TypesAndValues.ttcn
@@ -28,6 +28,11 @@ module LibItsMapemSpatem_TypesAndValues {
     
     group mapSpatConstants {
         
+        const charstring c_compIut := "IUT";
+        const charstring c_compMTC := "MTC";
+        const charstring c_compMap := "PtcMap";
+        const charstring c_compSpat := "PtcSpat";
+        
     } // end group mapSpatConstants
     
     group utPrimitives {