Quellcode durchsuchen

Fixed model_overwrite again

Yentl Van Tendeloo vor 7 Jahren
Ursprung
Commit
e43626d5e2

BIN
bootstrap/bootstrap.m.gz


+ 2 - 1
bootstrap/core_algorithm.alc

@@ -709,6 +709,7 @@ Element function execute_operation(operation_id : String, input_models : Element
 		while (get_entry_id(model_name) != ""):
 			model_name = ".tmp/" + random_string(20)
 		model_create(merged_model, model_name, merged_metamodel_id, "Model")
+		log("Manual model created " + model_name + " : " + cast_string(read_attribute(core, merged_metamodel_id, "name")))
 		// We want to modify, so modify
 		do_spawn_modify(model_name, True)
 		merged_model = get_full_model(get_entry_id(model_name), merged_metamodel_id)
@@ -856,7 +857,6 @@ Boolean function enact_action(pm : Element, element : String, mapping : Element)
 		while (set_len(keys) > 0):
 			key = set_pop(keys)
 			log("Overwriting model at " + key)
-			log("Read from result: " + cast_id(result[key]))
 			if (get_entry_id(output_map[key]) == ""):
 				// New model
 				model_create(result[key], output_map[key], get_entry_id(outputs[key]), "Model")
@@ -920,6 +920,7 @@ Void function enact_PM(pm : Element, mapping : Element):
 				mock_location = ".tmp/" + random_string(10)
 			dict_add(mapping, key, mock_location)
 			cmd_model_add(signature[key], mapping[key], "")
+			log("Mock location created " + cast_string(signature[key]) + " : " + cast_string(mapping[key]))
 			set_add(mock_locations, mock_location)
 
 	// Initialize Join counters

+ 2 - 2
bootstrap/transform.alc

@@ -554,7 +554,7 @@ Boolean function transform_forall(host_model : Element, schedule_model : Element
 	Element mapping
 	Boolean result
 
-	//log("Executing rule: " + current)
+	log("Executing rule: " + current)
 
 	mappings = full_match(host_model, schedule_model, current, False)
 
@@ -563,7 +563,7 @@ Boolean function transform_forall(host_model : Element, schedule_model : Element
 	else:
 		result = False
 
-	//log("Matches in forall: " + cast_string(set_len(mappings)))
+	log("Matches in forall: " + cast_string(set_len(mappings)))
 	while (set_len(mappings) > 0):
 		mapping = set_pop(mappings)
 		RHS = set_pop(allAssociationDestinations(schedule_model, current, "RHSLink"))

+ 17 - 17
integration/test_powerwindow.py

@@ -66,22 +66,22 @@ class TestPowerWindow(unittest.TestCase):
         called = 0
         nr_of_operations = 6
 
-        def get_function(filename, metamodel_name):
+        def get_function(filename):
             def func(model):
                 global called
                 if called > nr_of_operations:
                     raise Exception("Seemingly called some operation twice!")
                 else:
                     called += 1
-                model_overwrite(model, metamodel_name, open(filename, "r").read())
+                model_overwrite(model, open(filename, "r").read())
             return func
 
-        cb_req = get_function("models/requirements_model.mvc", "formalisms/Requirements")
-        cb_plant = get_function("models/plant_model.mvc", "formalisms/PW_Plant")
-        cb_env = get_function("models/environment_model.mvc", "formalisms/PW_Environment")
-        cb_ctrl = get_function("models/control_model.mvc", "formalisms/PW_Control")
-        cb_query = get_function("models/query_model.mvc", "formalisms/Query")
-        cb_arch = get_function("models/architecture_model.mvc", "formalisms/Architecture")
+        cb_req = get_function("models/requirements_model.mvc")
+        cb_plant = get_function("models/plant_model.mvc")
+        cb_env = get_function("models/environment_model.mvc")
+        cb_ctrl = get_function("models/control_model.mvc")
+        cb_query = get_function("models/query_model.mvc")
+        cb_arch = get_function("models/architecture_model.mvc")
 
         callbacks = {
                 "models/revise_req": cb_req,
@@ -157,7 +157,7 @@ class TestPowerWindow(unittest.TestCase):
         called = 0
         executed = set([])
 
-        def get_function(filename, metamodel_name, fixed=None):
+        def get_function(filename, fixed=None):
             def func(model):
                 global called
                 if called > len(callbacks) * 2:
@@ -165,17 +165,17 @@ class TestPowerWindow(unittest.TestCase):
                 called += 1
                 if filename not in executed or fixed is None:
                     executed.add(filename)
-                    model_overwrite(model, metamodel_name, open(filename, "r").read())
+                    model_overwrite(model, open(filename, "r").read())
                 else:
-                    model_overwrite(model, metamodel_name, open(fixed, "r").read())
+                    model_overwrite(model, open(fixed, "r").read())
             return func
 
-        cb_req = get_function("models/requirements_model.mvc", "formalisms/Requirements")
-        cb_plant = get_function("models/plant_model.mvc", "formalisms/PW_Plant")
-        cb_env = get_function("models/environment_model.mvc", "formalisms/PW_Environment")
-        cb_ctrl = get_function("models/control_model_wrong.mvc", "formalisms/PW_Control", fixed="models/control_model.mvc")
-        cb_query = get_function("models/query_model.mvc", "formalisms/Query")
-        cb_arch = get_function("models/architecture_model.mvc", "formalisms/Architecture")
+        cb_req = get_function("models/requirements_model.mvc")
+        cb_plant = get_function("models/plant_model.mvc")
+        cb_env = get_function("models/environment_model.mvc")
+        cb_ctrl = get_function("models/control_model_wrong.mvc", fixed="models/control_model.mvc")
+        cb_query = get_function("models/query_model.mvc")
+        cb_arch = get_function("models/architecture_model.mvc")
 
         import log_output
         error_path = []

+ 2 - 0
kernel/modelverse_kernel/compiled.py

@@ -21,6 +21,8 @@ def reverseKeyLookupMulti(a, b, **remainder):
     raise PrimitiveFinished(result)
 
 def reverseKeyLookup(a, b, **remainder):
+    if a is None or b is None:
+        print("ERROR @ reverseKeyLookup: " + str(locals()))
     edges_out, edges_in = yield [("RO", [a]), ("RI", [b])]
     options = set(edges_out) & set(edges_in)
     if options:

Datei-Diff unterdrückt, da er zu groß ist
+ 31 - 3
wrappers/classes/modelverse.xml


+ 2 - 2
wrappers/modelverse.py

@@ -214,8 +214,8 @@ def verify(model_name, metamodel_name):
     INPUT("verify", None, [model_name, metamodel_name])
     return OUTPUT()
 
-def model_overwrite(model_name, metamodel_name, new_model):
-    INPUT("model_overwrite", context, [model_name, metamodel_name, new_model])
+def model_overwrite(model_name, new_model):
+    INPUT("model_overwrite", None, [model_name, new_model])
     return OUTPUT()
 
 def disconnect():

+ 149 - 96
wrappers/modelverse_SCCD.py

@@ -1,7 +1,7 @@
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
-Date:   Wed Nov 22 11:22:26 2017
+Date:   Wed Nov 22 13:59:53 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
@@ -215,340 +215,347 @@ class Modelverse(RuntimeClassBase):
         # state /initialized/behaviour/operations/model_overwrite
         self.states["/initialized/behaviour/operations/model_overwrite"] = State(27, "/initialized/behaviour/operations/model_overwrite", self)
         
+        # state /initialized/behaviour/operations/model_overwrite/init
+        self.states["/initialized/behaviour/operations/model_overwrite/init"] = State(28, "/initialized/behaviour/operations/model_overwrite/init", self)
+        
+        # state /initialized/behaviour/operations/model_overwrite/search
+        self.states["/initialized/behaviour/operations/model_overwrite/search"] = State(29, "/initialized/behaviour/operations/model_overwrite/search", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/search"].setEnter(self._initialized_behaviour_operations_model_overwrite_search_enter)
+        
         # state /initialized/behaviour/operations/model_overwrite/send_metadata
-        self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"] = State(28, "/initialized/behaviour/operations/model_overwrite/send_metadata", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"] = State(30, "/initialized/behaviour/operations/model_overwrite/send_metadata", self)
         self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"].setEnter(self._initialized_behaviour_operations_model_overwrite_send_metadata_enter)
         
         # state /initialized/behaviour/operations/model_overwrite/send_model
-        self.states["/initialized/behaviour/operations/model_overwrite/send_model"] = State(29, "/initialized/behaviour/operations/model_overwrite/send_model", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/send_model"] = State(31, "/initialized/behaviour/operations/model_overwrite/send_model", self)
         self.states["/initialized/behaviour/operations/model_overwrite/send_model"].setEnter(self._initialized_behaviour_operations_model_overwrite_send_model_enter)
         
         # state /initialized/behaviour/operations/disconnect
-        self.states["/initialized/behaviour/operations/disconnect"] = State(30, "/initialized/behaviour/operations/disconnect", self)
+        self.states["/initialized/behaviour/operations/disconnect"] = State(32, "/initialized/behaviour/operations/disconnect", self)
         self.states["/initialized/behaviour/operations/disconnect"].setEnter(self._initialized_behaviour_operations_disconnect_enter)
         
         # state /initialized/behaviour/operations/user_logout
-        self.states["/initialized/behaviour/operations/user_logout"] = State(31, "/initialized/behaviour/operations/user_logout", self)
+        self.states["/initialized/behaviour/operations/user_logout"] = State(33, "/initialized/behaviour/operations/user_logout", self)
         self.states["/initialized/behaviour/operations/user_logout"].setEnter(self._initialized_behaviour_operations_user_logout_enter)
         
         # state /initialized/behaviour/operations/user_delete
-        self.states["/initialized/behaviour/operations/user_delete"] = State(32, "/initialized/behaviour/operations/user_delete", self)
+        self.states["/initialized/behaviour/operations/user_delete"] = State(34, "/initialized/behaviour/operations/user_delete", self)
         self.states["/initialized/behaviour/operations/user_delete"].setEnter(self._initialized_behaviour_operations_user_delete_enter)
         
         # state /initialized/behaviour/operations/model_render
-        self.states["/initialized/behaviour/operations/model_render"] = State(33, "/initialized/behaviour/operations/model_render", self)
+        self.states["/initialized/behaviour/operations/model_render"] = State(35, "/initialized/behaviour/operations/model_render", self)
         self.states["/initialized/behaviour/operations/model_render"].setEnter(self._initialized_behaviour_operations_model_render_enter)
         
         # state /initialized/behaviour/operations/model_rendered
-        self.states["/initialized/behaviour/operations/model_rendered"] = State(34, "/initialized/behaviour/operations/model_rendered", self)
+        self.states["/initialized/behaviour/operations/model_rendered"] = State(36, "/initialized/behaviour/operations/model_rendered", self)
         self.states["/initialized/behaviour/operations/model_rendered"].setEnter(self._initialized_behaviour_operations_model_rendered_enter)
         
         # state /initialized/behaviour/operations/transformation_between
-        self.states["/initialized/behaviour/operations/transformation_between"] = State(35, "/initialized/behaviour/operations/transformation_between", self)
+        self.states["/initialized/behaviour/operations/transformation_between"] = State(37, "/initialized/behaviour/operations/transformation_between", self)
         self.states["/initialized/behaviour/operations/transformation_between"].setEnter(self._initialized_behaviour_operations_transformation_between_enter)
         
         # state /initialized/behaviour/operations/transformation_signature
-        self.states["/initialized/behaviour/operations/transformation_signature"] = State(36, "/initialized/behaviour/operations/transformation_signature", self)
+        self.states["/initialized/behaviour/operations/transformation_signature"] = State(38, "/initialized/behaviour/operations/transformation_signature", self)
         self.states["/initialized/behaviour/operations/transformation_signature"].setEnter(self._initialized_behaviour_operations_transformation_signature_enter)
         
         # state /initialized/behaviour/operations/process_signature
-        self.states["/initialized/behaviour/operations/process_signature"] = State(37, "/initialized/behaviour/operations/process_signature", self)
+        self.states["/initialized/behaviour/operations/process_signature"] = State(39, "/initialized/behaviour/operations/process_signature", self)
         self.states["/initialized/behaviour/operations/process_signature"].setEnter(self._initialized_behaviour_operations_process_signature_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted
-        self.states["/initialized/behaviour/operations/store_on_scripted"] = State(38, "/initialized/behaviour/operations/store_on_scripted", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted"] = State(40, "/initialized/behaviour/operations/store_on_scripted", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"] = State(39, "/initialized/behaviour/operations/store_on_scripted/transformation_add", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"] = State(41, "/initialized/behaviour/operations/store_on_scripted/transformation_add", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"] = State(40, "/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"] = State(42, "/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata", self)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"].setEnter(self._initialized_behaviour_operations_store_on_scripted_transformation_add_send_metadata_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user"] = State(41, "/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user"] = State(43, "/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes"] = State(42, "/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes"] = State(44, "/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"] = State(43, "/initialized/behaviour/operations/store_on_scripted/transformation_execute", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"] = State(45, "/initialized/behaviour/operations/store_on_scripted/transformation_execute", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"] = State(44, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"] = State(46, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation", self)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"].setEnter(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting"] = State(45, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting"] = State(47, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(46, "/initialized/behaviour/operations/store_on_scripted/process_execute", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(48, "/initialized/behaviour/operations/store_on_scripted/process_execute", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/init
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"] = State(47, "/initialized/behaviour/operations/store_on_scripted/process_execute/init", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"] = State(49, "/initialized/behaviour/operations/store_on_scripted/process_execute/init", self)
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"].setEnter(self._initialized_behaviour_operations_store_on_scripted_process_execute_init_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/executing
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"] = State(48, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"] = State(50, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/history
-        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(49, "/initialized/behaviour/operations/store_on_scripted/history", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(51, "/initialized/behaviour/operations/store_on_scripted/history", self)
         
         # state /initialized/behaviour/operations/permission_modify
-        self.states["/initialized/behaviour/operations/permission_modify"] = State(50, "/initialized/behaviour/operations/permission_modify", self)
+        self.states["/initialized/behaviour/operations/permission_modify"] = State(52, "/initialized/behaviour/operations/permission_modify", self)
         self.states["/initialized/behaviour/operations/permission_modify"].setEnter(self._initialized_behaviour_operations_permission_modify_enter)
         
         # state /initialized/behaviour/operations/permission_owner
-        self.states["/initialized/behaviour/operations/permission_owner"] = State(51, "/initialized/behaviour/operations/permission_owner", self)
+        self.states["/initialized/behaviour/operations/permission_owner"] = State(53, "/initialized/behaviour/operations/permission_owner", self)
         self.states["/initialized/behaviour/operations/permission_owner"].setEnter(self._initialized_behaviour_operations_permission_owner_enter)
         
         # state /initialized/behaviour/operations/permission_group
-        self.states["/initialized/behaviour/operations/permission_group"] = State(52, "/initialized/behaviour/operations/permission_group", self)
+        self.states["/initialized/behaviour/operations/permission_group"] = State(54, "/initialized/behaviour/operations/permission_group", self)
         self.states["/initialized/behaviour/operations/permission_group"].setEnter(self._initialized_behaviour_operations_permission_group_enter)
         
         # state /initialized/behaviour/operations/group_create
-        self.states["/initialized/behaviour/operations/group_create"] = State(53, "/initialized/behaviour/operations/group_create", self)
+        self.states["/initialized/behaviour/operations/group_create"] = State(55, "/initialized/behaviour/operations/group_create", self)
         self.states["/initialized/behaviour/operations/group_create"].setEnter(self._initialized_behaviour_operations_group_create_enter)
         
         # state /initialized/behaviour/operations/group_delete
-        self.states["/initialized/behaviour/operations/group_delete"] = State(54, "/initialized/behaviour/operations/group_delete", self)
+        self.states["/initialized/behaviour/operations/group_delete"] = State(56, "/initialized/behaviour/operations/group_delete", self)
         self.states["/initialized/behaviour/operations/group_delete"].setEnter(self._initialized_behaviour_operations_group_delete_enter)
         
         # state /initialized/behaviour/operations/group_owner_add
-        self.states["/initialized/behaviour/operations/group_owner_add"] = State(55, "/initialized/behaviour/operations/group_owner_add", self)
+        self.states["/initialized/behaviour/operations/group_owner_add"] = State(57, "/initialized/behaviour/operations/group_owner_add", self)
         self.states["/initialized/behaviour/operations/group_owner_add"].setEnter(self._initialized_behaviour_operations_group_owner_add_enter)
         
         # state /initialized/behaviour/operations/group_owner_delete
-        self.states["/initialized/behaviour/operations/group_owner_delete"] = State(56, "/initialized/behaviour/operations/group_owner_delete", self)
+        self.states["/initialized/behaviour/operations/group_owner_delete"] = State(58, "/initialized/behaviour/operations/group_owner_delete", self)
         self.states["/initialized/behaviour/operations/group_owner_delete"].setEnter(self._initialized_behaviour_operations_group_owner_delete_enter)
         
         # state /initialized/behaviour/operations/group_join
-        self.states["/initialized/behaviour/operations/group_join"] = State(57, "/initialized/behaviour/operations/group_join", self)
+        self.states["/initialized/behaviour/operations/group_join"] = State(59, "/initialized/behaviour/operations/group_join", self)
         self.states["/initialized/behaviour/operations/group_join"].setEnter(self._initialized_behaviour_operations_group_join_enter)
         
         # state /initialized/behaviour/operations/group_kick
-        self.states["/initialized/behaviour/operations/group_kick"] = State(58, "/initialized/behaviour/operations/group_kick", self)
+        self.states["/initialized/behaviour/operations/group_kick"] = State(60, "/initialized/behaviour/operations/group_kick", self)
         self.states["/initialized/behaviour/operations/group_kick"].setEnter(self._initialized_behaviour_operations_group_kick_enter)
         
         # state /initialized/behaviour/operations/group_list
-        self.states["/initialized/behaviour/operations/group_list"] = State(59, "/initialized/behaviour/operations/group_list", self)
+        self.states["/initialized/behaviour/operations/group_list"] = State(61, "/initialized/behaviour/operations/group_list", self)
         self.states["/initialized/behaviour/operations/group_list"].setEnter(self._initialized_behaviour_operations_group_list_enter)
         
         # state /initialized/behaviour/operations/admin_promote
-        self.states["/initialized/behaviour/operations/admin_promote"] = State(60, "/initialized/behaviour/operations/admin_promote", self)
+        self.states["/initialized/behaviour/operations/admin_promote"] = State(62, "/initialized/behaviour/operations/admin_promote", self)
         self.states["/initialized/behaviour/operations/admin_promote"].setEnter(self._initialized_behaviour_operations_admin_promote_enter)
         
         # state /initialized/behaviour/operations/admin_demote
-        self.states["/initialized/behaviour/operations/admin_demote"] = State(61, "/initialized/behaviour/operations/admin_demote", self)
+        self.states["/initialized/behaviour/operations/admin_demote"] = State(63, "/initialized/behaviour/operations/admin_demote", self)
         self.states["/initialized/behaviour/operations/admin_demote"].setEnter(self._initialized_behaviour_operations_admin_demote_enter)
         
         # state /initialized/behaviour/operations/conformance_delete
-        self.states["/initialized/behaviour/operations/conformance_delete"] = State(62, "/initialized/behaviour/operations/conformance_delete", self)
+        self.states["/initialized/behaviour/operations/conformance_delete"] = State(64, "/initialized/behaviour/operations/conformance_delete", self)
         self.states["/initialized/behaviour/operations/conformance_delete"].setEnter(self._initialized_behaviour_operations_conformance_delete_enter)
         
         # state /initialized/behaviour/operations/conformance_add
-        self.states["/initialized/behaviour/operations/conformance_add"] = State(63, "/initialized/behaviour/operations/conformance_add", self)
+        self.states["/initialized/behaviour/operations/conformance_add"] = State(65, "/initialized/behaviour/operations/conformance_add", self)
         self.states["/initialized/behaviour/operations/conformance_add"].setEnter(self._initialized_behaviour_operations_conformance_add_enter)
         
         # state /initialized/behaviour/operations/folder_create
-        self.states["/initialized/behaviour/operations/folder_create"] = State(64, "/initialized/behaviour/operations/folder_create", self)
+        self.states["/initialized/behaviour/operations/folder_create"] = State(66, "/initialized/behaviour/operations/folder_create", self)
         self.states["/initialized/behaviour/operations/folder_create"].setEnter(self._initialized_behaviour_operations_folder_create_enter)
         
         # state /initialized/behaviour/operations/model_types
-        self.states["/initialized/behaviour/operations/model_types"] = State(65, "/initialized/behaviour/operations/model_types", self)
+        self.states["/initialized/behaviour/operations/model_types"] = State(67, "/initialized/behaviour/operations/model_types", self)
         self.states["/initialized/behaviour/operations/model_types"].setEnter(self._initialized_behaviour_operations_model_types_enter)
         
         # state /initialized/behaviour/operations/element_list
-        self.states["/initialized/behaviour/operations/element_list"] = State(66, "/initialized/behaviour/operations/element_list", self)
+        self.states["/initialized/behaviour/operations/element_list"] = State(68, "/initialized/behaviour/operations/element_list", self)
         self.states["/initialized/behaviour/operations/element_list"].setEnter(self._initialized_behaviour_operations_element_list_enter)
         
         # state /initialized/behaviour/operations/element_list_nice
-        self.states["/initialized/behaviour/operations/element_list_nice"] = State(67, "/initialized/behaviour/operations/element_list_nice", self)
+        self.states["/initialized/behaviour/operations/element_list_nice"] = State(69, "/initialized/behaviour/operations/element_list_nice", self)
         self.states["/initialized/behaviour/operations/element_list_nice"].setEnter(self._initialized_behaviour_operations_element_list_nice_enter)
         
         # state /initialized/behaviour/operations/types
-        self.states["/initialized/behaviour/operations/types"] = State(68, "/initialized/behaviour/operations/types", self)
+        self.states["/initialized/behaviour/operations/types"] = State(70, "/initialized/behaviour/operations/types", self)
         self.states["/initialized/behaviour/operations/types"].setEnter(self._initialized_behaviour_operations_types_enter)
         
         # state /initialized/behaviour/operations/types_full
-        self.states["/initialized/behaviour/operations/types_full"] = State(69, "/initialized/behaviour/operations/types_full", self)
+        self.states["/initialized/behaviour/operations/types_full"] = State(71, "/initialized/behaviour/operations/types_full", self)
         self.states["/initialized/behaviour/operations/types_full"].setEnter(self._initialized_behaviour_operations_types_full_enter)
         
         # state /initialized/behaviour/operations/read_info
-        self.states["/initialized/behaviour/operations/read_info"] = State(70, "/initialized/behaviour/operations/read_info", self)
+        self.states["/initialized/behaviour/operations/read_info"] = State(72, "/initialized/behaviour/operations/read_info", self)
         self.states["/initialized/behaviour/operations/read_info"].setEnter(self._initialized_behaviour_operations_read_info_enter)
         
         # state /initialized/behaviour/operations/read_attrs
-        self.states["/initialized/behaviour/operations/read_attrs"] = State(71, "/initialized/behaviour/operations/read_attrs", self)
+        self.states["/initialized/behaviour/operations/read_attrs"] = State(73, "/initialized/behaviour/operations/read_attrs", self)
         self.states["/initialized/behaviour/operations/read_attrs"].setEnter(self._initialized_behaviour_operations_read_attrs_enter)
         
         # state /initialized/behaviour/operations/read_defined_attrs
-        self.states["/initialized/behaviour/operations/read_defined_attrs"] = State(72, "/initialized/behaviour/operations/read_defined_attrs", self)
+        self.states["/initialized/behaviour/operations/read_defined_attrs"] = State(74, "/initialized/behaviour/operations/read_defined_attrs", self)
         self.states["/initialized/behaviour/operations/read_defined_attrs"].setEnter(self._initialized_behaviour_operations_read_defined_attrs_enter)
         
         # state /initialized/behaviour/operations/instantiate
-        self.states["/initialized/behaviour/operations/instantiate"] = State(73, "/initialized/behaviour/operations/instantiate", self)
+        self.states["/initialized/behaviour/operations/instantiate"] = State(75, "/initialized/behaviour/operations/instantiate", self)
         
         # state /initialized/behaviour/operations/instantiate/decide_node_or_edge
-        self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"] = State(74, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
+        self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"] = State(76, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
         
         # state /initialized/behaviour/operations/instantiate/created
-        self.states["/initialized/behaviour/operations/instantiate/created"] = State(75, "/initialized/behaviour/operations/instantiate/created", self)
+        self.states["/initialized/behaviour/operations/instantiate/created"] = State(77, "/initialized/behaviour/operations/instantiate/created", self)
         
         # state /initialized/behaviour/operations/delete_element
-        self.states["/initialized/behaviour/operations/delete_element"] = State(76, "/initialized/behaviour/operations/delete_element", self)
+        self.states["/initialized/behaviour/operations/delete_element"] = State(78, "/initialized/behaviour/operations/delete_element", self)
         self.states["/initialized/behaviour/operations/delete_element"].setEnter(self._initialized_behaviour_operations_delete_element_enter)
         
         # state /initialized/behaviour/operations/attr_assign
-        self.states["/initialized/behaviour/operations/attr_assign"] = State(77, "/initialized/behaviour/operations/attr_assign", self)
+        self.states["/initialized/behaviour/operations/attr_assign"] = State(79, "/initialized/behaviour/operations/attr_assign", self)
         self.states["/initialized/behaviour/operations/attr_assign"].setEnter(self._initialized_behaviour_operations_attr_assign_enter)
         
         # state /initialized/behaviour/operations/attr_assign_code
-        self.states["/initialized/behaviour/operations/attr_assign_code"] = State(78, "/initialized/behaviour/operations/attr_assign_code", self)
+        self.states["/initialized/behaviour/operations/attr_assign_code"] = State(80, "/initialized/behaviour/operations/attr_assign_code", self)
         self.states["/initialized/behaviour/operations/attr_assign_code"].setEnter(self._initialized_behaviour_operations_attr_assign_code_enter)
         
         # state /initialized/behaviour/operations/attr_delete
-        self.states["/initialized/behaviour/operations/attr_delete"] = State(79, "/initialized/behaviour/operations/attr_delete", self)
+        self.states["/initialized/behaviour/operations/attr_delete"] = State(81, "/initialized/behaviour/operations/attr_delete", self)
         self.states["/initialized/behaviour/operations/attr_delete"].setEnter(self._initialized_behaviour_operations_attr_delete_enter)
         
         # state /initialized/behaviour/operations/attr_type
-        self.states["/initialized/behaviour/operations/attr_type"] = State(80, "/initialized/behaviour/operations/attr_type", self)
+        self.states["/initialized/behaviour/operations/attr_type"] = State(82, "/initialized/behaviour/operations/attr_type", self)
         self.states["/initialized/behaviour/operations/attr_type"].setEnter(self._initialized_behaviour_operations_attr_type_enter)
         
         # state /initialized/behaviour/operations/attr_name
-        self.states["/initialized/behaviour/operations/attr_name"] = State(81, "/initialized/behaviour/operations/attr_name", self)
+        self.states["/initialized/behaviour/operations/attr_name"] = State(83, "/initialized/behaviour/operations/attr_name", self)
         self.states["/initialized/behaviour/operations/attr_name"].setEnter(self._initialized_behaviour_operations_attr_name_enter)
         
         # state /initialized/behaviour/operations/attr_optional
-        self.states["/initialized/behaviour/operations/attr_optional"] = State(82, "/initialized/behaviour/operations/attr_optional", self)
+        self.states["/initialized/behaviour/operations/attr_optional"] = State(84, "/initialized/behaviour/operations/attr_optional", self)
         self.states["/initialized/behaviour/operations/attr_optional"].setEnter(self._initialized_behaviour_operations_attr_optional_enter)
         
         # state /initialized/behaviour/operations/read_outgoing
-        self.states["/initialized/behaviour/operations/read_outgoing"] = State(83, "/initialized/behaviour/operations/read_outgoing", self)
+        self.states["/initialized/behaviour/operations/read_outgoing"] = State(85, "/initialized/behaviour/operations/read_outgoing", self)
         self.states["/initialized/behaviour/operations/read_outgoing"].setEnter(self._initialized_behaviour_operations_read_outgoing_enter)
         
         # state /initialized/behaviour/operations/read_incoming
-        self.states["/initialized/behaviour/operations/read_incoming"] = State(84, "/initialized/behaviour/operations/read_incoming", self)
+        self.states["/initialized/behaviour/operations/read_incoming"] = State(86, "/initialized/behaviour/operations/read_incoming", self)
         self.states["/initialized/behaviour/operations/read_incoming"].setEnter(self._initialized_behaviour_operations_read_incoming_enter)
         
         # state /initialized/behaviour/operations/read_association_source
-        self.states["/initialized/behaviour/operations/read_association_source"] = State(85, "/initialized/behaviour/operations/read_association_source", self)
+        self.states["/initialized/behaviour/operations/read_association_source"] = State(87, "/initialized/behaviour/operations/read_association_source", self)
         self.states["/initialized/behaviour/operations/read_association_source"].setEnter(self._initialized_behaviour_operations_read_association_source_enter)
         
         # state /initialized/behaviour/operations/read_association_destination
-        self.states["/initialized/behaviour/operations/read_association_destination"] = State(86, "/initialized/behaviour/operations/read_association_destination", self)
+        self.states["/initialized/behaviour/operations/read_association_destination"] = State(88, "/initialized/behaviour/operations/read_association_destination", self)
         self.states["/initialized/behaviour/operations/read_association_destination"].setEnter(self._initialized_behaviour_operations_read_association_destination_enter)
         
         # state /initialized/behaviour/operations/connections_between
-        self.states["/initialized/behaviour/operations/connections_between"] = State(87, "/initialized/behaviour/operations/connections_between", self)
+        self.states["/initialized/behaviour/operations/connections_between"] = State(89, "/initialized/behaviour/operations/connections_between", self)
         self.states["/initialized/behaviour/operations/connections_between"].setEnter(self._initialized_behaviour_operations_connections_between_enter)
         
         # state /initialized/behaviour/operations/define_attribute
-        self.states["/initialized/behaviour/operations/define_attribute"] = State(88, "/initialized/behaviour/operations/define_attribute", self)
+        self.states["/initialized/behaviour/operations/define_attribute"] = State(90, "/initialized/behaviour/operations/define_attribute", self)
         self.states["/initialized/behaviour/operations/define_attribute"].setEnter(self._initialized_behaviour_operations_define_attribute_enter)
         
         # state /initialized/behaviour/operations/undefine_attribute
-        self.states["/initialized/behaviour/operations/undefine_attribute"] = State(89, "/initialized/behaviour/operations/undefine_attribute", self)
+        self.states["/initialized/behaviour/operations/undefine_attribute"] = State(91, "/initialized/behaviour/operations/undefine_attribute", self)
         self.states["/initialized/behaviour/operations/undefine_attribute"].setEnter(self._initialized_behaviour_operations_undefine_attribute_enter)
         
         # state /initialized/behaviour/operations/all_instances
-        self.states["/initialized/behaviour/operations/all_instances"] = State(90, "/initialized/behaviour/operations/all_instances", self)
+        self.states["/initialized/behaviour/operations/all_instances"] = State(92, "/initialized/behaviour/operations/all_instances", self)
         self.states["/initialized/behaviour/operations/all_instances"].setEnter(self._initialized_behaviour_operations_all_instances_enter)
         
         # state /initialized/behaviour/operations/exit_save
-        self.states["/initialized/behaviour/operations/exit_save"] = State(91, "/initialized/behaviour/operations/exit_save", self)
+        self.states["/initialized/behaviour/operations/exit_save"] = State(93, "/initialized/behaviour/operations/exit_save", self)
         self.states["/initialized/behaviour/operations/exit_save"].setEnter(self._initialized_behaviour_operations_exit_save_enter)
         
         # state /initialized/behaviour/operations/service_register
-        self.states["/initialized/behaviour/operations/service_register"] = State(92, "/initialized/behaviour/operations/service_register", self)
+        self.states["/initialized/behaviour/operations/service_register"] = State(94, "/initialized/behaviour/operations/service_register", self)
         self.states["/initialized/behaviour/operations/service_register"].setEnter(self._initialized_behaviour_operations_service_register_enter)
         
         # state /initialized/behaviour/operations/service_stop
-        self.states["/initialized/behaviour/operations/service_stop"] = State(93, "/initialized/behaviour/operations/service_stop", self)
+        self.states["/initialized/behaviour/operations/service_stop"] = State(95, "/initialized/behaviour/operations/service_stop", self)
         self.states["/initialized/behaviour/operations/service_stop"].setEnter(self._initialized_behaviour_operations_service_stop_enter)
         
         # state /initialized/behaviour/wait_for_action
-        self.states["/initialized/behaviour/wait_for_action"] = State(94, "/initialized/behaviour/wait_for_action", self)
+        self.states["/initialized/behaviour/wait_for_action"] = State(96, "/initialized/behaviour/wait_for_action", self)
         
         # state /initialized/behaviour/wait_for_action/disconnected
-        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(95, "/initialized/behaviour/wait_for_action/disconnected", self)
+        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(97, "/initialized/behaviour/wait_for_action/disconnected", self)
         
         # state /initialized/behaviour/wait_for_action/connected
-        self.states["/initialized/behaviour/wait_for_action/connected"] = State(96, "/initialized/behaviour/wait_for_action/connected", self)
+        self.states["/initialized/behaviour/wait_for_action/connected"] = State(98, "/initialized/behaviour/wait_for_action/connected", self)
         
         # state /initialized/behaviour/wait_for_action/activity
-        self.states["/initialized/behaviour/wait_for_action/activity"] = State(97, "/initialized/behaviour/wait_for_action/activity", self)
+        self.states["/initialized/behaviour/wait_for_action/activity"] = State(99, "/initialized/behaviour/wait_for_action/activity", self)
         
         # state /initialized/behaviour/wait_for_action/activity/SC
-        self.states["/initialized/behaviour/wait_for_action/activity/SC"] = State(98, "/initialized/behaviour/wait_for_action/activity/SC", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/SC"] = State(100, "/initialized/behaviour/wait_for_action/activity/SC", self)
         self.states["/initialized/behaviour/wait_for_action/activity/SC"].setEnter(self._initialized_behaviour_wait_for_action_activity_SC_enter)
         
         # state /initialized/behaviour/wait_for_action/activity/SC/forwarding
-        self.states["/initialized/behaviour/wait_for_action/activity/SC/forwarding"] = State(99, "/initialized/behaviour/wait_for_action/activity/SC/forwarding", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/SC/forwarding"] = State(101, "/initialized/behaviour/wait_for_action/activity/SC/forwarding", self)
         
         # state /initialized/behaviour/wait_for_action/activity/OP
-        self.states["/initialized/behaviour/wait_for_action/activity/OP"] = State(100, "/initialized/behaviour/wait_for_action/activity/OP", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/OP"] = State(102, "/initialized/behaviour/wait_for_action/activity/OP", self)
         self.states["/initialized/behaviour/wait_for_action/activity/OP"].setEnter(self._initialized_behaviour_wait_for_action_activity_OP_enter)
         
         # state /initialized/behaviour/wait_for_action/activity/OP/forwarding
-        self.states["/initialized/behaviour/wait_for_action/activity/OP/forwarding"] = State(101, "/initialized/behaviour/wait_for_action/activity/OP/forwarding", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/OP/forwarding"] = State(103, "/initialized/behaviour/wait_for_action/activity/OP/forwarding", self)
         
         # state /initialized/behaviour/wait_for_action/megamodelling
-        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(102, "/initialized/behaviour/wait_for_action/megamodelling", self)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(104, "/initialized/behaviour/wait_for_action/megamodelling", self)
         
         # state /initialized/behaviour/wait_for_action/service
-        self.states["/initialized/behaviour/wait_for_action/service"] = State(103, "/initialized/behaviour/wait_for_action/service", self)
+        self.states["/initialized/behaviour/wait_for_action/service"] = State(105, "/initialized/behaviour/wait_for_action/service", self)
         
         # state /initialized/behaviour/wait_for_action/modelling
-        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(104, "/initialized/behaviour/wait_for_action/modelling", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(106, "/initialized/behaviour/wait_for_action/modelling", self)
         
         # state /initialized/behaviour/wait_for_action/modelling/recognized
-        self.states["/initialized/behaviour/wait_for_action/modelling/recognized"] = State(105, "/initialized/behaviour/wait_for_action/modelling/recognized", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized"] = State(107, "/initialized/behaviour/wait_for_action/modelling/recognized", self)
         
         # state /initialized/behaviour/wait_for_action/modelling/recognized/manual
-        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"] = State(106, "/initialized/behaviour/wait_for_action/modelling/recognized/manual", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"] = State(108, "/initialized/behaviour/wait_for_action/modelling/recognized/manual", self)
         
         # state /initialized/behaviour/wait_for_action/modelling/recognized/scripted
-        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/scripted"] = State(107, "/initialized/behaviour/wait_for_action/modelling/recognized/scripted", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/scripted"] = State(109, "/initialized/behaviour/wait_for_action/modelling/recognized/scripted", self)
         
         # state /initialized/behaviour/wait_for_action/finished
-        self.states["/initialized/behaviour/wait_for_action/finished"] = State(108, "/initialized/behaviour/wait_for_action/finished", self)
+        self.states["/initialized/behaviour/wait_for_action/finished"] = State(110, "/initialized/behaviour/wait_for_action/finished", self)
         
         # state /initialized/behaviour/wait_for_action/history
-        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(109, "/initialized/behaviour/wait_for_action/history", self)
+        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(111, "/initialized/behaviour/wait_for_action/history", self)
         
         # state /initialized/behaviour/going_manual
-        self.states["/initialized/behaviour/going_manual"] = State(110, "/initialized/behaviour/going_manual", self)
+        self.states["/initialized/behaviour/going_manual"] = State(112, "/initialized/behaviour/going_manual", self)
         
         # state /initialized/behaviour/going_manual/init
-        self.states["/initialized/behaviour/going_manual/init"] = State(111, "/initialized/behaviour/going_manual/init", self)
+        self.states["/initialized/behaviour/going_manual/init"] = State(113, "/initialized/behaviour/going_manual/init", self)
         self.states["/initialized/behaviour/going_manual/init"].setEnter(self._initialized_behaviour_going_manual_init_enter)
         
         # state /initialized/behaviour/going_manual/search
-        self.states["/initialized/behaviour/going_manual/search"] = State(112, "/initialized/behaviour/going_manual/search", self)
+        self.states["/initialized/behaviour/going_manual/search"] = State(114, "/initialized/behaviour/going_manual/search", self)
         self.states["/initialized/behaviour/going_manual/search"].setEnter(self._initialized_behaviour_going_manual_search_enter)
         
         # state /initialized/behaviour/going_manual/OK
-        self.states["/initialized/behaviour/going_manual/OK"] = State(113, "/initialized/behaviour/going_manual/OK", self)
+        self.states["/initialized/behaviour/going_manual/OK"] = State(115, "/initialized/behaviour/going_manual/OK", self)
         self.states["/initialized/behaviour/going_manual/OK"].setEnter(self._initialized_behaviour_going_manual_OK_enter)
         
         # state /initialized/behaviour/going_scripted
-        self.states["/initialized/behaviour/going_scripted"] = State(114, "/initialized/behaviour/going_scripted", self)
+        self.states["/initialized/behaviour/going_scripted"] = State(116, "/initialized/behaviour/going_scripted", self)
         self.states["/initialized/behaviour/going_scripted"].setEnter(self._initialized_behaviour_going_scripted_enter)
         
         # state /initialized/behaviour/leaving_manual
-        self.states["/initialized/behaviour/leaving_manual"] = State(115, "/initialized/behaviour/leaving_manual", self)
+        self.states["/initialized/behaviour/leaving_manual"] = State(117, "/initialized/behaviour/leaving_manual", self)
         self.states["/initialized/behaviour/leaving_manual"].setEnter(self._initialized_behaviour_leaving_manual_enter)
         
         # state /initialized/behaviour/leaving_manual_drop
-        self.states["/initialized/behaviour/leaving_manual_drop"] = State(116, "/initialized/behaviour/leaving_manual_drop", self)
+        self.states["/initialized/behaviour/leaving_manual_drop"] = State(118, "/initialized/behaviour/leaving_manual_drop", self)
         self.states["/initialized/behaviour/leaving_manual_drop"].setEnter(self._initialized_behaviour_leaving_manual_drop_enter)
         
         # state /initialized/queue
-        self.states["/initialized/queue"] = State(117, "/initialized/queue", self)
+        self.states["/initialized/queue"] = State(119, "/initialized/queue", self)
         
         # state /initialized/queue/queue
-        self.states["/initialized/queue/queue"] = State(118, "/initialized/queue/queue", self)
+        self.states["/initialized/queue/queue"] = State(120, "/initialized/queue/queue", self)
         
         # add children
         self.states[""].addChild(self.states["/init"])
@@ -635,6 +642,8 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/login"].addChild(self.states["/initialized/behaviour/operations/login/login_ok"])
         self.states["/initialized/behaviour/operations/model_add"].addChild(self.states["/initialized/behaviour/operations/model_add/send_metadata"])
         self.states["/initialized/behaviour/operations/verify"].addChild(self.states["/initialized/behaviour/operations/verify/waiting"])
+        self.states["/initialized/behaviour/operations/model_overwrite"].addChild(self.states["/initialized/behaviour/operations/model_overwrite/init"])
+        self.states["/initialized/behaviour/operations/model_overwrite"].addChild(self.states["/initialized/behaviour/operations/model_overwrite/search"])
         self.states["/initialized/behaviour/operations/model_overwrite"].addChild(self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"])
         self.states["/initialized/behaviour/operations/model_overwrite"].addChild(self.states["/initialized/behaviour/operations/model_overwrite/send_model"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"])
@@ -678,7 +687,7 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/login"].default_state = self.states["/initialized/behaviour/operations/login/wait_prompt_1"]
         self.states["/initialized/behaviour/operations/model_add"].default_state = self.states["/initialized/behaviour/operations/model_add/send_metadata"]
         self.states["/initialized/behaviour/operations/verify"].default_state = self.states["/initialized/behaviour/operations/verify/waiting"]
-        self.states["/initialized/behaviour/operations/model_overwrite"].default_state = self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"]
+        self.states["/initialized/behaviour/operations/model_overwrite"].default_state = self.states["/initialized/behaviour/operations/model_overwrite/init"]
         self.states["/initialized/behaviour/operations/store_on_scripted"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"]
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"]
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"]
@@ -855,6 +864,23 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_operations_alter_context_0.setTrigger(None)
         self.states["/initialized/behaviour/operations/alter_context"].addTransition(_initialized_behaviour_operations_alter_context_0)
         
+        # transition /initialized/behaviour/operations/model_overwrite/init
+        _initialized_behaviour_operations_model_overwrite_init_0 = Transition(self, self.states["/initialized/behaviour/operations/model_overwrite/init"], [self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"]])
+        _initialized_behaviour_operations_model_overwrite_init_0.setTrigger(None)
+        _initialized_behaviour_operations_model_overwrite_init_0.setGuard(self._initialized_behaviour_operations_model_overwrite_init_0_guard)
+        self.states["/initialized/behaviour/operations/model_overwrite/init"].addTransition(_initialized_behaviour_operations_model_overwrite_init_0)
+        _initialized_behaviour_operations_model_overwrite_init_1 = Transition(self, self.states["/initialized/behaviour/operations/model_overwrite/init"], [self.states["/initialized/behaviour/operations/model_overwrite/search"]])
+        _initialized_behaviour_operations_model_overwrite_init_1.setTrigger(None)
+        _initialized_behaviour_operations_model_overwrite_init_1.setGuard(self._initialized_behaviour_operations_model_overwrite_init_1_guard)
+        self.states["/initialized/behaviour/operations/model_overwrite/init"].addTransition(_initialized_behaviour_operations_model_overwrite_init_1)
+        
+        # transition /initialized/behaviour/operations/model_overwrite/search
+        _initialized_behaviour_operations_model_overwrite_search_0 = Transition(self, self.states["/initialized/behaviour/operations/model_overwrite/search"], [self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"]])
+        _initialized_behaviour_operations_model_overwrite_search_0.setAction(self._initialized_behaviour_operations_model_overwrite_search_0_exec)
+        _initialized_behaviour_operations_model_overwrite_search_0.setTrigger(None)
+        _initialized_behaviour_operations_model_overwrite_search_0.setGuard(self._initialized_behaviour_operations_model_overwrite_search_0_guard)
+        self.states["/initialized/behaviour/operations/model_overwrite/search"].addTransition(_initialized_behaviour_operations_model_overwrite_search_0)
+        
         # transition /initialized/behaviour/operations/model_overwrite/send_metadata
         _initialized_behaviour_operations_model_overwrite_send_metadata_0 = Transition(self, self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"], [self.states["/initialized/behaviour/operations/model_overwrite/send_model"]])
         _initialized_behaviour_operations_model_overwrite_send_metadata_0.setTrigger(None)
@@ -1546,10 +1572,15 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_wait_for_action_megamodelling_36.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_36.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_36_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_36)
-        _initialized_behaviour_wait_for_action_megamodelling_37 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/going_manual"]])
+        _initialized_behaviour_wait_for_action_megamodelling_37 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
+        _initialized_behaviour_wait_for_action_megamodelling_37.setAction(self._initialized_behaviour_wait_for_action_megamodelling_37_exec)
         _initialized_behaviour_wait_for_action_megamodelling_37.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_37.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_37_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_37)
+        _initialized_behaviour_wait_for_action_megamodelling_38 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/going_manual"]])
+        _initialized_behaviour_wait_for_action_megamodelling_38.setTrigger(None)
+        _initialized_behaviour_wait_for_action_megamodelling_38.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_38_guard)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_38)
         
         # transition /initialized/behaviour/wait_for_action/service
         _initialized_behaviour_wait_for_action_service_0 = Transition(self, self.states["/initialized/behaviour/wait_for_action/service"], [self.states["/initialized/behaviour/wait_for_action/service"]])
@@ -1860,11 +1891,14 @@ class Modelverse(RuntimeClassBase):
     def _initialized_behaviour_operations_model_list_full_enter(self):
         self.raiseInternalEvent(Event("request", None, [['model_list_full', self.parameters[0]]]))
     
+    def _initialized_behaviour_operations_model_overwrite_search_enter(self):
+        self.raiseInternalEvent(Event("request", None, [['model_types', self.parameters[0]]]))
+    
     def _initialized_behaviour_operations_model_overwrite_send_metadata_enter(self):
-        self.raiseInternalEvent(Event("request", None, [['model_overwrite', self.parameters[0], self.parameters[1]]]))
+        self.raiseInternalEvent(Event("request", None, [['model_overwrite', self.parameters[0], self.registered_metamodel[self.parameters[0]]]]))
     
     def _initialized_behaviour_operations_model_overwrite_send_model_enter(self):
-        self.raiseInternalEvent(Event("request", None, [self.parameters[2]]))
+        self.raiseInternalEvent(Event("request", None, [self.parameters[1]]))
     
     def _initialized_behaviour_operations_disconnect_enter(self):
         self.raiseInternalEvent(Event("request", None, ['exit']))
@@ -2390,6 +2424,18 @@ class Modelverse(RuntimeClassBase):
     def _initialized_behaviour_operations_alter_context_0_exec(self, parameters):
         self.registered_metamodel[self.parameters[0]] = self.parameters[1]
     
+    def _initialized_behaviour_operations_model_overwrite_init_0_guard(self, parameters):
+        return self.parameters[0] in self.registered_metamodel
+    
+    def _initialized_behaviour_operations_model_overwrite_init_1_guard(self, parameters):
+        return self.parameters[0] not in self.registered_metamodel
+    
+    def _initialized_behaviour_operations_model_overwrite_search_0_exec(self, parameters):
+        self.registered_metamodel[self.parameters[0]] = set(self.split_response(self.responses.pop(0))).pop()
+    
+    def _initialized_behaviour_operations_model_overwrite_search_0_guard(self, parameters):
+        return self.expect_response_partial('Success: ')
+    
     def _initialized_behaviour_operations_model_overwrite_send_metadata_0_guard(self, parameters):
         return self.expect_response('Waiting for model constructors...')
     
@@ -3088,7 +3134,14 @@ class Modelverse(RuntimeClassBase):
     def _initialized_behaviour_wait_for_action_megamodelling_36_guard(self, parameters):
         return self.expect_action(None, 'service_register')
     
+    def _initialized_behaviour_wait_for_action_megamodelling_37_exec(self, parameters):
+        self.raiseInternalEvent(Event("result", None, [None]))
+        self.load_action(None)
+    
     def _initialized_behaviour_wait_for_action_megamodelling_37_guard(self, parameters):
+        return self.expect_action(None, 'exit_save')
+    
+    def _initialized_behaviour_wait_for_action_megamodelling_38_guard(self, parameters):
         return self.expect_action(None, ['element_list', 'element_list_nice', 'types', 'types_full', 'read_info', 'read_attrs', 'read_defined_attrs', 'instantiate', 'delete_element', 'attr_assign', 'attr_assign_code', 'attr_delete', 'read_outgoing', 'read_incoming', 'read_association_source', 'read_association_destination', 'connections_between', 'define_attribute', 'undefine_attribute', 'all_instances', 'attr_optional', 'attr_type', 'attr_name'])
     
     def _initialized_behaviour_wait_for_action_service_0_exec(self, parameters):