浏览代码

Merge transformation_execute_* into a single operation

Yentl Van Tendeloo 7 年之前
父节点
当前提交
f4168aca4e
共有 7 个文件被更改,包括 203 次插入265 次删除
  1. 二进制
      bootstrap/bootstrap.m.gz
  2. 二进制
      bootstrap/minimal.m.gz
  3. 8 0
      models/upload_models.py
  4. 2 0
      unit/test_all.py
  5. 22 37
      wrappers/classes/modelverse.xml
  6. 10 36
      wrappers/modelverse.py
  7. 161 192
      wrappers/modelverse_SCCD.py

二进制
bootstrap/bootstrap.m.gz


二进制
bootstrap/minimal.m.gz


+ 8 - 0
models/upload_models.py

@@ -17,6 +17,14 @@ model_add("formalisms/Architecture", "formalisms/SimpleClassDiagrams", open("mod
 
 model_add("models/pm_powerwindow", "formalisms/ProcessModel", open("models/pm_req_analyse.mvc", 'r').read())
 
+model_add("models/plant", "formalisms/PW_Plant", open("models/plant_model.mvc", 'r').read().replace("PW_Plant/", ""))
+model_add("models/environment", "formalisms/PW_Environment", open("models/environment_model.mvc", 'r').read().replace("PW_Environment/", ""))
+model_add("models/control", "formalisms/PW_Control", open("models/control_model.mvc", 'r').read().replace("PW_Control/", ""))
+model_add("models/control_wrong", "formalisms/PW_Control", open("models/control_model_wrong.mvc", 'r').read().replace("PW_Control/", ""))
+model_add("models/query", "formalisms/Query", open("models/query_model.mvc", 'r').read().replace("Query/", ""))
+model_add("models/architecture", "formalisms/Architecture", open("models/architecture_model.mvc", 'r').read().replace("Architecture/", ""))
+model_add("models/requirements", "formalisms/Requirements", open("models/requirements_model.mvc", 'r').read().replace("Requirements/", ""))
+
 transformation_add_MANUAL({"Requirements": "formalisms/Requirements"}, {"Requirements": "formalisms/Requirements"}, "models/revise_req")
 transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Environment": "formalisms/PW_Environment"}, {"PW_Environment": "formalisms/PW_Environment"}, "models/revise_environment")
 transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Plant": "formalisms/PW_Plant"}, {"PW_Plant": "formalisms/PW_Plant"}, "models/revise_plant")

+ 2 - 0
unit/test_all.py

@@ -317,7 +317,9 @@ class TestModelverse(unittest.TestCase):
         transformation_add_AL({"SCCD": "test/SCCD"}, {"trace": "test/SCCD_Trace"}, "test/SCCD_execute_afap", open("models/SCCD_execute.alc", 'r').read().replace("afap = False", "afap = True"))
         transformation_execute_AL("test/SCCD_execute_afap", {"SCCD": "test/my_SCCD"}, {"trace": "test/my_SCCD_trace"})
 
+        print("Executed AL")
         alter_context("test/my_SCCD_trace", "test/SCCD_Trace")
+        print("Altered context")
         lst = element_list_nice("test/my_SCCD_trace")
 
         model_delete("merged")

+ 22 - 37
wrappers/classes/modelverse.xml

@@ -180,7 +180,6 @@
                         </raise>
                         <script>
                             self.responses.append(json.loads(data))
-                            #print("Got data: " + str(json.loads(data)))
                         </script>
                     </transition>
                 </state>
@@ -708,15 +707,23 @@
                                         <parameter expr="['transformation_execute', self.parameters[0]] + self.dict_to_list(self.parameters[1]) + self.dict_to_list(self.parameters[2]) + [self.parameters[3]]"/>
                                     </raise>
                                     <script>
-                                        if self.parameters[4] == False:
+                                        if len(self.parameters) > 4 and self.parameters[4] == False:
                                             self.finish_output_thread = True
+                                        print("Executing transformation " + str(self.parameters[0]))
                                     </script>
                                 </onentry>
 
-                                <transition cond="self.expect_response_partial('Success: ready for ', pop=True)" target="../dialog">
+                                <transition cond="self.expect_response('Success: ready for MANUAL execution', pop=True)" target="../edit_model">
+                                    <script>
+                                        self.context = str(uuid.uuid4())
+                                        self.actions[self.context] = []
+                                    </script>
+                                </transition>
+                                <transition cond="self.expect_response('Success: ready for AL execution', pop=True) or self.expect_response('Success: ready for MT execution', pop=True)" target="../dialog">
                                     <script>
                                         self.input_context = str(uuid.uuid4())
                                         self.inputs[self.input_context] = []
+                                        print("Got context")
                                     </script>
 
                                     <raise event="result">
@@ -730,40 +737,28 @@
                                     <raise event="result">
                                         <parameter expr="True if self.responses.pop(0) == 'Success' else False"/>
                                     </raise>
+                                    <script>
+                                        print("GOT SUCCESS/FALSE")
+                                    </script>
                                 </transition>
 
                                 <transition cond="not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)" target=".">
                                     <raise event="data_output">
                                         <parameter expr="self.responses.pop(0)"/>
                                     </raise>
+                                    <script>
+                                        print("Got data_output")
+                                    </script>
                                 </transition>
 
                                 <transition cond="self.expect_input(self.input_context, 'data_input')" target=".">
                                     <raise event="request">
                                         <parameter expr="self.inputs[self.input_context].pop(0)['parameters']"/>
                                     </raise>
-                                </transition>
-                            </state>
-                        </state>
-
-                        <state id="transformation_execute_MANUAL" initial="send_metadata">
-                            <state id="send_metadata">
-                                <onentry>
-                                    <raise event="request">
-                                        <parameter expr="['transformation_execute', self.parameters[0]] + self.dict_to_list(self.parameters[1]) + self.dict_to_list(self.parameters[2]) + [self.parameters[3]]"/>
-                                    </raise>
-
                                     <script>
-                                        self.context = str(uuid.uuid4())
-                                        self.actions[self.context] = []
+                                        print("Got data_input")
                                     </script>
-
-                                    <raise event="result">
-                                        <parameter expr="self.context"/>
-                                    </raise>
-                                </onentry>
-
-                                <transition cond="self.expect_response('Success: ready for MANUAL execution')" target="../edit_model"/>
+                                </transition>
                             </state>
 
                             <state id="edit_model">
@@ -773,6 +768,9 @@
                                         model = self.responses.pop(0).split(": ", 1)[1]
                                         print("Operating on model " + str(model))
                                     </script>
+                                    <raise event="result">
+                                        <parameter expr="model"/>
+                                    </raise>
                                 </transition>
                                 <transition cond="self.expect_response('Model loaded, ready for commands!')" target="../../../../going_scripted"/>
                                 <transition cond="self.expect_response('Success')" target="../../../../wait_for_action/megamodelling">
@@ -855,7 +853,6 @@
                                             model = self.responses.pop(0).split(": ", 1)[1]
                                             self.context = str(uuid.uuid4())
                                             self.actions[self.context] = []
-                                            print("Operating on model " + str(model))
                                         </script>
 
                                         <raise event="result">
@@ -1652,19 +1649,7 @@
                             </script>
                         </transition>
 
-                        <transition cond="self.expect_action(None, 'transformation_execute_AL')" target="../../operations/store_on_scripted/transformation_execute">
-                            <script>
-                                self.load_action(None)
-                            </script>
-                        </transition>
-
-                        <transition cond="self.expect_action(None, 'transformation_execute_MT')" target="../../operations/store_on_scripted/transformation_execute">
-                            <script>
-                                self.load_action(None)
-                            </script>
-                        </transition>
-
-                        <transition cond="self.expect_action(None, 'transformation_execute_MANUAL')" target="../../operations/store_on_scripted/transformation_execute_MANUAL">
+                        <transition cond="self.expect_action(None, 'transformation_execute')" target="../../operations/store_on_scripted/transformation_execute">
                             <script>
                                 self.load_action(None)
                             </script>

+ 10 - 36
wrappers/modelverse.py

@@ -167,11 +167,12 @@ def transformation_add_MANUAL(source_metamodels, target_metamodels, operation_na
     INPUT("exit", context, [])
     return OUTPUT()
 
-def transformation_execute_MT(operation_name, input_models_dict, output_models_dict, statechart=None, tracability_model="", fetch_output=True):
+
+def __transformation_execute(operation_name, input_models_dict, output_models_dict, statechart, tracability_model, fetch_output):
     if statechart is not None:
         port_sc = statechart[0].addOutputListener(statechart[2])
 
-    INPUT("transformation_execute_MT", None, [operation_name, input_models_dict, output_models_dict, tracability_model, fetch_output])
+    INPUT("transformation_execute", None, [operation_name, input_models_dict, output_models_dict, tracability_model, fetch_output])
     context = OUTPUT()
     if statechart is not None:
         while 1:
@@ -199,41 +200,15 @@ def transformation_execute_MT(operation_name, input_models_dict, output_models_d
             if empty:
                 time.sleep(0.01)
     else:
-        return OUTPUT()
-
-def transformation_execute_AL(operation_name, input_models_dict, output_models_dict, statechart=None, tracability_model="", fetch_output=True):
-    if statechart is not None:
-        port_sc = statechart[0].addOutputListener(statechart[2])
-    INPUT("transformation_execute_AL", None, [operation_name, input_models_dict, output_models_dict, tracability_model, fetch_output])
-
-    context = OUTPUT()
-    if statechart is not None:
-        while 1:
-            empty = True
+        val = OUTPUT()
+        print("Transformation result: " + str(val))
+        return val
 
-            # Fetch output from the MV
-            response = responses.fetch(0)
-            if response is not None:
-                if response.name == "data_output":
-                    # Got output of MV, so forward to SCCD
-                    statechart[0].addInput(Event("input", statechart[1], response.parameters))
-                elif response.name == "result":
-                    # Finished execution, so continue and return result
-                    statechart[0].addInput(Event("terminate", statechart[1], []))
-                    return response.parameters[1]
-                empty = False
-
-            # Fetch output from the SC
-            response = port_sc.fetch(0)
-            if response is not None:
-                if response.name == "output":
-                    controller.addInput(Event("data_input", "action_in", [response.parameters, context]))
-                empty = False
+def transformation_execute_MT(operation_name, input_models_dict, output_models_dict, statechart=None, tracability_model="", fetch_output=True):
+    return __transformation_execute(operation_name, input_models_dict, output_models_dict, statechart, tracability_model, fetch_output)
 
-            if empty:
-                time.sleep(0.01)
-    else:
-        return OUTPUT()
+def transformation_execute_AL(operation_name, input_models_dict, output_models_dict, statechart=None, tracability_model="", fetch_output=True):
+    return __transformation_execute(operation_name, input_models_dict, output_models_dict, statechart, tracability_model, fetch_output)
 
 def transformation_execute_MANUAL(operation_name, input_models_dict, output_models_dict, callback=None, tracability_model=""):
     INPUT("transformation_execute_MANUAL", None, [operation_name, input_models_dict, output_models_dict, tracability_model])
@@ -317,7 +292,6 @@ def model_types(model_name):
 
 def alter_context(model_name, metamodel_name):
     INPUT("alter_context", None, [model_name, metamodel_name])
-    return OUTPUT()
 
 def element_list(model_name, context=None):
     INPUT("element_list", context, [model_name])

+ 161 - 192
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:   Tue Nov  7 16:39:51 2017
+Date:   Wed Nov  8 09:22:09 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
@@ -312,278 +312,271 @@ class Modelverse(RuntimeClassBase):
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"] = State(55, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog", self)
         
-        # state /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"] = State(56, "/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL", self)
-        
-        # state /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"] = State(57, "/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata", self)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"].setEnter(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_enter)
-        
-        # state /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"] = State(58, "/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model", self)
+        # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"] = State(56, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(59, "/initialized/behaviour/operations/store_on_scripted/process_execute", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(57, "/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(60, "/initialized/behaviour/operations/store_on_scripted/process_execute/init", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"] = State(58, "/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(61, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"] = State(59, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"] = State(62, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"] = State(60, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"] = State(63, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"] = State(61, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"] = State(64, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"] = State(62, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"] = State(65, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"] = State(63, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"] = State(66, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"] = State(64, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/history
-        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(67, "/initialized/behaviour/operations/store_on_scripted/history", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(65, "/initialized/behaviour/operations/store_on_scripted/history", self)
         
         # state /initialized/behaviour/operations/permission_modify
-        self.states["/initialized/behaviour/operations/permission_modify"] = State(68, "/initialized/behaviour/operations/permission_modify", self)
+        self.states["/initialized/behaviour/operations/permission_modify"] = State(66, "/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(69, "/initialized/behaviour/operations/permission_owner", self)
+        self.states["/initialized/behaviour/operations/permission_owner"] = State(67, "/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(70, "/initialized/behaviour/operations/permission_group", self)
+        self.states["/initialized/behaviour/operations/permission_group"] = State(68, "/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(71, "/initialized/behaviour/operations/group_create", self)
+        self.states["/initialized/behaviour/operations/group_create"] = State(69, "/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(72, "/initialized/behaviour/operations/group_delete", self)
+        self.states["/initialized/behaviour/operations/group_delete"] = State(70, "/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(73, "/initialized/behaviour/operations/group_owner_add", self)
+        self.states["/initialized/behaviour/operations/group_owner_add"] = State(71, "/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(74, "/initialized/behaviour/operations/group_owner_delete", self)
+        self.states["/initialized/behaviour/operations/group_owner_delete"] = State(72, "/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(75, "/initialized/behaviour/operations/group_join", self)
+        self.states["/initialized/behaviour/operations/group_join"] = State(73, "/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(76, "/initialized/behaviour/operations/group_kick", self)
+        self.states["/initialized/behaviour/operations/group_kick"] = State(74, "/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(77, "/initialized/behaviour/operations/group_list", self)
+        self.states["/initialized/behaviour/operations/group_list"] = State(75, "/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(78, "/initialized/behaviour/operations/admin_promote", self)
+        self.states["/initialized/behaviour/operations/admin_promote"] = State(76, "/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(79, "/initialized/behaviour/operations/admin_demote", self)
+        self.states["/initialized/behaviour/operations/admin_demote"] = State(77, "/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(80, "/initialized/behaviour/operations/conformance_delete", self)
+        self.states["/initialized/behaviour/operations/conformance_delete"] = State(78, "/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(81, "/initialized/behaviour/operations/conformance_add", self)
+        self.states["/initialized/behaviour/operations/conformance_add"] = State(79, "/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(82, "/initialized/behaviour/operations/folder_create", self)
+        self.states["/initialized/behaviour/operations/folder_create"] = State(80, "/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(83, "/initialized/behaviour/operations/model_types", self)
+        self.states["/initialized/behaviour/operations/model_types"] = State(81, "/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(84, "/initialized/behaviour/operations/element_list", self)
+        self.states["/initialized/behaviour/operations/element_list"] = State(82, "/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(85, "/initialized/behaviour/operations/element_list_nice", self)
+        self.states["/initialized/behaviour/operations/element_list_nice"] = State(83, "/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(86, "/initialized/behaviour/operations/types", self)
+        self.states["/initialized/behaviour/operations/types"] = State(84, "/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(87, "/initialized/behaviour/operations/types_full", self)
+        self.states["/initialized/behaviour/operations/types_full"] = State(85, "/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(88, "/initialized/behaviour/operations/read_info", self)
+        self.states["/initialized/behaviour/operations/read_info"] = State(86, "/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(89, "/initialized/behaviour/operations/read_attrs", self)
+        self.states["/initialized/behaviour/operations/read_attrs"] = State(87, "/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(90, "/initialized/behaviour/operations/read_defined_attrs", self)
+        self.states["/initialized/behaviour/operations/read_defined_attrs"] = State(88, "/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(91, "/initialized/behaviour/operations/instantiate", self)
+        self.states["/initialized/behaviour/operations/instantiate"] = State(89, "/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(92, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
+        self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"] = State(90, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
         
         # state /initialized/behaviour/operations/instantiate/created
-        self.states["/initialized/behaviour/operations/instantiate/created"] = State(93, "/initialized/behaviour/operations/instantiate/created", self)
+        self.states["/initialized/behaviour/operations/instantiate/created"] = State(91, "/initialized/behaviour/operations/instantiate/created", self)
         
         # state /initialized/behaviour/operations/delete_element
-        self.states["/initialized/behaviour/operations/delete_element"] = State(94, "/initialized/behaviour/operations/delete_element", self)
+        self.states["/initialized/behaviour/operations/delete_element"] = State(92, "/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(95, "/initialized/behaviour/operations/attr_assign", self)
+        self.states["/initialized/behaviour/operations/attr_assign"] = State(93, "/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(96, "/initialized/behaviour/operations/attr_assign_code", self)
+        self.states["/initialized/behaviour/operations/attr_assign_code"] = State(94, "/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(97, "/initialized/behaviour/operations/attr_delete", self)
+        self.states["/initialized/behaviour/operations/attr_delete"] = State(95, "/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(98, "/initialized/behaviour/operations/attr_type", self)
+        self.states["/initialized/behaviour/operations/attr_type"] = State(96, "/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(99, "/initialized/behaviour/operations/attr_name", self)
+        self.states["/initialized/behaviour/operations/attr_name"] = State(97, "/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(100, "/initialized/behaviour/operations/attr_optional", self)
+        self.states["/initialized/behaviour/operations/attr_optional"] = State(98, "/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(101, "/initialized/behaviour/operations/read_outgoing", self)
+        self.states["/initialized/behaviour/operations/read_outgoing"] = State(99, "/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(102, "/initialized/behaviour/operations/read_incoming", self)
+        self.states["/initialized/behaviour/operations/read_incoming"] = State(100, "/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(103, "/initialized/behaviour/operations/read_association_source", self)
+        self.states["/initialized/behaviour/operations/read_association_source"] = State(101, "/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(104, "/initialized/behaviour/operations/read_association_destination", self)
+        self.states["/initialized/behaviour/operations/read_association_destination"] = State(102, "/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(105, "/initialized/behaviour/operations/connections_between", self)
+        self.states["/initialized/behaviour/operations/connections_between"] = State(103, "/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(106, "/initialized/behaviour/operations/define_attribute", self)
+        self.states["/initialized/behaviour/operations/define_attribute"] = State(104, "/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(107, "/initialized/behaviour/operations/undefine_attribute", self)
+        self.states["/initialized/behaviour/operations/undefine_attribute"] = State(105, "/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(108, "/initialized/behaviour/operations/all_instances", self)
+        self.states["/initialized/behaviour/operations/all_instances"] = State(106, "/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/save
-        self.states["/initialized/behaviour/operations/save"] = State(109, "/initialized/behaviour/operations/save", self)
+        self.states["/initialized/behaviour/operations/save"] = State(107, "/initialized/behaviour/operations/save", self)
         self.states["/initialized/behaviour/operations/save"].setEnter(self._initialized_behaviour_operations_save_enter)
         
         # state /initialized/behaviour/operations/service_register
-        self.states["/initialized/behaviour/operations/service_register"] = State(110, "/initialized/behaviour/operations/service_register", self)
+        self.states["/initialized/behaviour/operations/service_register"] = State(108, "/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(111, "/initialized/behaviour/operations/service_stop", self)
+        self.states["/initialized/behaviour/operations/service_stop"] = State(109, "/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(112, "/initialized/behaviour/wait_for_action", self)
+        self.states["/initialized/behaviour/wait_for_action"] = State(110, "/initialized/behaviour/wait_for_action", self)
         
         # state /initialized/behaviour/wait_for_action/disconnected
-        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(113, "/initialized/behaviour/wait_for_action/disconnected", self)
+        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(111, "/initialized/behaviour/wait_for_action/disconnected", self)
         
         # state /initialized/behaviour/wait_for_action/connected
-        self.states["/initialized/behaviour/wait_for_action/connected"] = State(114, "/initialized/behaviour/wait_for_action/connected", self)
+        self.states["/initialized/behaviour/wait_for_action/connected"] = State(112, "/initialized/behaviour/wait_for_action/connected", self)
         
         # state /initialized/behaviour/wait_for_action/megamodelling
-        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(115, "/initialized/behaviour/wait_for_action/megamodelling", self)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(113, "/initialized/behaviour/wait_for_action/megamodelling", self)
         
         # state /initialized/behaviour/wait_for_action/service
-        self.states["/initialized/behaviour/wait_for_action/service"] = State(116, "/initialized/behaviour/wait_for_action/service", self)
+        self.states["/initialized/behaviour/wait_for_action/service"] = State(114, "/initialized/behaviour/wait_for_action/service", self)
         
         # state /initialized/behaviour/wait_for_action/modelling
-        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(117, "/initialized/behaviour/wait_for_action/modelling", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(115, "/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(118, "/initialized/behaviour/wait_for_action/modelling/recognized", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized"] = State(116, "/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(119, "/initialized/behaviour/wait_for_action/modelling/recognized/manual", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"] = State(117, "/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(120, "/initialized/behaviour/wait_for_action/modelling/recognized/scripted", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/scripted"] = State(118, "/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(121, "/initialized/behaviour/wait_for_action/finished", self)
+        self.states["/initialized/behaviour/wait_for_action/finished"] = State(119, "/initialized/behaviour/wait_for_action/finished", self)
         
         # state /initialized/behaviour/wait_for_action/history
-        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(122, "/initialized/behaviour/wait_for_action/history", self)
+        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(120, "/initialized/behaviour/wait_for_action/history", self)
         
         # state /initialized/behaviour/going_manual
-        self.states["/initialized/behaviour/going_manual"] = State(123, "/initialized/behaviour/going_manual", self)
+        self.states["/initialized/behaviour/going_manual"] = State(121, "/initialized/behaviour/going_manual", self)
         
         # state /initialized/behaviour/going_manual/init
-        self.states["/initialized/behaviour/going_manual/init"] = State(124, "/initialized/behaviour/going_manual/init", self)
+        self.states["/initialized/behaviour/going_manual/init"] = State(122, "/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(125, "/initialized/behaviour/going_manual/search", self)
+        self.states["/initialized/behaviour/going_manual/search"] = State(123, "/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(126, "/initialized/behaviour/going_manual/OK", self)
+        self.states["/initialized/behaviour/going_manual/OK"] = State(124, "/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(127, "/initialized/behaviour/going_scripted", self)
+        self.states["/initialized/behaviour/going_scripted"] = State(125, "/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(128, "/initialized/behaviour/leaving_manual", self)
+        self.states["/initialized/behaviour/leaving_manual"] = State(126, "/initialized/behaviour/leaving_manual", self)
         self.states["/initialized/behaviour/leaving_manual"].setEnter(self._initialized_behaviour_leaving_manual_enter)
         
         # state /initialized/queue
-        self.states["/initialized/queue"] = State(129, "/initialized/queue", self)
+        self.states["/initialized/queue"] = State(127, "/initialized/queue", self)
         
         # state /initialized/queue/queue
-        self.states["/initialized/queue/queue"] = State(130, "/initialized/queue/queue", self)
+        self.states["/initialized/queue/queue"] = State(128, "/initialized/queue/queue", self)
         
         # add children
         self.states[""].addChild(self.states["/init"])
@@ -678,7 +671,6 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"])
-        self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/history"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT/send_metadata"])
@@ -691,8 +683,7 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL/edit_metamodel"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"])
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"])
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"])
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"])
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"])
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"])
@@ -732,7 +723,6 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/send_metadata"]
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL/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"]
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"]
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"]
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"]
         self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"]
@@ -1045,11 +1035,16 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MANUAL/edit_metamodel"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_add_MANUAL_edit_metamodel_1)
         
         # transition /initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"]])
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0_exec)
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0.setTrigger(None)
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0_guard)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_exec)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1)
         
         # transition /initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"], [self.states["/initialized/behaviour/wait_for_action/history"]])
@@ -1068,31 +1063,25 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2_guard)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/dialog"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2)
         
-        # transition /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"]])
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0.setTrigger(None)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0_guard)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0)
-        
-        # transition /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"]])
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0.setTrigger(None)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0_guard)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"]])
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_exec)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setTrigger(None)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_guard)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/going_scripted"]])
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setTrigger(None)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3_exec)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3.setTrigger(None)
-        _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3_guard)
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3)
+        # transition /initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_exec)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"], [self.states["/initialized/behaviour/going_scripted"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3_exec)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3)
         
         # transition /initialized/behaviour/operations/store_on_scripted/process_execute/init
         _initialized_behaviour_operations_store_on_scripted_process_execute_init_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"]])
@@ -1573,110 +1562,100 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_wait_for_action_megamodelling_18.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_18.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_18_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_18)
-        _initialized_behaviour_wait_for_action_megamodelling_19 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"]])
+        _initialized_behaviour_wait_for_action_megamodelling_19 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"]])
         _initialized_behaviour_wait_for_action_megamodelling_19.setAction(self._initialized_behaviour_wait_for_action_megamodelling_19_exec)
         _initialized_behaviour_wait_for_action_megamodelling_19.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_19.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_19_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_19)
-        _initialized_behaviour_wait_for_action_megamodelling_20 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"]])
+        _initialized_behaviour_wait_for_action_megamodelling_20 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_modify"]])
         _initialized_behaviour_wait_for_action_megamodelling_20.setAction(self._initialized_behaviour_wait_for_action_megamodelling_20_exec)
         _initialized_behaviour_wait_for_action_megamodelling_20.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_20.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_20_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_20)
-        _initialized_behaviour_wait_for_action_megamodelling_21 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"]])
+        _initialized_behaviour_wait_for_action_megamodelling_21 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_owner"]])
         _initialized_behaviour_wait_for_action_megamodelling_21.setAction(self._initialized_behaviour_wait_for_action_megamodelling_21_exec)
         _initialized_behaviour_wait_for_action_megamodelling_21.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_21.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_21_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_21)
-        _initialized_behaviour_wait_for_action_megamodelling_22 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_modify"]])
+        _initialized_behaviour_wait_for_action_megamodelling_22 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_group"]])
         _initialized_behaviour_wait_for_action_megamodelling_22.setAction(self._initialized_behaviour_wait_for_action_megamodelling_22_exec)
         _initialized_behaviour_wait_for_action_megamodelling_22.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_22.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_22_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_22)
-        _initialized_behaviour_wait_for_action_megamodelling_23 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_owner"]])
+        _initialized_behaviour_wait_for_action_megamodelling_23 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_create"]])
         _initialized_behaviour_wait_for_action_megamodelling_23.setAction(self._initialized_behaviour_wait_for_action_megamodelling_23_exec)
         _initialized_behaviour_wait_for_action_megamodelling_23.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_23.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_23_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_23)
-        _initialized_behaviour_wait_for_action_megamodelling_24 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_group"]])
+        _initialized_behaviour_wait_for_action_megamodelling_24 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_delete"]])
         _initialized_behaviour_wait_for_action_megamodelling_24.setAction(self._initialized_behaviour_wait_for_action_megamodelling_24_exec)
         _initialized_behaviour_wait_for_action_megamodelling_24.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_24.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_24_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_24)
-        _initialized_behaviour_wait_for_action_megamodelling_25 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_25 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_add"]])
         _initialized_behaviour_wait_for_action_megamodelling_25.setAction(self._initialized_behaviour_wait_for_action_megamodelling_25_exec)
         _initialized_behaviour_wait_for_action_megamodelling_25.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_25.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_25_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_25)
-        _initialized_behaviour_wait_for_action_megamodelling_26 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_26 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_delete"]])
         _initialized_behaviour_wait_for_action_megamodelling_26.setAction(self._initialized_behaviour_wait_for_action_megamodelling_26_exec)
         _initialized_behaviour_wait_for_action_megamodelling_26.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_26.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_26_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_26)
-        _initialized_behaviour_wait_for_action_megamodelling_27 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_27 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_join"]])
         _initialized_behaviour_wait_for_action_megamodelling_27.setAction(self._initialized_behaviour_wait_for_action_megamodelling_27_exec)
         _initialized_behaviour_wait_for_action_megamodelling_27.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_27.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_27_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_27)
-        _initialized_behaviour_wait_for_action_megamodelling_28 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_28 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_kick"]])
         _initialized_behaviour_wait_for_action_megamodelling_28.setAction(self._initialized_behaviour_wait_for_action_megamodelling_28_exec)
         _initialized_behaviour_wait_for_action_megamodelling_28.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_28.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_28_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_28)
-        _initialized_behaviour_wait_for_action_megamodelling_29 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_join"]])
+        _initialized_behaviour_wait_for_action_megamodelling_29 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_list"]])
         _initialized_behaviour_wait_for_action_megamodelling_29.setAction(self._initialized_behaviour_wait_for_action_megamodelling_29_exec)
         _initialized_behaviour_wait_for_action_megamodelling_29.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_29.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_29_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_29)
-        _initialized_behaviour_wait_for_action_megamodelling_30 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_kick"]])
+        _initialized_behaviour_wait_for_action_megamodelling_30 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_promote"]])
         _initialized_behaviour_wait_for_action_megamodelling_30.setAction(self._initialized_behaviour_wait_for_action_megamodelling_30_exec)
         _initialized_behaviour_wait_for_action_megamodelling_30.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_30.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_30_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_30)
-        _initialized_behaviour_wait_for_action_megamodelling_31 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_list"]])
+        _initialized_behaviour_wait_for_action_megamodelling_31 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_demote"]])
         _initialized_behaviour_wait_for_action_megamodelling_31.setAction(self._initialized_behaviour_wait_for_action_megamodelling_31_exec)
         _initialized_behaviour_wait_for_action_megamodelling_31.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_31.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_31_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_31)
-        _initialized_behaviour_wait_for_action_megamodelling_32 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_promote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_32 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_delete"]])
         _initialized_behaviour_wait_for_action_megamodelling_32.setAction(self._initialized_behaviour_wait_for_action_megamodelling_32_exec)
         _initialized_behaviour_wait_for_action_megamodelling_32.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_32.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_32_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_32)
-        _initialized_behaviour_wait_for_action_megamodelling_33 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_demote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_33 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_add"]])
         _initialized_behaviour_wait_for_action_megamodelling_33.setAction(self._initialized_behaviour_wait_for_action_megamodelling_33_exec)
         _initialized_behaviour_wait_for_action_megamodelling_33.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_33.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_33_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_33)
-        _initialized_behaviour_wait_for_action_megamodelling_34 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_34 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/folder_create"]])
         _initialized_behaviour_wait_for_action_megamodelling_34.setAction(self._initialized_behaviour_wait_for_action_megamodelling_34_exec)
         _initialized_behaviour_wait_for_action_megamodelling_34.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_34.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_34_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_34)
-        _initialized_behaviour_wait_for_action_megamodelling_35 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_35 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_types"]])
         _initialized_behaviour_wait_for_action_megamodelling_35.setAction(self._initialized_behaviour_wait_for_action_megamodelling_35_exec)
         _initialized_behaviour_wait_for_action_megamodelling_35.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_35.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_35_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_35)
-        _initialized_behaviour_wait_for_action_megamodelling_36 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/folder_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_36 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/service_register"]])
         _initialized_behaviour_wait_for_action_megamodelling_36.setAction(self._initialized_behaviour_wait_for_action_megamodelling_36_exec)
         _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/operations/model_types"]])
-        _initialized_behaviour_wait_for_action_megamodelling_37.setAction(self._initialized_behaviour_wait_for_action_megamodelling_37_exec)
+        _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.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/operations/service_register"]])
-        _initialized_behaviour_wait_for_action_megamodelling_38.setAction(self._initialized_behaviour_wait_for_action_megamodelling_38_exec)
-        _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)
-        _initialized_behaviour_wait_for_action_megamodelling_39 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/going_manual"]])
-        _initialized_behaviour_wait_for_action_megamodelling_39.setTrigger(None)
-        _initialized_behaviour_wait_for_action_megamodelling_39.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_39_guard)
-        self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_39)
         
         # 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"]])
@@ -2042,14 +2021,9 @@ class Modelverse(RuntimeClassBase):
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_enter(self):
         self.raiseInternalEvent(Event("request", None, [['transformation_execute', self.parameters[0]] + self.dict_to_list(self.parameters[1]) + self.dict_to_list(self.parameters[2]) + [self.parameters[3]]]))
-        if self.parameters[4] == False:
+        if len(self.parameters) > 4 and self.parameters[4] == False:
             self.finish_output_thread = True
-    
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_enter(self):
-        self.raiseInternalEvent(Event("request", None, [['transformation_execute', self.parameters[0]] + self.dict_to_list(self.parameters[1]) + self.dict_to_list(self.parameters[2]) + [self.parameters[3]]]))
-        self.context = str(uuid.uuid4())
-        self.actions[self.context] = []
-        self.raiseInternalEvent(Event("result", None, [self.context]))
+        print("Executing transformation " + str(self.parameters[0]))
     
     def _initialized_behaviour_operations_store_on_scripted_process_execute_init_enter(self):
         self.raiseInternalEvent(Event("request", None, [['process_execute', self.parameters[0]] + self.dict_to_list(self.parameters[1])]))
@@ -2439,7 +2413,6 @@ class Modelverse(RuntimeClassBase):
         data = parameters[0]
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.http_clients[1], Event("HTTP_input", None, [urllib.urlencode({"op": "get_output", "taskname": self.taskname}), "parent"])]))
         self.responses.append(json.loads(data))
-        #print("Got data: " + str(json.loads(data)))
     
     def _initialized_http_mapper_init_4_guard(self, parameters):
         data = parameters[0]
@@ -2673,51 +2646,60 @@ class Modelverse(RuntimeClassBase):
         return self.expect_response('Success')
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0_exec(self, parameters):
+        self.context = str(uuid.uuid4())
+        self.actions[self.context] = []
+    
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0_guard(self, parameters):
+        return self.expect_response('Success: ready for MANUAL execution', pop=True)
+    
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_exec(self, parameters):
         self.input_context = str(uuid.uuid4())
         self.inputs[self.input_context] = []
+        print("Got context")
         self.raiseInternalEvent(Event("result", None, [self.input_context]))
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_0_guard(self, parameters):
-        return self.expect_response_partial('Success: ready for ', pop=True)
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_guard(self, parameters):
+        return self.expect_response('Success: ready for AL execution', pop=True) or self.expect_response('Success: ready for MT execution', pop=True)
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_0_exec(self, parameters):
         self.raiseInternalEvent(Event("result", None, [True if self.responses.pop(0) == 'Success' else False]))
+        print("GOT SUCCESS/FALSE")
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_0_guard(self, parameters):
         return self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_1_exec(self, parameters):
         self.raiseInternalEvent(Event("data_output", None, [self.responses.pop(0)]))
+        print("Got data_output")
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_1_guard(self, parameters):
         return not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2_exec(self, parameters):
         self.raiseInternalEvent(Event("request", None, [self.inputs[self.input_context].pop(0)['parameters']]))
+        print("Got data_input")
     
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2_guard(self, parameters):
         return self.expect_input(self.input_context, 'data_input')
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0_guard(self, parameters):
-        return self.expect_response('Success: ready for MANUAL execution')
-    
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0_guard(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_0_guard(self, parameters):
         return self.expect_response_partial('Please perform manual operation ', pop=True)
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_exec(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_exec(self, parameters):
         model = self.responses.pop(0).split(": ", 1)[1]
         print("Operating on model " + str(model))
+        self.raiseInternalEvent(Event("result", None, [model]))
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_guard(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_guard(self, parameters):
         return self.expect_response_partial('Operating on: ', pop=False)
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_2_guard(self, parameters):
         return self.expect_response('Model loaded, ready for commands!')
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3_exec(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3_exec(self, parameters):
         self.raiseInternalEvent(Event("result", None, [True]))
     
-    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_3_guard(self, parameters):
+    def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_3_guard(self, parameters):
         return self.expect_response('Success')
     
     def _initialized_behaviour_operations_store_on_scripted_process_execute_init_0_guard(self, parameters):
@@ -2771,7 +2753,6 @@ class Modelverse(RuntimeClassBase):
         model = self.responses.pop(0).split(": ", 1)[1]
         self.context = str(uuid.uuid4())
         self.actions[self.context] = []
-        print("Operating on model " + str(model))
         self.raiseInternalEvent(Event("result", None, [['OP', self.op_name, self.context, model]]))
     
     def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_1_guard(self, parameters):
@@ -3180,129 +3161,117 @@ class Modelverse(RuntimeClassBase):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_18_guard(self, parameters):
-        return self.expect_action(None, 'transformation_execute_AL')
+        return self.expect_action(None, 'transformation_execute')
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_guard(self, parameters):
-        return self.expect_action(None, 'transformation_execute_MT')
+        return self.expect_action(None, 'process_execute')
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_guard(self, parameters):
-        return self.expect_action(None, 'transformation_execute_MANUAL')
+        return self.expect_action(None, 'permission_modify')
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_guard(self, parameters):
-        return self.expect_action(None, 'process_execute')
+        return self.expect_action(None, 'permission_owner')
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_guard(self, parameters):
-        return self.expect_action(None, 'permission_modify')
+        return self.expect_action(None, 'permission_group')
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_guard(self, parameters):
-        return self.expect_action(None, 'permission_owner')
+        return self.expect_action(None, 'group_create')
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_guard(self, parameters):
-        return self.expect_action(None, 'permission_group')
+        return self.expect_action(None, 'group_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_guard(self, parameters):
-        return self.expect_action(None, 'group_create')
+        return self.expect_action(None, 'group_owner_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_guard(self, parameters):
-        return self.expect_action(None, 'group_delete')
+        return self.expect_action(None, 'group_owner_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_guard(self, parameters):
-        return self.expect_action(None, 'group_owner_add')
+        return self.expect_action(None, 'group_join')
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_guard(self, parameters):
-        return self.expect_action(None, 'group_owner_delete')
+        return self.expect_action(None, 'group_kick')
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_guard(self, parameters):
-        return self.expect_action(None, 'group_join')
+        return self.expect_action(None, 'group_list')
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_guard(self, parameters):
-        return self.expect_action(None, 'group_kick')
+        return self.expect_action(None, 'admin_promote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_guard(self, parameters):
-        return self.expect_action(None, 'group_list')
+        return self.expect_action(None, 'admin_demote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_guard(self, parameters):
-        return self.expect_action(None, 'admin_promote')
+        return self.expect_action(None, 'conformance_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_guard(self, parameters):
-        return self.expect_action(None, 'admin_demote')
+        return self.expect_action(None, 'conformance_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_34_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_34_guard(self, parameters):
-        return self.expect_action(None, 'conformance_delete')
+        return self.expect_action(None, 'folder_create')
     
     def _initialized_behaviour_wait_for_action_megamodelling_35_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_35_guard(self, parameters):
-        return self.expect_action(None, 'conformance_add')
+        return self.expect_action(None, 'model_types')
     
     def _initialized_behaviour_wait_for_action_megamodelling_36_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_36_guard(self, parameters):
-        return self.expect_action(None, 'folder_create')
-    
-    def _initialized_behaviour_wait_for_action_megamodelling_37_exec(self, parameters):
-        self.load_action(None)
-    
-    def _initialized_behaviour_wait_for_action_megamodelling_37_guard(self, parameters):
-        return self.expect_action(None, 'model_types')
-    
-    def _initialized_behaviour_wait_for_action_megamodelling_38_exec(self, parameters):
-        self.load_action(None)
-    
-    def _initialized_behaviour_wait_for_action_megamodelling_38_guard(self, parameters):
         return self.expect_action(None, 'service_register')
     
-    def _initialized_behaviour_wait_for_action_megamodelling_39_guard(self, parameters):
+    def _initialized_behaviour_wait_for_action_megamodelling_37_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):