Browse Source

Updated process_execute

Yentl Van Tendeloo 8 years ago
parent
commit
1c2c6e14cf
5 changed files with 407 additions and 134 deletions
  1. 1 0
      bootstrap/core_algorithm.alc
  2. 19 15
      unit/test_all.py
  3. 79 19
      wrappers/classes/modelverse.xml
  4. 43 7
      wrappers/modelverse.py
  5. 265 93
      wrappers/modelverse_SCCD.py

+ 1 - 0
bootstrap/core_algorithm.alc

@@ -897,6 +897,7 @@ Void function enact_PM(pm : Element, prefix : String):
 			// This the difficult part!
 
 			result = enact_action(pm, element, prefix)
+			output("Success")
 
 		elif (type == "Decision"):
 			// If the previous result is true, we add the normal one, otherwise the false one

+ 19 - 15
unit/test_all.py

@@ -251,26 +251,30 @@ class TestModelverse(unittest.TestCase):
         transformation_add_AL({"PetriNet": "test/PetriNet"}, {"ReachabilityGraph": "test/ReachabilityGraph"}, "test/reachability", open("integration/code/reachability_subfunction.alc", "r").read())
         transformation_add_MT({"ReachabilityGraph": "test/ReachabilityGraph"}, {}, "test/reachability_print", open("integration/code/reachabilitygraph_print.mvc", 'r').read())
 
-        def callback_refine_PN():
-            p1 = instantiate(None, "PetriNet/Place")
-            attr_assign(None, p1, "name", "p1")
-            attr_assign(None, p1, "tokens", 1)
+        def callback_refine_PN(context):
+            p1 = instantiate(None, "PetriNet/Place", context=context)
+            attr_assign(None, p1, "name", "p1", context=context)
+            attr_assign(None, p1, "tokens", 1, context=context)
 
-            t1 = instantiate(None, "PetriNet/Transition")
-            attr_assign(None, t1, "name", "t1")
+            t1 = instantiate(None, "PetriNet/Transition", context=context)
+            attr_assign(None, t1, "name", "t1", context=context)
 
-            p2t = instantiate(None, "PetriNet/P2T", (p1, t1))
-            attr_assign(None, p2t, "weight", 1)
+            p2t = instantiate(None, "PetriNet/P2T", (p1, t1), context=context)
+            attr_assign(None, p2t, "weight", 1, context=context)
 
-        log = set([])
-        def callback_print(value):
-            log.add(value)
+        import log_output
+        log = []
+        ctrl = log_output.Controller(log, keep_running=False)
+        thrd = threading.Thread(target=ctrl.start)
+        thrd.daemon = True
+        thrd.start()
 
-        process_execute("test/pn_reachability", "", {"test/refine_PN": callback_refine_PN, "test/reachability_print": callback_print})
+        process_execute("test/pn_reachability", "", {"test/refine_PN": callback_refine_PN, "test/reachability_print": (ctrl, "inp", "outp")})
+        thrd.join()
 
-        assert log == set(['"0": {"p1": 1, }',
-                           '"1": {"p1": 0, }',
-                           '"0" --["t1"]--> "1"'])
+        assert set(log) == set(['"0": {"p1": 1, }',
+                                '"1": {"p1": 0, }',
+                                '"0" --["t1"]--> "1"'])
 
         model_delete("RAMified")
         model_delete("merged")

+ 79 - 19
wrappers/classes/modelverse.xml

@@ -717,15 +717,85 @@
                             </state>
                         </state>
 
-                        <history id="history" type="deep"/>
-                    </state>
+                        <state id="process_execute" initial="init">
+                            <state id="init">
+                                <onentry>
+                                    <raise event="request">
+                                        <parameter expr="['process_execute', self.parameters[0], self.parameters[1]]"/>
+                                    </raise>
+                                </onentry>
 
-                    <state id="process_execute">
-                        <onentry>
-                            <script>
-                                raise NotImplementedException()
-                            </script>
-                        </onentry>
+                                <transition cond="self.expect_response('Success', pop=True)" target="../executing"/>
+                            </state>
+
+                            <state id="executing">
+                                <transition cond="self.expect_response_partial('Enacting ModelTransformation', pop=False)" target="../enacting/sc"/>
+                                <transition cond="self.expect_response_partial('Enacting ActionLanguage', pop=False)" target="../enacting/sc"/>
+                                <transition cond="self.expect_response_partial('Enacting ManualOperation', pop=False)" target="../enacting/op"/>
+
+                                <transition cond="self.expect_response('Success', pop=True)" target="../../../../wait_for_action/megamodelling">
+                                    <raise event="result">
+                                        <parameter expr="'Finished'"/>
+                                    </raise>
+                                </transition>
+                            </state>
+
+                            <state id="enacting" initial="sc">
+                                <state id="sc" initial="init">
+                                    <state id="init">
+                                        <transition target="../processing">
+                                            <script>
+                                                self.input_context = str(uuid.uuid4())
+                                                self.inputs[self.input_context] = []
+                                            </script>
+
+                                            <raise event="result">
+                                                <parameter expr="['SC', self.responses.pop(0).split(': ', 1)[1], self.input_context]"/>
+                                            </raise>
+                                        </transition>
+                                    </state>
+
+                                    <state id="processing">
+                                        <transition cond="not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)" target=".">
+                                            <raise event="data_output">
+                                                <parameter expr="self.responses.pop(0)"/>
+                                            </raise>
+                                        </transition>
+
+                                        <transition cond="self.expect_input(self.input_context, 'data_input')" target=".">
+                                            <raise event="request">
+                                                <parameter expr="self.inputs[self.input_context].pop(0)['parameters']"/>
+                                            </raise>
+                                        </transition>
+                                    </state>
+                                </state>
+
+                                <state id="op" initial="init">
+                                    <state id="init">
+                                        <transition target="../processing">
+                                            <script>
+                                                self.context = str(uuid.uuid4())
+                                                self.actions[self.context] = []
+                                            </script>
+
+                                            <raise event="result">
+                                                <parameter expr="['OP', self.responses.pop(0).split(': ', 1)[1], self.context]"/>
+                                            </raise>
+                                        </transition>
+                                    </state>
+
+                                    <state id="processing">
+                                        <transition cond="self.expect_response_partial('Please perform manual operation ', pop=True)" target="."/>
+                                        <transition cond="self.expect_response('Model loaded, ready for commands!')" target="../../../../../../going_scripted"/>
+                                    </state>
+                                </state>
+
+                                <transition cond="self.expect_response('Success', pop=True)" target="../executing"/>
+                                <transition cond="self.expect_response('Failure', pop=True)" target="../executing"/>
+                            </state>
+                        </state>
+
+                        <history id="history" type="deep"/>
                     </state>
 
                     <state id="permission_modify">
@@ -1382,13 +1452,11 @@
                             </script>
                         </transition>
 
-                        <!--
-                        <transition cond="self.expect_action(None, 'process_execute')" target="../../operations/process_execute">
+                        <transition cond="self.expect_action(None, 'process_execute')" target="../../operations/store_on_scripted/process_execute">
                             <script>
                                 self.load_action(None)
                             </script>
                         </transition>
-                        -->
 
                         <transition cond="self.expect_action(None, 'permission_modify')" target="../../operations/permission_modify">
                             <script>
@@ -1462,14 +1530,6 @@
                             </script>
                         </transition>
 
-                        <!--
-                        <transition cond="self.expect_action(None, 'service_register')" target="../../operations/service_register">
-                            <script>
-                                self.load_action(None)
-                            </script>
-                        </transition>
-                        -->
-
                         <transition cond="self.expect_action(None, 'conformance_delete')" target="../../operations/conformance_delete">
                             <script>
                                 self.load_action(None)

+ 43 - 7
wrappers/modelverse.py

@@ -375,7 +375,7 @@ def all_instances(model_name, type_name, context=None):
     INPUT("all_instances", context, [model_name, type_name])
     return OUTPUT()
 
-def process_execute(process_name, model_mappings, callbacks=None):
+def process_execute(process_name, prefix, callbacks=None):
     # for all callbacks to SCs, start up the output port already
     sc_ports = {}
 
@@ -384,19 +384,55 @@ def process_execute(process_name, model_mappings, callbacks=None):
             # Is a statechart, so register already
             sc_ports[k] = v[0].addOutputListener(v[2])
 
-    INPUT("process_execute", context, [process_name, model_mappings])
+    INPUT("process_execute", None, [process_name, prefix])
 
     #TODO this is all pseudo-code
     while 1:
         operation = OUTPUT()
-        if operation == "Finished":
-            # Finished execution of the process, so exit
+        print("Operation: " + str(operation))
+        if isinstance(operation, (list, tuple)):
+            t, name, context = operation
+            print("Executing operation of type %s with name %s in context %s" % (t, name, context))
+            if t == "OP":
+                if name in callbacks:
+                    callbacks[name](context)
+                INPUT("exit", context, [])
+            elif t == "SC":
+                if name in callbacks:
+                    statechart = callbacks[name]
+                    while 1:
+                        empty = True
+
+                        # Fetch output from the MV
+                        response = responses.fetch(0)
+                        if response is not None:
+                            print("Got response from MV: " + str(response))
+                            if response.name == "data_output":
+                                # Got output of MV, so forward to SCCD
+                                statechart[0].addInput(Event("input", statechart[1], response.parameters))
+                            elif response.name == "result":
+                                # Finished execution, so continue and return result
+                                statechart[0].addInput(Event("terminate", statechart[1], []))
+                                return response.parameters[1]
+                            empty = False
+
+                        # Fetch output from the SC
+                        response = sc_ports[name].fetch(0)
+                        if response is not None:
+                            print("Got response from SC: " + str(response))
+                            if response.name == "output":
+                                controller.addInput(Event("data_input", "action_in", [response.parameters, context]))
+                            empty = False
+
+                        if empty:
+                            time.sleep(0.01)
+        else:
+            if operation == "Finished":
+                # Finished execution of the process, so exit
+                return None
         
-        context = OUTPUT()
-
         # TODO monitor the new function and execute the correct callback
 
-
 import threading
 thrd = threading.Thread(target=run_controller)
 thrd.daemon = True

+ 265 - 93
wrappers/modelverse_SCCD.py

@@ -1,7 +1,7 @@
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
-Date:   Tue Sep  5 16:28:07 2017
+Date:   Wed Sep  6 09:54:14 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
@@ -311,201 +311,228 @@ class Modelverse(RuntimeClassBase):
         # state /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"] = State(53, "/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model", 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)
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"] = State(54, "/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(55, "/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(56, "/initialized/behaviour/operations/store_on_scripted/process_execute/executing", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"] = State(57, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"] = State(58, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"] = State(59, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"] = State(60, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"] = State(61, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init"] = State(62, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init", self)
+        
+        # state /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"] = State(63, "/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing", self)
         
-        # state /initialized/behaviour/operations/process_execute
-        self.states["/initialized/behaviour/operations/process_execute"] = State(55, "/initialized/behaviour/operations/process_execute", self)
-        self.states["/initialized/behaviour/operations/process_execute"].setEnter(self._initialized_behaviour_operations_process_execute_enter)
+        # state /initialized/behaviour/operations/store_on_scripted/history
+        self.states["/initialized/behaviour/operations/store_on_scripted/history"] = DeepHistoryState(64, "/initialized/behaviour/operations/store_on_scripted/history", self)
         
         # state /initialized/behaviour/operations/permission_modify
-        self.states["/initialized/behaviour/operations/permission_modify"] = State(56, "/initialized/behaviour/operations/permission_modify", self)
+        self.states["/initialized/behaviour/operations/permission_modify"] = State(65, "/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(57, "/initialized/behaviour/operations/permission_owner", self)
+        self.states["/initialized/behaviour/operations/permission_owner"] = State(66, "/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(58, "/initialized/behaviour/operations/permission_group", self)
+        self.states["/initialized/behaviour/operations/permission_group"] = State(67, "/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(59, "/initialized/behaviour/operations/group_create", self)
+        self.states["/initialized/behaviour/operations/group_create"] = State(68, "/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(60, "/initialized/behaviour/operations/group_delete", self)
+        self.states["/initialized/behaviour/operations/group_delete"] = State(69, "/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(61, "/initialized/behaviour/operations/group_owner_add", self)
+        self.states["/initialized/behaviour/operations/group_owner_add"] = State(70, "/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(62, "/initialized/behaviour/operations/group_owner_delete", self)
+        self.states["/initialized/behaviour/operations/group_owner_delete"] = State(71, "/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(63, "/initialized/behaviour/operations/group_join", self)
+        self.states["/initialized/behaviour/operations/group_join"] = State(72, "/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(64, "/initialized/behaviour/operations/group_kick", self)
+        self.states["/initialized/behaviour/operations/group_kick"] = State(73, "/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(65, "/initialized/behaviour/operations/group_list", self)
+        self.states["/initialized/behaviour/operations/group_list"] = State(74, "/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(66, "/initialized/behaviour/operations/admin_promote", self)
+        self.states["/initialized/behaviour/operations/admin_promote"] = State(75, "/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(67, "/initialized/behaviour/operations/admin_demote", self)
+        self.states["/initialized/behaviour/operations/admin_demote"] = State(76, "/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(68, "/initialized/behaviour/operations/conformance_delete", self)
+        self.states["/initialized/behaviour/operations/conformance_delete"] = State(77, "/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(69, "/initialized/behaviour/operations/conformance_add", self)
+        self.states["/initialized/behaviour/operations/conformance_add"] = State(78, "/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(70, "/initialized/behaviour/operations/folder_create", self)
+        self.states["/initialized/behaviour/operations/folder_create"] = State(79, "/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(71, "/initialized/behaviour/operations/model_types", self)
+        self.states["/initialized/behaviour/operations/model_types"] = State(80, "/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(72, "/initialized/behaviour/operations/element_list", self)
+        self.states["/initialized/behaviour/operations/element_list"] = State(81, "/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(73, "/initialized/behaviour/operations/element_list_nice", self)
+        self.states["/initialized/behaviour/operations/element_list_nice"] = State(82, "/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(74, "/initialized/behaviour/operations/types", self)
+        self.states["/initialized/behaviour/operations/types"] = State(83, "/initialized/behaviour/operations/types", self)
         self.states["/initialized/behaviour/operations/types"].setEnter(self._initialized_behaviour_operations_types_enter)
         
         # state /initialized/behaviour/operations/types_full
-        self.states["/initialized/behaviour/operations/types_full"] = State(75, "/initialized/behaviour/operations/types_full", self)
+        self.states["/initialized/behaviour/operations/types_full"] = State(84, "/initialized/behaviour/operations/types_full", self)
         self.states["/initialized/behaviour/operations/types_full"].setEnter(self._initialized_behaviour_operations_types_full_enter)
         
         # state /initialized/behaviour/operations/read_info
-        self.states["/initialized/behaviour/operations/read_info"] = State(76, "/initialized/behaviour/operations/read_info", self)
+        self.states["/initialized/behaviour/operations/read_info"] = State(85, "/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(77, "/initialized/behaviour/operations/read_attrs", self)
+        self.states["/initialized/behaviour/operations/read_attrs"] = State(86, "/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/instantiate
-        self.states["/initialized/behaviour/operations/instantiate"] = State(78, "/initialized/behaviour/operations/instantiate", self)
+        self.states["/initialized/behaviour/operations/instantiate"] = State(87, "/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(79, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
+        self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"] = State(88, "/initialized/behaviour/operations/instantiate/decide_node_or_edge", self)
         
         # state /initialized/behaviour/operations/instantiate/created
-        self.states["/initialized/behaviour/operations/instantiate/created"] = State(80, "/initialized/behaviour/operations/instantiate/created", self)
+        self.states["/initialized/behaviour/operations/instantiate/created"] = State(89, "/initialized/behaviour/operations/instantiate/created", self)
         
         # state /initialized/behaviour/operations/delete_element
-        self.states["/initialized/behaviour/operations/delete_element"] = State(81, "/initialized/behaviour/operations/delete_element", self)
+        self.states["/initialized/behaviour/operations/delete_element"] = State(90, "/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(82, "/initialized/behaviour/operations/attr_assign", self)
+        self.states["/initialized/behaviour/operations/attr_assign"] = State(91, "/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(83, "/initialized/behaviour/operations/attr_assign_code", self)
+        self.states["/initialized/behaviour/operations/attr_assign_code"] = State(92, "/initialized/behaviour/operations/attr_assign_code", self)
         self.states["/initialized/behaviour/operations/attr_assign_code"].setEnter(self._initialized_behaviour_operations_attr_assign_code_enter)
         
         # state /initialized/behaviour/operations/attr_delete
-        self.states["/initialized/behaviour/operations/attr_delete"] = State(84, "/initialized/behaviour/operations/attr_delete", self)
+        self.states["/initialized/behaviour/operations/attr_delete"] = State(93, "/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/read_outgoing
-        self.states["/initialized/behaviour/operations/read_outgoing"] = State(85, "/initialized/behaviour/operations/read_outgoing", self)
+        self.states["/initialized/behaviour/operations/read_outgoing"] = State(94, "/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(86, "/initialized/behaviour/operations/read_incoming", self)
+        self.states["/initialized/behaviour/operations/read_incoming"] = State(95, "/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(87, "/initialized/behaviour/operations/read_association_source", self)
+        self.states["/initialized/behaviour/operations/read_association_source"] = State(96, "/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(88, "/initialized/behaviour/operations/read_association_destination", self)
+        self.states["/initialized/behaviour/operations/read_association_destination"] = State(97, "/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(89, "/initialized/behaviour/operations/connections_between", self)
+        self.states["/initialized/behaviour/operations/connections_between"] = State(98, "/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(90, "/initialized/behaviour/operations/define_attribute", self)
+        self.states["/initialized/behaviour/operations/define_attribute"] = State(99, "/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/all_instances
-        self.states["/initialized/behaviour/operations/all_instances"] = State(91, "/initialized/behaviour/operations/all_instances", self)
+        self.states["/initialized/behaviour/operations/all_instances"] = State(100, "/initialized/behaviour/operations/all_instances", self)
         self.states["/initialized/behaviour/operations/all_instances"].setEnter(self._initialized_behaviour_operations_all_instances_enter)
         
         # state /initialized/behaviour/wait_for_action
-        self.states["/initialized/behaviour/wait_for_action"] = State(92, "/initialized/behaviour/wait_for_action", self)
+        self.states["/initialized/behaviour/wait_for_action"] = State(101, "/initialized/behaviour/wait_for_action", self)
         
         # state /initialized/behaviour/wait_for_action/disconnected
-        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(93, "/initialized/behaviour/wait_for_action/disconnected", self)
+        self.states["/initialized/behaviour/wait_for_action/disconnected"] = State(102, "/initialized/behaviour/wait_for_action/disconnected", self)
         
         # state /initialized/behaviour/wait_for_action/connected
-        self.states["/initialized/behaviour/wait_for_action/connected"] = State(94, "/initialized/behaviour/wait_for_action/connected", self)
+        self.states["/initialized/behaviour/wait_for_action/connected"] = State(103, "/initialized/behaviour/wait_for_action/connected", self)
         
         # state /initialized/behaviour/wait_for_action/megamodelling
-        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(95, "/initialized/behaviour/wait_for_action/megamodelling", self)
+        self.states["/initialized/behaviour/wait_for_action/megamodelling"] = State(104, "/initialized/behaviour/wait_for_action/megamodelling", self)
         
         # state /initialized/behaviour/wait_for_action/modelling
-        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(96, "/initialized/behaviour/wait_for_action/modelling", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling"] = State(105, "/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(97, "/initialized/behaviour/wait_for_action/modelling/recognized", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized"] = State(106, "/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(98, "/initialized/behaviour/wait_for_action/modelling/recognized/manual", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"] = State(107, "/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(99, "/initialized/behaviour/wait_for_action/modelling/recognized/scripted", self)
+        self.states["/initialized/behaviour/wait_for_action/modelling/recognized/scripted"] = State(108, "/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(100, "/initialized/behaviour/wait_for_action/finished", self)
+        self.states["/initialized/behaviour/wait_for_action/finished"] = State(109, "/initialized/behaviour/wait_for_action/finished", self)
         
         # state /initialized/behaviour/wait_for_action/history
-        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(101, "/initialized/behaviour/wait_for_action/history", self)
+        self.states["/initialized/behaviour/wait_for_action/history"] = DeepHistoryState(110, "/initialized/behaviour/wait_for_action/history", self)
         
         # state /initialized/behaviour/going_manual
-        self.states["/initialized/behaviour/going_manual"] = State(102, "/initialized/behaviour/going_manual", self)
+        self.states["/initialized/behaviour/going_manual"] = State(111, "/initialized/behaviour/going_manual", self)
         self.states["/initialized/behaviour/going_manual"].setEnter(self._initialized_behaviour_going_manual_enter)
         
         # state /initialized/behaviour/going_scripted
-        self.states["/initialized/behaviour/going_scripted"] = State(103, "/initialized/behaviour/going_scripted", self)
+        self.states["/initialized/behaviour/going_scripted"] = State(112, "/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(104, "/initialized/behaviour/leaving_manual", self)
+        self.states["/initialized/behaviour/leaving_manual"] = State(113, "/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(105, "/initialized/queue", self)
+        self.states["/initialized/queue"] = State(114, "/initialized/queue", self)
         
         # state /initialized/queue/queue
-        self.states["/initialized/queue/queue"] = State(106, "/initialized/queue/queue", self)
+        self.states["/initialized/queue/queue"] = State(115, "/initialized/queue/queue", self)
         
         # add children
         self.states[""].addChild(self.states["/init"])
@@ -543,7 +570,6 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/model_render"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/transformation_between"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted"])
-        self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/process_execute"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/permission_modify"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/permission_owner"])
         self.states["/initialized/behaviour/operations"].addChild(self.states["/initialized/behaviour/operations/permission_group"])
@@ -587,6 +613,7 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_AL"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MT"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"])
+        self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"])
         self.states["/initialized/behaviour/operations/store_on_scripted"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/history"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT/send_metadata"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT/edit_metamodel"])
@@ -602,6 +629,15 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MT"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MT/dialog"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"])
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init"])
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"].addChild(self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"])
         self.states["/initialized/behaviour/operations/instantiate"].addChild(self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"])
         self.states["/initialized/behaviour/operations/instantiate"].addChild(self.states["/initialized/behaviour/operations/instantiate/created"])
         self.states["/initialized/behaviour/wait_for_action"].addChild(self.states["/initialized/behaviour/wait_for_action/disconnected"])
@@ -630,6 +666,10 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_AL"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_AL/send_operation"]
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MT"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MT/send_operation"]
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"]
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"]
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"]
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"]
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"].default_state = self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init"]
         self.states["/initialized/behaviour/operations/instantiate"].default_state = self.states["/initialized/behaviour/operations/instantiate/decide_node_or_edge"]
         self.states["/initialized/behaviour/wait_for_action"].default_state = self.states["/initialized/behaviour/wait_for_action/disconnected"]
         self.states["/initialized/behaviour/wait_for_action/modelling"].default_state = self.states["/initialized/behaviour/wait_for_action/modelling/recognized"]
@@ -954,6 +994,65 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2)
         
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/init
+        _initialized_behaviour_operations_store_on_scripted_process_execute_init_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_init_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_init_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_init_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/init"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_init_0)
+        
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/executing
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_executing_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_executing_0)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_executing_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_executing_1)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_2 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_2.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_executing_2_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_executing_2)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3.setAction(self._initialized_behaviour_operations_store_on_scripted_process_execute_executing_3_exec)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_executing_3_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_executing_3)
+        
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0.setAction(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0_exec)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0.setTrigger(None)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/init"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0)
+        
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0.setAction(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0_exec)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1.setAction(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1_exec)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/sc/processing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1)
+        
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0.setAction(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0_exec)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0.setTrigger(None)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/init"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0)
+        
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"], [self.states["/initialized/behaviour/going_scripted"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting/op/processing"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1)
+        
         # transition /initialized/behaviour/operations/permission_modify
         _initialized_behaviour_operations_permission_modify_0 = Transition(self, self.states["/initialized/behaviour/operations/permission_modify"], [self.states["/initialized/behaviour/wait_for_action/history"]])
         _initialized_behaviour_operations_permission_modify_0.setAction(self._initialized_behaviour_operations_permission_modify_0_exec)
@@ -1309,90 +1408,95 @@ class Modelverse(RuntimeClassBase):
         _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/permission_modify"]])
+        _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/process_execute"]])
         _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)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_18)
-        _initialized_behaviour_wait_for_action_megamodelling_19 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_owner"]])
+        _initialized_behaviour_wait_for_action_megamodelling_19 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_modify"]])
         _initialized_behaviour_wait_for_action_megamodelling_19.setAction(self._initialized_behaviour_wait_for_action_megamodelling_19_exec)
         _initialized_behaviour_wait_for_action_megamodelling_19.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_19.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_19_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_19)
-        _initialized_behaviour_wait_for_action_megamodelling_20 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_group"]])
+        _initialized_behaviour_wait_for_action_megamodelling_20 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_owner"]])
         _initialized_behaviour_wait_for_action_megamodelling_20.setAction(self._initialized_behaviour_wait_for_action_megamodelling_20_exec)
         _initialized_behaviour_wait_for_action_megamodelling_20.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_20.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_20_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_20)
-        _initialized_behaviour_wait_for_action_megamodelling_21 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_21 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/permission_group"]])
         _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/group_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_22 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_create"]])
         _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/group_owner_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_23 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_delete"]])
         _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/group_owner_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_24 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_add"]])
         _initialized_behaviour_wait_for_action_megamodelling_24.setAction(self._initialized_behaviour_wait_for_action_megamodelling_24_exec)
         _initialized_behaviour_wait_for_action_megamodelling_24.setTrigger(None)
         _initialized_behaviour_wait_for_action_megamodelling_24.setGuard(self._initialized_behaviour_wait_for_action_megamodelling_24_guard)
         self.states["/initialized/behaviour/wait_for_action/megamodelling"].addTransition(_initialized_behaviour_wait_for_action_megamodelling_24)
-        _initialized_behaviour_wait_for_action_megamodelling_25 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_join"]])
+        _initialized_behaviour_wait_for_action_megamodelling_25 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_owner_delete"]])
         _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_kick"]])
+        _initialized_behaviour_wait_for_action_megamodelling_26 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_join"]])
         _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_list"]])
+        _initialized_behaviour_wait_for_action_megamodelling_27 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_kick"]])
         _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/admin_promote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_28 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/group_list"]])
         _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/admin_demote"]])
+        _initialized_behaviour_wait_for_action_megamodelling_29 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_promote"]])
         _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/conformance_delete"]])
+        _initialized_behaviour_wait_for_action_megamodelling_30 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/admin_demote"]])
         _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/conformance_add"]])
+        _initialized_behaviour_wait_for_action_megamodelling_31 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_delete"]])
         _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/folder_create"]])
+        _initialized_behaviour_wait_for_action_megamodelling_32 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/conformance_add"]])
         _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/model_types"]])
+        _initialized_behaviour_wait_for_action_megamodelling_33 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/folder_create"]])
         _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/going_manual"]])
+        _initialized_behaviour_wait_for_action_megamodelling_34 = Transition(self, self.states["/initialized/behaviour/wait_for_action/megamodelling"], [self.states["/initialized/behaviour/operations/model_types"]])
+        _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/going_manual"]])
+        _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)
         
         # transition /initialized/behaviour/wait_for_action/modelling/recognized/manual
         _initialized_behaviour_wait_for_action_modelling_recognized_manual_0 = Transition(self, self.states["/initialized/behaviour/wait_for_action/modelling/recognized/manual"], [self.states["/initialized/behaviour/leaving_manual"]])
@@ -1475,6 +1579,16 @@ class Modelverse(RuntimeClassBase):
         _initialized_behaviour_operations_store_on_scripted_transformation_add_MT_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_add_MT_0_guard)
         self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_MT"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_add_MT_0)
         
+        # transition /initialized/behaviour/operations/store_on_scripted/process_execute/enacting
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"], [self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/executing"]])
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1.setTrigger(None)
+        _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1_guard)
+        self.states["/initialized/behaviour/operations/store_on_scripted/process_execute/enacting"].addTransition(_initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1)
+        
         # transition /initialized/behaviour/wait_for_action
         _initialized_behaviour_wait_for_action_0 = Transition(self, self.states["/initialized/behaviour/wait_for_action"], [self.states["/initialized/behaviour/wait_for_action/history"]])
         _initialized_behaviour_wait_for_action_0.setAction(self._initialized_behaviour_wait_for_action_0_exec)
@@ -1675,8 +1789,8 @@ class Modelverse(RuntimeClassBase):
         self.actions[self.context] = []
         self.raiseInternalEvent(Event("result", None, [self.context]))
     
-    def _initialized_behaviour_operations_process_execute_enter(self):
-        raise NotImplementedException()
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_init_enter(self):
+        self.raiseInternalEvent(Event("request", None, [['process_execute', self.parameters[0], self.parameters[1]]]))
     
     def _initialized_behaviour_operations_permission_modify_enter(self):
         self.raiseInternalEvent(Event("request", None, [['permission_modify', self.parameters[0], self.parameters[1]]]))
@@ -1809,6 +1923,12 @@ class Modelverse(RuntimeClassBase):
     def _initialized_behaviour_operations_store_on_scripted_transformation_add_MT_0_guard(self, parameters):
         return self.expect_response_partial('', pop=False)
     
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0_guard(self, parameters):
+        return self.expect_response('Success', pop=True)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_1_guard(self, parameters):
+        return self.expect_response('Failure', pop=True)
+    
     def _initialized_behaviour_wait_for_action_0_exec(self, parameters):
         print("Got unknown operation: " + str(self.actions[None].pop(0)))
         self.raiseInternalEvent(Event("exception", None, ['UnknownOperation', 'Operation is unknown']))
@@ -2209,6 +2329,52 @@ class Modelverse(RuntimeClassBase):
     def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard(self, parameters):
         return self.expect_response('Success')
     
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_init_0_guard(self, parameters):
+        return self.expect_response('Success', pop=True)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_executing_0_guard(self, parameters):
+        return self.expect_response_partial('Enacting ModelTransformation', pop=False)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_executing_1_guard(self, parameters):
+        return self.expect_response_partial('Enacting ActionLanguage', pop=False)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_executing_2_guard(self, parameters):
+        return self.expect_response_partial('Enacting ManualOperation', pop=False)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3_exec(self, parameters):
+        self.raiseInternalEvent(Event("result", None, ['Finished']))
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_executing_3_guard(self, parameters):
+        return self.expect_response('Success', pop=True)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_init_0_exec(self, parameters):
+        self.input_context = str(uuid.uuid4())
+        self.inputs[self.input_context] = []
+        self.raiseInternalEvent(Event("result", None, [['SC', self.responses.pop(0).split(': ', 1)[1], self.input_context]]))
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0_exec(self, parameters):
+        self.raiseInternalEvent(Event("data_output", None, [self.responses.pop(0)]))
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_0_guard(self, parameters):
+        return not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1_exec(self, parameters):
+        self.raiseInternalEvent(Event("request", None, [self.inputs[self.input_context].pop(0)['parameters']]))
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_sc_processing_1_guard(self, parameters):
+        return self.expect_input(self.input_context, 'data_input')
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_init_0_exec(self, parameters):
+        self.context = str(uuid.uuid4())
+        self.actions[self.context] = []
+        self.raiseInternalEvent(Event("result", None, [['OP', self.responses.pop(0).split(': ', 1)[1], self.context]]))
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_0_guard(self, parameters):
+        return self.expect_response_partial('Please perform manual operation ', pop=True)
+    
+    def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_op_processing_1_guard(self, parameters):
+        return self.expect_response('Model loaded, ready for commands!')
+    
     def _initialized_behaviour_operations_permission_modify_0_exec(self, parameters):
         self.raiseInternalEvent(Event("result", None, [self.responses.pop(0)]))
     
@@ -2562,99 +2728,105 @@ class Modelverse(RuntimeClassBase):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_18_guard(self, parameters):
-        return self.expect_action(None, 'permission_modify')
+        return self.expect_action(None, 'process_execute')
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_19_guard(self, parameters):
-        return self.expect_action(None, 'permission_owner')
+        return self.expect_action(None, 'permission_modify')
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_20_guard(self, parameters):
-        return self.expect_action(None, 'permission_group')
+        return self.expect_action(None, 'permission_owner')
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_21_guard(self, parameters):
-        return self.expect_action(None, 'group_create')
+        return self.expect_action(None, 'permission_group')
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_22_guard(self, parameters):
-        return self.expect_action(None, 'group_delete')
+        return self.expect_action(None, 'group_create')
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_23_guard(self, parameters):
-        return self.expect_action(None, 'group_owner_add')
+        return self.expect_action(None, 'group_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_24_guard(self, parameters):
-        return self.expect_action(None, 'group_owner_delete')
+        return self.expect_action(None, 'group_owner_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_25_guard(self, parameters):
-        return self.expect_action(None, 'group_join')
+        return self.expect_action(None, 'group_owner_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_26_guard(self, parameters):
-        return self.expect_action(None, 'group_kick')
+        return self.expect_action(None, 'group_join')
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_27_guard(self, parameters):
-        return self.expect_action(None, 'group_list')
+        return self.expect_action(None, 'group_kick')
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_28_guard(self, parameters):
-        return self.expect_action(None, 'admin_promote')
+        return self.expect_action(None, 'group_list')
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_29_guard(self, parameters):
-        return self.expect_action(None, 'admin_demote')
+        return self.expect_action(None, 'admin_promote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_30_guard(self, parameters):
-        return self.expect_action(None, 'conformance_delete')
+        return self.expect_action(None, 'admin_demote')
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_31_guard(self, parameters):
-        return self.expect_action(None, 'conformance_add')
+        return self.expect_action(None, 'conformance_delete')
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_32_guard(self, parameters):
-        return self.expect_action(None, 'folder_create')
+        return self.expect_action(None, 'conformance_add')
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_exec(self, parameters):
         self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_33_guard(self, parameters):
-        return self.expect_action(None, 'model_types')
+        return self.expect_action(None, 'folder_create')
+    
+    def _initialized_behaviour_wait_for_action_megamodelling_34_exec(self, parameters):
+        self.load_action(None)
     
     def _initialized_behaviour_wait_for_action_megamodelling_34_guard(self, parameters):
+        return self.expect_action(None, 'model_types')
+    
+    def _initialized_behaviour_wait_for_action_megamodelling_35_guard(self, parameters):
         return self.expect_action(None, ['element_list', 'element_list_nice', 'types', 'types_full', 'read_info', 'read_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', 'all_instances'])
     
     def _initialized_behaviour_wait_for_action_modelling_recognized_manual_0_guard(self, parameters):