瀏覽代碼

Add a "reset context" operation, useful in testing

Yentl Van Tendeloo 7 年之前
父節點
當前提交
a093b96f21
共有 4 個文件被更改,包括 236 次插入161 次删除
  1. 39 3
      unit/test_all.py
  2. 14 1
      wrappers/classes/modelverse.xml
  3. 3 0
      wrappers/modelverse.py
  4. 180 157
      wrappers/modelverse_SCCD.py

+ 39 - 3
unit/test_all.py

@@ -102,7 +102,7 @@ class TestModelverse(unittest.TestCase):
     def tearDown(self):
         model_delete("users/user/test")
         verify_clean()
-        pass
+        reset_context()
 
     def test_op_model_list(self):
         assert model_list("") == set(["formalisms/",
@@ -4442,7 +4442,7 @@ class TestModelverse(unittest.TestCase):
             transformation_execute_AL("users/user/test/d", {"MODEL_A": "users/user/test/b"}, {"MODEL_B": "users/user/test/c"})
             self.fail()
         except TypeMismatch:
-            assert element_list_nice("users/user/test/c") > 0
+            assert element_list("users/user/test/c") > 0
 
         # Execute activity with colliding models, which means that it is copied
         transformation_add_AL({"MODEL_A": "users/user/test/A"}, {"MODEL_A": "users/user/test/A"}, "users/user/test/f", default_code_empty)
@@ -4701,9 +4701,45 @@ class TestModelverse(unittest.TestCase):
         transformation_execute_MT("users/user/test/i", {"MODEL_A": "users/user/test/a"}, {"MODEL_B": "users/user/test/bb"}, statechart=(ctrl, "inp", "outp"))
         thrd.join()
 
+    def test_op_transformation_signature(self):
+        # Add some transformations, content of them doesn't matter, only the signature
+        model_add("users/user/test/A", "formalisms/SimpleClassDiagrams")
+        model_add("users/user/test/B", "formalisms/SimpleClassDiagrams")
+        model_add("users/user/test/C", "formalisms/SimpleClassDiagrams")
+        import uuid
+
+        def do_test_signature(inputs, outputs):
+            counter = str(uuid.uuid4())
+
+            # Test manual
+            transformation_add_MANUAL(inputs, outputs, "users/user/test/manual/" + counter)
+            assert transformation_signature("users/user/test/manual/" + counter) == (inputs, outputs)
+
+            # Test AL
+            transformation_add_AL(inputs, outputs, "users/user/test/al/" + counter, "Boolean function main(model : Element):\n\treturn True!")
+            assert transformation_signature("users/user/test/al/" + counter) == (inputs, outputs)
+
+            # Test MT
+            if len(inputs) + len(outputs) > 1:
+                transformation_add_MT(inputs, outputs, "users/user/test/mt/" + counter, "")
+                assert transformation_signature("users/user/test/mt/" + counter) == (inputs, outputs)
+
+        # Test normal operation for all three types of transformation
+        do_test_signature({}, {})
+        do_test_signature({"A": "users/user/test/A"}, {"B": "users/user/test/B"})
+        do_test_signature({}, {"B": "users/user/test/B"})
+        do_test_signature({"A": "users/user/test/A"}, {})
+        do_test_signature({"A": "users/user/test/A", "B": "users/user/test/B"}, {"A": "users/user/test/A", "B": "users/user/test/B"})
+
+        # Test unreadable model (type of transformation doesn't matter, as never created)
+        try:
+            transformation_signature("adfadf")
+            self.fail()
+        except UnknownModel:
+            pass
+
     """
     def test_op_model_render(self):
-    def test_op_transformation_signature(self):
     def test_op_process_signature(self):
     """
 

+ 14 - 1
wrappers/classes/modelverse.xml

@@ -454,7 +454,14 @@
                         <transition target="../../wait_for_action/history">
                             <script>
                                 self.registered_metamodel[self.parameters[0]] = self.parameters[1]
-                                #print("Alter context of " + str(self.parameters[0]) + " to " + str(self.parameters[1]))
+                            </script>
+                        </transition>
+                    </state>
+
+                    <state id="reset_context">
+                        <transition target="../../wait_for_action/history">
+                            <script>
+                                self.registered_metamodel = {}
                             </script>
                         </transition>
                     </state>
@@ -1776,6 +1783,12 @@
                             </script>
                         </transition>
 
+                        <transition cond="self.expect_action('reset_context')" target="../../operations/reset_context">
+                            <script>
+                                self.load_action()
+                            </script>
+                        </transition>
+
                         <transition cond="self.expect_action('model_overwrite')" target="../../operations/model_overwrite">
                             <script>
                                 self.load_action()

+ 3 - 0
wrappers/modelverse.py

@@ -481,6 +481,9 @@ def model_types(model_name):
 def alter_context(model_name, metamodel_name):
     INPUT("alter_context", [model_name, metamodel_name])
 
+def reset_context():
+    INPUT("reset_context", [])
+
 def element_list(model_name):
     INPUT("element_list", [model_name])
     return OUTPUT()

+ 180 - 157
wrappers/modelverse_SCCD.py

@@ -226,347 +226,350 @@ class Modelverse(RuntimeClassBase):
         # state /initialized/behaviour/operations/alter_context
         self.states["/initialized/behaviour/operations/alter_context"] = State(29, "/initialized/behaviour/operations/alter_context", self)
         
+        # state /initialized/behaviour/operations/reset_context
+        self.states["/initialized/behaviour/operations/reset_context"] = State(30, "/initialized/behaviour/operations/reset_context", self)
+        
         # state /initialized/behaviour/operations/model_overwrite
-        self.states["/initialized/behaviour/operations/model_overwrite"] = State(30, "/initialized/behaviour/operations/model_overwrite", self)
+        self.states["/initialized/behaviour/operations/model_overwrite"] = State(31, "/initialized/behaviour/operations/model_overwrite", self)
         
         # state /initialized/behaviour/operations/model_overwrite/init
-        self.states["/initialized/behaviour/operations/model_overwrite/init"] = State(31, "/initialized/behaviour/operations/model_overwrite/init", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/init"] = State(32, "/initialized/behaviour/operations/model_overwrite/init", self)
         
         # state /initialized/behaviour/operations/model_overwrite/search
-        self.states["/initialized/behaviour/operations/model_overwrite/search"] = State(32, "/initialized/behaviour/operations/model_overwrite/search", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/search"] = State(33, "/initialized/behaviour/operations/model_overwrite/search", self)
         self.states["/initialized/behaviour/operations/model_overwrite/search"].setEnter(self._initialized_behaviour_operations_model_overwrite_search_enter)
         
         # state /initialized/behaviour/operations/model_overwrite/prepare_call
-        self.states["/initialized/behaviour/operations/model_overwrite/prepare_call"] = State(33, "/initialized/behaviour/operations/model_overwrite/prepare_call", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/prepare_call"] = State(34, "/initialized/behaviour/operations/model_overwrite/prepare_call", self)
         
         # state /initialized/behaviour/operations/model_overwrite/send_metadata
-        self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"] = State(34, "/initialized/behaviour/operations/model_overwrite/send_metadata", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"] = State(35, "/initialized/behaviour/operations/model_overwrite/send_metadata", self)
         self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"].setEnter(self._initialized_behaviour_operations_model_overwrite_send_metadata_enter)
         
         # state /initialized/behaviour/operations/model_overwrite/send_model
-        self.states["/initialized/behaviour/operations/model_overwrite/send_model"] = State(35, "/initialized/behaviour/operations/model_overwrite/send_model", self)
+        self.states["/initialized/behaviour/operations/model_overwrite/send_model"] = State(36, "/initialized/behaviour/operations/model_overwrite/send_model", self)
         self.states["/initialized/behaviour/operations/model_overwrite/send_model"].setEnter(self._initialized_behaviour_operations_model_overwrite_send_model_enter)
         
         # state /initialized/behaviour/operations/disconnect
-        self.states["/initialized/behaviour/operations/disconnect"] = State(36, "/initialized/behaviour/operations/disconnect", self)
+        self.states["/initialized/behaviour/operations/disconnect"] = State(37, "/initialized/behaviour/operations/disconnect", self)
         self.states["/initialized/behaviour/operations/disconnect"].setEnter(self._initialized_behaviour_operations_disconnect_enter)
         
         # state /initialized/behaviour/operations/user_logout
-        self.states["/initialized/behaviour/operations/user_logout"] = State(37, "/initialized/behaviour/operations/user_logout", self)
+        self.states["/initialized/behaviour/operations/user_logout"] = State(38, "/initialized/behaviour/operations/user_logout", self)
         self.states["/initialized/behaviour/operations/user_logout"].setEnter(self._initialized_behaviour_operations_user_logout_enter)
         
         # state /initialized/behaviour/operations/model_render
-        self.states["/initialized/behaviour/operations/model_render"] = State(38, "/initialized/behaviour/operations/model_render", self)
+        self.states["/initialized/behaviour/operations/model_render"] = State(39, "/initialized/behaviour/operations/model_render", self)
         self.states["/initialized/behaviour/operations/model_render"].setEnter(self._initialized_behaviour_operations_model_render_enter)
         
         # state /initialized/behaviour/operations/model_rendered
-        self.states["/initialized/behaviour/operations/model_rendered"] = State(39, "/initialized/behaviour/operations/model_rendered", self)
+        self.states["/initialized/behaviour/operations/model_rendered"] = State(40, "/initialized/behaviour/operations/model_rendered", self)
         self.states["/initialized/behaviour/operations/model_rendered"].setEnter(self._initialized_behaviour_operations_model_rendered_enter)
         
         # state /initialized/behaviour/operations/transformation_between
-        self.states["/initialized/behaviour/operations/transformation_between"] = State(40, "/initialized/behaviour/operations/transformation_between", self)
+        self.states["/initialized/behaviour/operations/transformation_between"] = State(41, "/initialized/behaviour/operations/transformation_between", self)
         self.states["/initialized/behaviour/operations/transformation_between"].setEnter(self._initialized_behaviour_operations_transformation_between_enter)
         
         # state /initialized/behaviour/operations/transformation_signature
-        self.states["/initialized/behaviour/operations/transformation_signature"] = State(41, "/initialized/behaviour/operations/transformation_signature", self)
+        self.states["/initialized/behaviour/operations/transformation_signature"] = State(42, "/initialized/behaviour/operations/transformation_signature", self)
         self.states["/initialized/behaviour/operations/transformation_signature"].setEnter(self._initialized_behaviour_operations_transformation_signature_enter)
         
         # state /initialized/behaviour/operations/process_signature
-        self.states["/initialized/behaviour/operations/process_signature"] = State(42, "/initialized/behaviour/operations/process_signature", self)
+        self.states["/initialized/behaviour/operations/process_signature"] = State(43, "/initialized/behaviour/operations/process_signature", self)
         self.states["/initialized/behaviour/operations/process_signature"].setEnter(self._initialized_behaviour_operations_process_signature_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted
-        self.states["/initialized/behaviour/operations/store_on_scripted"] = State(43, "/initialized/behaviour/operations/store_on_scripted", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted"] = State(44, "/initialized/behaviour/operations/store_on_scripted", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"] = State(44, "/initialized/behaviour/operations/store_on_scripted/transformation_add", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"] = State(45, "/initialized/behaviour/operations/store_on_scripted/transformation_add", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"] = State(45, "/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"] = State(46, "/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata", self)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/send_metadata"].setEnter(self._initialized_behaviour_operations_store_on_scripted_transformation_add_send_metadata_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user"] = State(46, "/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user"] = State(47, "/initialized/behaviour/operations/store_on_scripted/transformation_add/wait_for_user", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes"] = State(47, "/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes"] = State(48, "/initialized/behaviour/operations/store_on_scripted/transformation_add/upload_changes", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"] = State(48, "/initialized/behaviour/operations/store_on_scripted/transformation_execute", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute"] = State(49, "/initialized/behaviour/operations/store_on_scripted/transformation_execute", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"] = State(49, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"] = State(50, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation", self)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/send_operation"].setEnter(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_enter)
         
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting
-        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting"] = State(50, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting"] = State(51, "/initialized/behaviour/operations/store_on_scripted/transformation_execute/waiting", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/process_execute
-        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(51, "/initialized/behaviour/operations/store_on_scripted/process_execute", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(52, "/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(52, "/initialized/behaviour/operations/store_on_scripted/process_execute/init", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"] = State(53, "/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(53, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"] = State(54, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
         
         # state /initialized/behaviour/operations/store_on_scripted/history
-        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(54, "/initialized/behaviour/operations/store_on_scripted/history", self)
+        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(55, "/initialized/behaviour/operations/store_on_scripted/history", self)
         
         # state /initialized/behaviour/operations/permission_modify
-        self.states["/initialized/behaviour/operations/permission_modify"] = State(55, "/initialized/behaviour/operations/permission_modify", self)
+        self.states["/initialized/behaviour/operations/permission_modify"] = State(56, "/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(56, "/initialized/behaviour/operations/permission_owner", self)
+        self.states["/initialized/behaviour/operations/permission_owner"] = State(57, "/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(57, "/initialized/behaviour/operations/permission_group", self)
+        self.states["/initialized/behaviour/operations/permission_group"] = State(58, "/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(58, "/initialized/behaviour/operations/group_create", self)
+        self.states["/initialized/behaviour/operations/group_create"] = State(59, "/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(59, "/initialized/behaviour/operations/group_delete", self)
+        self.states["/initialized/behaviour/operations/group_delete"] = State(60, "/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(60, "/initialized/behaviour/operations/group_owner_add", self)
+        self.states["/initialized/behaviour/operations/group_owner_add"] = State(61, "/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(61, "/initialized/behaviour/operations/group_owner_delete", self)
+        self.states["/initialized/behaviour/operations/group_owner_delete"] = State(62, "/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(62, "/initialized/behaviour/operations/group_join", self)
+        self.states["/initialized/behaviour/operations/group_join"] = State(63, "/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(63, "/initialized/behaviour/operations/group_kick", self)
+        self.states["/initialized/behaviour/operations/group_kick"] = State(64, "/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(64, "/initialized/behaviour/operations/group_list", self)
+        self.states["/initialized/behaviour/operations/group_list"] = State(65, "/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(65, "/initialized/behaviour/operations/admin_promote", self)
+        self.states["/initialized/behaviour/operations/admin_promote"] = State(66, "/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(66, "/initialized/behaviour/operations/admin_demote", self)
+        self.states["/initialized/behaviour/operations/admin_demote"] = State(67, "/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(67, "/initialized/behaviour/operations/conformance_delete", self)
+        self.states["/initialized/behaviour/operations/conformance_delete"] = State(68, "/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(68, "/initialized/behaviour/operations/conformance_add", self)
+        self.states["/initialized/behaviour/operations/conformance_add"] = State(69, "/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(69, "/initialized/behaviour/operations/folder_create", self)
+        self.states["/initialized/behaviour/operations/folder_create"] = State(70, "/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(70, "/initialized/behaviour/operations/model_types", self)
+        self.states["/initialized/behaviour/operations/model_types"] = State(71, "/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(71, "/initialized/behaviour/operations/element_list", self)
+        self.states["/initialized/behaviour/operations/element_list"] = State(72, "/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(72, "/initialized/behaviour/operations/element_list_nice", self)
+        self.states["/initialized/behaviour/operations/element_list_nice"] = State(73, "/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(73, "/initialized/behaviour/operations/types", self)
+        self.states["/initialized/behaviour/operations/types"] = State(74, "/initialized/behaviour/operations/types", self)
         self.states["/initialized/behaviour/operations/types"].setEnter(self._initialized_behaviour_operations_types_enter)
         
         # state /initialized/behaviour/operations/read_info
-        self.states["/initialized/behaviour/operations/read_info"] = State(74, "/initialized/behaviour/operations/read_info", self)
+        self.states["/initialized/behaviour/operations/read_info"] = State(75, "/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(75, "/initialized/behaviour/operations/read_attrs", self)
+        self.states["/initialized/behaviour/operations/read_attrs"] = State(76, "/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(76, "/initialized/behaviour/operations/read_defined_attrs", self)
+        self.states["/initialized/behaviour/operations/read_defined_attrs"] = State(77, "/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(77, "/initialized/behaviour/operations/instantiate", self)
+        self.states["/initialized/behaviour/operations/instantiate"] = State(78, "/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(78, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
+        self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"] = State(79, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
         
         # state /initialized/behaviour/operations/instantiate/created
-        self.states["/initialized/behaviour/operations/instantiate/created"] = State(79, "/initialized/behaviour/operations/instantiate/created", self)
+        self.states["/initialized/behaviour/operations/instantiate/created"] = State(80, "/initialized/behaviour/operations/instantiate/created", self)
         
         # state /initialized/behaviour/operations/delete_element
-        self.states["/initialized/behaviour/operations/delete_element"] = State(80, "/initialized/behaviour/operations/delete_element", self)
+        self.states["/initialized/behaviour/operations/delete_element"] = State(81, "/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(81, "/initialized/behaviour/operations/attr_assign", self)
+        self.states["/initialized/behaviour/operations/attr_assign"] = State(82, "/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(82, "/initialized/behaviour/operations/attr_assign_code", self)
+        self.states["/initialized/behaviour/operations/attr_assign_code"] = State(83, "/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_assign_code/sent
-        self.states["/initialized/behaviour/operations/attr_assign_code/sent"] = State(83, "/initialized/behaviour/operations/attr_assign_code/sent", self)
+        self.states["/initialized/behaviour/operations/attr_assign_code/sent"] = State(84, "/initialized/behaviour/operations/attr_assign_code/sent", self)
         
         # state /initialized/behaviour/operations/attr_delete
-        self.states["/initialized/behaviour/operations/attr_delete"] = State(84, "/initialized/behaviour/operations/attr_delete", self)
+        self.states["/initialized/behaviour/operations/attr_delete"] = State(85, "/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(85, "/initialized/behaviour/operations/attr_type", self)
+        self.states["/initialized/behaviour/operations/attr_type"] = State(86, "/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(86, "/initialized/behaviour/operations/attr_name", self)
+        self.states["/initialized/behaviour/operations/attr_name"] = State(87, "/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(87, "/initialized/behaviour/operations/attr_optional", self)
+        self.states["/initialized/behaviour/operations/attr_optional"] = State(88, "/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(88, "/initialized/behaviour/operations/read_outgoing", self)
+        self.states["/initialized/behaviour/operations/read_outgoing"] = State(89, "/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(89, "/initialized/behaviour/operations/read_incoming", self)
+        self.states["/initialized/behaviour/operations/read_incoming"] = State(90, "/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(90, "/initialized/behaviour/operations/read_association_source", self)
+        self.states["/initialized/behaviour/operations/read_association_source"] = State(91, "/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(91, "/initialized/behaviour/operations/read_association_destination", self)
+        self.states["/initialized/behaviour/operations/read_association_destination"] = State(92, "/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(92, "/initialized/behaviour/operations/connections_between", self)
+        self.states["/initialized/behaviour/operations/connections_between"] = State(93, "/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(93, "/initialized/behaviour/operations/define_attribute", self)
+        self.states["/initialized/behaviour/operations/define_attribute"] = State(94, "/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(94, "/initialized/behaviour/operations/undefine_attribute", self)
+        self.states["/initialized/behaviour/operations/undefine_attribute"] = State(95, "/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(95, "/initialized/behaviour/operations/all_instances", self)
+        self.states["/initialized/behaviour/operations/all_instances"] = State(96, "/initialized/behaviour/operations/all_instances", self)
         self.states["/initialized/behaviour/operations/all_instances"].setEnter(self._initialized_behaviour_operations_all_instances_enter)
         
         # state /initialized/behaviour/operations/exit_save
-        self.states["/initialized/behaviour/operations/exit_save"] = State(96, "/initialized/behaviour/operations/exit_save", self)
+        self.states["/initialized/behaviour/operations/exit_save"] = State(97, "/initialized/behaviour/operations/exit_save", self)
         self.states["/initialized/behaviour/operations/exit_save"].setEnter(self._initialized_behaviour_operations_exit_save_enter)
         
         # state /initialized/behaviour/operations/service_register
-        self.states["/initialized/behaviour/operations/service_register"] = State(97, "/initialized/behaviour/operations/service_register", self)
+        self.states["/initialized/behaviour/operations/service_register"] = State(98, "/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(98, "/initialized/behaviour/operations/service_stop", self)
+        self.states["/initialized/behaviour/operations/service_stop"] = State(99, "/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(99, "/initialized/behaviour/wait_for_action", self)
+        self.states["/initialized/behaviour/wait_for_action"] = State(100, "/initialized/behaviour/wait_for_action", self)
         
         # state /initialized/behaviour/wait_for_action/disconnected
-        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(100, "/initialized/behaviour/wait_for_action/disconnected", self)
+        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(101, "/initialized/behaviour/wait_for_action/disconnected", self)
         
         # state /initialized/behaviour/wait_for_action/connected
-        self.states["/initialized/behaviour/wait_for_action/connected"] = State(101, "/initialized/behaviour/wait_for_action/connected", self)
+        self.states["/initialized/behaviour/wait_for_action/connected"] = State(102, "/initialized/behaviour/wait_for_action/connected", self)
         
         # state /initialized/behaviour/wait_for_action/activity
-        self.states["/initialized/behaviour/wait_for_action/activity"] = State(102, "/initialized/behaviour/wait_for_action/activity", self)
+        self.states["/initialized/behaviour/wait_for_action/activity"] = State(103, "/initialized/behaviour/wait_for_action/activity", self)
         
         # state /initialized/behaviour/wait_for_action/activity/SC
-        self.states["/initialized/behaviour/wait_for_action/activity/SC"] = State(103, "/initialized/behaviour/wait_for_action/activity/SC", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/SC"] = State(104, "/initialized/behaviour/wait_for_action/activity/SC", self)
         self.states["/initialized/behaviour/wait_for_action/activity/SC"].setEnter(self._initialized_behaviour_wait_for_action_activity_SC_enter)
         
         # state /initialized/behaviour/wait_for_action/activity/SC/forwarding
-        self.states["/initialized/behaviour/wait_for_action/activity/SC/forwarding"] = State(104, "/initialized/behaviour/wait_for_action/activity/SC/forwarding", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/SC/forwarding"] = State(105, "/initialized/behaviour/wait_for_action/activity/SC/forwarding", self)
         
         # state /initialized/behaviour/wait_for_action/activity/OP
-        self.states["/initialized/behaviour/wait_for_action/activity/OP"] = State(105, "/initialized/behaviour/wait_for_action/activity/OP", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/OP"] = State(106, "/initialized/behaviour/wait_for_action/activity/OP", self)
         self.states["/initialized/behaviour/wait_for_action/activity/OP"].setEnter(self._initialized_behaviour_wait_for_action_activity_OP_enter)
         
         # state /initialized/behaviour/wait_for_action/activity/OP/forwarding
-        self.states["/initialized/behaviour/wait_for_action/activity/OP/forwarding"] = State(106, "/initialized/behaviour/wait_for_action/activity/OP/forwarding", self)
+        self.states["/initialized/behaviour/wait_for_action/activity/OP/forwarding"] = State(107, "/initialized/behaviour/wait_for_action/activity/OP/forwarding", self)
         
         # state /initialized/behaviour/wait_for_action/megamodelling
-        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(107, "/initialized/behaviour/wait_for_action/megamodelling", self)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(108, "/initialized/behaviour/wait_for_action/megamodelling", self)
         
         # state /initialized/behaviour/wait_for_action/service
-        self.states["/initialized/behaviour/wait_for_action/service"] = State(108, "/initialized/behaviour/wait_for_action/service", self)
+        self.states["/initialized/behaviour/wait_for_action/service"] = State(109, "/initialized/behaviour/wait_for_action/service", self)
         
         # state /initialized/behaviour/wait_for_action/modelling
-        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(109, "/initialized/behaviour/wait_for_action/modelling", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(110, "/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(110, "/initialized/behaviour/wait_for_action/modelling/recognized", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized"] = State(111, "/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(111, "/initialized/behaviour/wait_for_action/modelling/recognized/manual", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"] = State(112, "/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(112, "/initialized/behaviour/wait_for_action/modelling/recognized/scripted", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/scripted"] = State(113, "/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(113, "/initialized/behaviour/wait_for_action/finished", self)
+        self.states["/initialized/behaviour/wait_for_action/finished"] = State(114, "/initialized/behaviour/wait_for_action/finished", self)
         
         # state /initialized/behaviour/wait_for_action/history
-        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(114, "/initialized/behaviour/wait_for_action/history", self)
+        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(115, "/initialized/behaviour/wait_for_action/history", self)
         
         # state /initialized/behaviour/going_manual
-        self.states["/initialized/behaviour/going_manual"] = State(115, "/initialized/behaviour/going_manual", self)
+        self.states["/initialized/behaviour/going_manual"] = State(116, "/initialized/behaviour/going_manual", self)
         
         # state /initialized/behaviour/going_manual/init
-        self.states["/initialized/behaviour/going_manual/init"] = State(116, "/initialized/behaviour/going_manual/init", self)
+        self.states["/initialized/behaviour/going_manual/init"] = State(117, "/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(117, "/initialized/behaviour/going_manual/search", self)
+        self.states["/initialized/behaviour/going_manual/search"] = State(118, "/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/prepare_call
-        self.states["/initialized/behaviour/going_manual/prepare_call"] = State(118, "/initialized/behaviour/going_manual/prepare_call", self)
+        self.states["/initialized/behaviour/going_manual/prepare_call"] = State(119, "/initialized/behaviour/going_manual/prepare_call", self)
         
         # state /initialized/behaviour/going_manual/OK
-        self.states["/initialized/behaviour/going_manual/OK"] = State(119, "/initialized/behaviour/going_manual/OK", self)
+        self.states["/initialized/behaviour/going_manual/OK"] = State(120, "/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(120, "/initialized/behaviour/going_scripted", self)
+        self.states["/initialized/behaviour/going_scripted"] = State(121, "/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(121, "/initialized/behaviour/leaving_manual", self)
+        self.states["/initialized/behaviour/leaving_manual"] = State(122, "/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(122, "/initialized/queue", self)
+        self.states["/initialized/queue"] = State(123, "/initialized/queue", self)
         
         # state /initialized/queue/queue
-        self.states["/initialized/queue/queue"] = State(123, "/initialized/queue/queue", self)
+        self.states["/initialized/queue/queue"] = State(124, "/initialized/queue/queue", self)
         
         # add children
         self.states[""].addChild(self.states["/init"])
@@ -597,6 +600,7 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/model_list_full"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/verify"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/alter_context"])
+        self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/reset_context"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/model_overwrite"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/disconnect"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/user_logout"])
@@ -897,6 +901,12 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_operations_alter_context_0.setTrigger(None)
         self.states["/initialized/behaviour/operations/alter_context"].addTransition(_initialized_behaviour_operations_alter_context_0)
         
+        # transition /initialized/behaviour/operations/reset_context
+        _initialized_behaviour_operations_reset_context_0 = Transition(self, self.states["/initialized/behaviour/operations/reset_context"], [self.states["/initialized/behaviour/wait_for_action/history"]])
+        _initialized_behaviour_operations_reset_context_0.setAction(self._initialized_behaviour_operations_reset_context_0_exec)
+        _initialized_behaviour_operations_reset_context_0.setTrigger(None)
+        self.states["/initialized/behaviour/operations/reset_context"].addTransition(_initialized_behaviour_operations_reset_context_0)
+        
         # transition /initialized/behaviour/operations/model_overwrite/init
         _initialized_behaviour_operations_model_overwrite_init_0 = Transition(self, self.states["/initialized/behaviour/operations/model_overwrite/init"], [self.states["/initialized/behaviour/operations/model_overwrite/send_metadata"]])
         _initialized_behaviour_operations_model_overwrite_init_0.setTrigger(None)
@@ -1472,47 +1482,47 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_wait_for_action_megamodelling_9.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_9.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_9_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_9)
-        _initialized_behaviour_wait_for_action_megamodelling_10 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_overwrite"]])
+        _initialized_behaviour_wait_for_action_megamodelling_10 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/reset_context"]])
         _initialized_behaviour_wait_for_action_megamodelling_10.setAction(self._initialized_behaviour_wait_for_action_megamodelling_10_exec)
         _initialized_behaviour_wait_for_action_megamodelling_10.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_10.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_10_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_10)
-        _initialized_behaviour_wait_for_action_megamodelling_11 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/disconnect"]])
+        _initialized_behaviour_wait_for_action_megamodelling_11 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_overwrite"]])
         _initialized_behaviour_wait_for_action_megamodelling_11.setAction(self._initialized_behaviour_wait_for_action_megamodelling_11_exec)
         _initialized_behaviour_wait_for_action_megamodelling_11.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_11.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_11_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_11)
-        _initialized_behaviour_wait_for_action_megamodelling_12 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/user_logout"]])
+        _initialized_behaviour_wait_for_action_megamodelling_12 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/disconnect"]])
         _initialized_behaviour_wait_for_action_megamodelling_12.setAction(self._initialized_behaviour_wait_for_action_megamodelling_12_exec)
         _initialized_behaviour_wait_for_action_megamodelling_12.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_12.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_12_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_12)
-        _initialized_behaviour_wait_for_action_megamodelling_13 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_render"]])
+        _initialized_behaviour_wait_for_action_megamodelling_13 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/user_logout"]])
         _initialized_behaviour_wait_for_action_megamodelling_13.setAction(self._initialized_behaviour_wait_for_action_megamodelling_13_exec)
         _initialized_behaviour_wait_for_action_megamodelling_13.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_13.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_13_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_13)
-        _initialized_behaviour_wait_for_action_megamodelling_14 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_rendered"]])
+        _initialized_behaviour_wait_for_action_megamodelling_14 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_render"]])
         _initialized_behaviour_wait_for_action_megamodelling_14.setAction(self._initialized_behaviour_wait_for_action_megamodelling_14_exec)
         _initialized_behaviour_wait_for_action_megamodelling_14.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_14.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_14_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_14)
-        _initialized_behaviour_wait_for_action_megamodelling_15 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/transformation_between"]])
+        _initialized_behaviour_wait_for_action_megamodelling_15 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_rendered"]])
         _initialized_behaviour_wait_for_action_megamodelling_15.setAction(self._initialized_behaviour_wait_for_action_megamodelling_15_exec)
         _initialized_behaviour_wait_for_action_megamodelling_15.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_15.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_15_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_15)
-        _initialized_behaviour_wait_for_action_megamodelling_16 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/transformation_signature"]])
+        _initialized_behaviour_wait_for_action_megamodelling_16 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/transformation_between"]])
         _initialized_behaviour_wait_for_action_megamodelling_16.setAction(self._initialized_behaviour_wait_for_action_megamodelling_16_exec)
         _initialized_behaviour_wait_for_action_megamodelling_16.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_16.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_16_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_16)
-        _initialized_behaviour_wait_for_action_megamodelling_17 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/process_signature"]])
+        _initialized_behaviour_wait_for_action_megamodelling_17 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/transformation_signature"]])
         _initialized_behaviour_wait_for_action_megamodelling_17.setAction(self._initialized_behaviour_wait_for_action_megamodelling_17_exec)
         _initialized_behaviour_wait_for_action_megamodelling_17.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_17.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_17_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_17)
-        _initialized_behaviour_wait_for_action_megamodelling_18 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_18 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/process_signature"]])
         _initialized_behaviour_wait_for_action_megamodelling_18.setAction(self._initialized_behaviour_wait_for_action_megamodelling_18_exec)
         _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)
@@ -1527,110 +1537,115 @@ class Modelverse(RuntimeClassBase):
         _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/transformation_execute"]])
+        _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/transformation_add"]])
         _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/store_on_scripted/process_execute"]])
+        _initialized_behaviour_wait_for_action_megamodelling_22 = 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_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_modify"]])
+        _initialized_behaviour_wait_for_action_megamodelling_23 = 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_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_owner"]])
+        _initialized_behaviour_wait_for_action_megamodelling_24 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_modify"]])
         _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/permission_group"]])
+        _initialized_behaviour_wait_for_action_megamodelling_25 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_owner"]])
         _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_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_26 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_group"]])
         _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_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_27 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_create"]])
         _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_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_28 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_delete"]])
         _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_owner_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_29 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_add"]])
         _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_join"]])
+        _initialized_behaviour_wait_for_action_megamodelling_30 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_delete"]])
         _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_kick"]])
+        _initialized_behaviour_wait_for_action_megamodelling_31 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_join"]])
         _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/group_list"]])
+        _initialized_behaviour_wait_for_action_megamodelling_32 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_kick"]])
         _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_promote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_33 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_list"]])
         _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/admin_demote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_34 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_promote"]])
         _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_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_35 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_demote"]])
         _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/conformance_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_36 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_delete"]])
         _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/folder_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_37 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_add"]])
         _initialized_behaviour_wait_for_action_megamodelling_37.setAction(self._initialized_behaviour_wait_for_action_megamodelling_37_exec)
         _initialized_behaviour_wait_for_action_megamodelling_37.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_37.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_37_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_37)
-        _initialized_behaviour_wait_for_action_megamodelling_38 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_types"]])
+        _initialized_behaviour_wait_for_action_megamodelling_38 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/folder_create"]])
         _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/operations/service_register"]])
+        _initialized_behaviour_wait_for_action_megamodelling_39 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_types"]])
         _initialized_behaviour_wait_for_action_megamodelling_39.setAction(self._initialized_behaviour_wait_for_action_megamodelling_39_exec)
         _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)
-        _initialized_behaviour_wait_for_action_megamodelling_40 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
+        _initialized_behaviour_wait_for_action_megamodelling_40 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/service_register"]])
         _initialized_behaviour_wait_for_action_megamodelling_40.setAction(self._initialized_behaviour_wait_for_action_megamodelling_40_exec)
         _initialized_behaviour_wait_for_action_megamodelling_40.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_40.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_40_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_40)
-        _initialized_behaviour_wait_for_action_megamodelling_41 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/going_manual"]])
+        _initialized_behaviour_wait_for_action_megamodelling_41 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
+        _initialized_behaviour_wait_for_action_megamodelling_41.setAction(self._initialized_behaviour_wait_for_action_megamodelling_41_exec)
         _initialized_behaviour_wait_for_action_megamodelling_41.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_41.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_41_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_41)
+        _initialized_behaviour_wait_for_action_megamodelling_42 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/going_manual"]])
+        _initialized_behaviour_wait_for_action_megamodelling_42.setTrigger(None)
+        _initialized_behaviour_wait_for_action_megamodelling_42.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_42_guard)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_42)
         
         # 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"]])
@@ -2885,7 +2900,9 @@ class Modelverse(RuntimeClassBase):
     
     def _initialized_behaviour_operations_alter_context_0_exec(self, parameters):
         self.registered_metamodel[self.parameters[0]] = self.parameters[1]
-        #print("Alter context of " + str(self.parameters[0]) + " to " + str(self.parameters[1]))
+    
+    def _initialized_behaviour_operations_reset_context_0_exec(self, parameters):
+        self.registered_metamodel = {}
     
     def _initialized_behaviour_operations_model_overwrite_init_0_guard(self, parameters):
         return self.parameters[0] in self.registered_metamodel
@@ -3445,190 +3462,196 @@ class Modelverse(RuntimeClassBase):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_10_guard(self, parameters):
-        return self.expect_action('model_overwrite')
+        return self.expect_action('reset_context')
     
     def _initialized_behaviour_wait_for_action_megamodelling_11_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_11_guard(self, parameters):
-        return self.expect_action('disconnect')
+        return self.expect_action('model_overwrite')
     
     def _initialized_behaviour_wait_for_action_megamodelling_12_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_12_guard(self, parameters):
-        return self.expect_action('user_logout')
+        return self.expect_action('disconnect')
     
     def _initialized_behaviour_wait_for_action_megamodelling_13_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_13_guard(self, parameters):
-        return self.expect_action('model_render')
+        return self.expect_action('user_logout')
     
     def _initialized_behaviour_wait_for_action_megamodelling_14_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_14_guard(self, parameters):
-        return self.expect_action('model_rendered')
+        return self.expect_action('model_render')
     
     def _initialized_behaviour_wait_for_action_megamodelling_15_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_15_guard(self, parameters):
-        return self.expect_action('transformation_between')
+        return self.expect_action('model_rendered')
     
     def _initialized_behaviour_wait_for_action_megamodelling_16_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_16_guard(self, parameters):
-        return self.expect_action('transformation_signature')
+        return self.expect_action('transformation_between')
     
     def _initialized_behaviour_wait_for_action_megamodelling_17_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_17_guard(self, parameters):
-        return self.expect_action('process_signature')
+        return self.expect_action('transformation_signature')
     
     def _initialized_behaviour_wait_for_action_megamodelling_18_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_18_guard(self, parameters):
-        return self.expect_action('transformation_add_MT')
+        return self.expect_action('process_signature')
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_guard(self, parameters):
-        return self.expect_action('transformation_add_AL')
+        return self.expect_action('transformation_add_MT')
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_guard(self, parameters):
-        return self.expect_action('transformation_add_MANUAL')
+        return self.expect_action('transformation_add_AL')
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_guard(self, parameters):
-        return self.expect_action('transformation_execute')
+        return self.expect_action('transformation_add_MANUAL')
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_guard(self, parameters):
-        return self.expect_action('process_execute')
+        return self.expect_action('transformation_execute')
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_guard(self, parameters):
-        return self.expect_action('permission_modify')
+        return self.expect_action('process_execute')
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_guard(self, parameters):
-        return self.expect_action('permission_owner')
+        return self.expect_action('permission_modify')
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_guard(self, parameters):
-        return self.expect_action('permission_group')
+        return self.expect_action('permission_owner')
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_guard(self, parameters):
-        return self.expect_action('group_create')
+        return self.expect_action('permission_group')
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_guard(self, parameters):
-        return self.expect_action('group_delete')
+        return self.expect_action('group_create')
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_guard(self, parameters):
-        return self.expect_action('group_owner_add')
+        return self.expect_action('group_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_guard(self, parameters):
-        return self.expect_action('group_owner_delete')
+        return self.expect_action('group_owner_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_guard(self, parameters):
-        return self.expect_action('group_join')
+        return self.expect_action('group_owner_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_guard(self, parameters):
-        return self.expect_action('group_kick')
+        return self.expect_action('group_join')
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_guard(self, parameters):
-        return self.expect_action('group_list')
+        return self.expect_action('group_kick')
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_guard(self, parameters):
-        return self.expect_action('admin_promote')
+        return self.expect_action('group_list')
     
     def _initialized_behaviour_wait_for_action_megamodelling_34_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_34_guard(self, parameters):
-        return self.expect_action('admin_demote')
+        return self.expect_action('admin_promote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_35_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_35_guard(self, parameters):
-        return self.expect_action('conformance_delete')
+        return self.expect_action('admin_demote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_36_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_36_guard(self, parameters):
-        return self.expect_action('conformance_add')
+        return self.expect_action('conformance_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_37_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_37_guard(self, parameters):
-        return self.expect_action('folder_create')
+        return self.expect_action('conformance_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_38_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_38_guard(self, parameters):
-        return self.expect_action('model_types')
+        return self.expect_action('folder_create')
     
     def _initialized_behaviour_wait_for_action_megamodelling_39_exec(self, parameters):
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_39_guard(self, parameters):
-        return self.expect_action('service_register')
+        return self.expect_action('model_types')
     
     def _initialized_behaviour_wait_for_action_megamodelling_40_exec(self, parameters):
-        self.raiseInternalEvent(Event("result", None, [None]))
         self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_40_guard(self, parameters):
-        return self.expect_action('exit_save')
+        return self.expect_action('service_register')
+    
+    def _initialized_behaviour_wait_for_action_megamodelling_41_exec(self, parameters):
+        self.raiseInternalEvent(Event("result", None, [None]))
+        self.load_action()
     
     def _initialized_behaviour_wait_for_action_megamodelling_41_guard(self, parameters):
+        return self.expect_action('exit_save')
+    
+    def _initialized_behaviour_wait_for_action_megamodelling_42_guard(self, parameters):
         return self.expect_action(['element_list', 'element_list_nice', 'types', '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):