|
@@ -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 15:10:46 2017
|
|
|
+Date: Tue Sep 5 16:28:07 2017
|
|
|
|
|
|
Model author: Yentl Van Tendeloo
|
|
|
Model name: MvK Server
|
|
@@ -43,6 +43,7 @@ class Modelverse(RuntimeClassBase):
|
|
|
self.http_clients = []
|
|
|
self.context = None
|
|
|
self.registered_metamodel = {}
|
|
|
+ self.inputs = {}
|
|
|
|
|
|
def user_defined_destructor(self):
|
|
|
pass
|
|
@@ -111,6 +112,17 @@ class Modelverse(RuntimeClassBase):
|
|
|
return self.actions[context] and self.actions[context][0]["name"] == expected
|
|
|
|
|
|
|
|
|
+ # user defined method
|
|
|
+ def expect_input(self, context, expected):
|
|
|
+ #print("Expected action: " + str(expected))
|
|
|
+ #print("Context: " + str(context))
|
|
|
+ #print("Actions: " + str(self.actions[context]))
|
|
|
+ if isinstance(expected, list):
|
|
|
+ return self.inputs[context] and self.inputs[context][0]["name"] in expected
|
|
|
+ else:
|
|
|
+ return self.inputs[context] and self.inputs[context][0]["name"] == expected
|
|
|
+
|
|
|
+
|
|
|
# builds Statechart structure
|
|
|
def build_statechart_structure(self):
|
|
|
|
|
@@ -928,15 +940,19 @@ class Modelverse(RuntimeClassBase):
|
|
|
self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/send_metadata"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0)
|
|
|
|
|
|
# transition /initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/going_scripted"]])
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"]])
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0.setTrigger(None)
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0_guard)
|
|
|
self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0)
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_exec)
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/going_scripted"]])
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setTrigger(None)
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_guard)
|
|
|
self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1)
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setAction(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_exec)
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setTrigger(None)
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard)
|
|
|
+ self.states["/initialized/behaviour/operations/store_on_scripted/transformation_execute_MANUAL/edit_model"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2)
|
|
|
|
|
|
# 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"]])
|
|
@@ -1429,12 +1445,16 @@ class Modelverse(RuntimeClassBase):
|
|
|
self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_1)
|
|
|
_initialized_queue_queue_2 = Transition(self, self.states["/initialized/queue/queue"], [self.states["/initialized/queue/queue"]])
|
|
|
_initialized_queue_queue_2.setAction(self._initialized_queue_queue_2_exec)
|
|
|
- _initialized_queue_queue_2.setTrigger(Event("exception", None))
|
|
|
+ _initialized_queue_queue_2.setTrigger(Event("data_output", None))
|
|
|
self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_2)
|
|
|
_initialized_queue_queue_3 = Transition(self, self.states["/initialized/queue/queue"], [self.states["/initialized/queue/queue"]])
|
|
|
_initialized_queue_queue_3.setAction(self._initialized_queue_queue_3_exec)
|
|
|
- _initialized_queue_queue_3.setTrigger(Event("input", "input_in"))
|
|
|
+ _initialized_queue_queue_3.setTrigger(Event("exception", None))
|
|
|
self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_3)
|
|
|
+ _initialized_queue_queue_4 = Transition(self, self.states["/initialized/queue/queue"], [self.states["/initialized/queue/queue"]])
|
|
|
+ _initialized_queue_queue_4.setAction(self._initialized_queue_queue_4_exec)
|
|
|
+ _initialized_queue_queue_4.setTrigger(Event("data_input", "action_in"))
|
|
|
+ self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_4)
|
|
|
|
|
|
# transition /initialized/behaviour/operations
|
|
|
_initialized_behaviour_operations_0 = Transition(self, self.states["/initialized/behaviour/operations"], [self.states["/initialized/behaviour/wait_for_action/history"]])
|
|
@@ -1728,10 +1748,10 @@ class Modelverse(RuntimeClassBase):
|
|
|
self.raiseInternalEvent(Event("request", None, [['delete_element', self.parameters[1]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_attr_assign_enter(self):
|
|
|
- self.raiseInternalEvent(Event("request", None, [['attr_assign', self.parameters[1], self.parameters[2], self.parameters[3]]]))
|
|
|
+ self.raiseInternalEvent(Event("request", None, [['attr_add', self.parameters[1], self.parameters[2], self.parameters[3]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_attr_assign_code_enter(self):
|
|
|
- self.raiseInternalEvent(Event("request", None, [['attr_assign_code', self.parameters[1], self.parameters[2], self.parameters[3]]]))
|
|
|
+ self.raiseInternalEvent(Event("request", None, [['attr_add_code', self.parameters[1], self.parameters[2], self.parameters[3]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_attr_delete_enter(self):
|
|
|
self.raiseInternalEvent(Event("request", None, [['attr_delete', self.parameters[1], self.parameters[2]]]))
|
|
@@ -2123,67 +2143,70 @@ class Modelverse(RuntimeClassBase):
|
|
|
return self.expect_response('Success')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_send_operation_0_exec(self, parameters):
|
|
|
- self.context = str(uuid.uuid4())
|
|
|
- self.actions[self.context] = []
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.context]))
|
|
|
+ self.input_context = str(uuid.uuid4())
|
|
|
+ self.inputs[self.input_context] = []
|
|
|
+ self.raiseInternalEvent(Event("result", None, [self.input_context]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_send_operation_0_guard(self, parameters):
|
|
|
return self.expect_response('Success: ready for AL execution')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_0_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.responses.pop(0)]))
|
|
|
+ self.raiseInternalEvent(Event("result", None, [True if self.responses.pop(0) == 'Success' else False]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_0_guard(self, parameters):
|
|
|
return self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_1_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.responses.pop(0)]))
|
|
|
+ self.raiseInternalEvent(Event("data_output", None, [self.responses.pop(0)]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_1_guard(self, parameters):
|
|
|
return not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_2_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("request", None, [self.actions[self.context].pop(0)['parameters']]))
|
|
|
+ self.raiseInternalEvent(Event("request", None, [self.inputs[self.input_context].pop(0)['parameters']]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_AL_dialog_2_guard(self, parameters):
|
|
|
- return self.expect_action(self.context, 'data_input')
|
|
|
+ return self.expect_input(self.input_context, 'data_input')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_send_operation_0_exec(self, parameters):
|
|
|
- self.context = str(uuid.uuid4())
|
|
|
- self.actions[self.context] = []
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.context]))
|
|
|
+ self.input_context = str(uuid.uuid4())
|
|
|
+ self.inputs[self.input_context] = []
|
|
|
+ self.raiseInternalEvent(Event("result", None, [self.input_context]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_send_operation_0_guard(self, parameters):
|
|
|
return self.expect_response('Success: ready for MT execution')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_0_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.responses.pop(0)]))
|
|
|
+ self.raiseInternalEvent(Event("result", None, [True if self.responses.pop(0) == 'Success' else False]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_0_guard(self, parameters):
|
|
|
return self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_1_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("result", None, [self.responses.pop(0)]))
|
|
|
+ self.raiseInternalEvent(Event("data_output", None, [self.responses.pop(0)]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_1_guard(self, parameters):
|
|
|
return not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_2_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("request", None, [self.actions[self.context].pop(0)['parameters']]))
|
|
|
+ self.raiseInternalEvent(Event("request", None, [self.inputs[self.input_context].pop(0)['parameters']]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MT_dialog_2_guard(self, parameters):
|
|
|
- return self.expect_action(self.context, 'data_input')
|
|
|
+ return self.expect_input(self.input_context, 'data_input')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_send_metadata_0_guard(self, parameters):
|
|
|
return self.expect_response('Success: ready for MANUAL execution')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_0_guard(self, parameters):
|
|
|
+ return self.expect_response_partial('Please perform manual operation ', pop=True)
|
|
|
+
|
|
|
+ def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_guard(self, parameters):
|
|
|
return self.expect_response('Model loaded, ready for commands!')
|
|
|
|
|
|
- def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_exec(self, parameters):
|
|
|
- self.raiseInternalEvent(Event("result", None, [None]))
|
|
|
+ def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_exec(self, parameters):
|
|
|
+ self.raiseInternalEvent(Event("result", None, [True]))
|
|
|
|
|
|
- def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_1_guard(self, parameters):
|
|
|
+ def _initialized_behaviour_operations_store_on_scripted_transformation_execute_MANUAL_edit_model_2_guard(self, parameters):
|
|
|
return self.expect_response('Success')
|
|
|
|
|
|
def _initialized_behaviour_operations_permission_modify_0_exec(self, parameters):
|
|
@@ -2678,9 +2701,13 @@ class Modelverse(RuntimeClassBase):
|
|
|
|
|
|
def _initialized_queue_queue_2_exec(self, parameters):
|
|
|
parameters = parameters[0]
|
|
|
- self.big_step.outputEvent(Event("exception", "action_out", [self.current_ID, parameters]))
|
|
|
+ self.big_step.outputEvent(Event("data_output", "action_out", [parameters]))
|
|
|
|
|
|
def _initialized_queue_queue_3_exec(self, parameters):
|
|
|
+ parameters = parameters[0]
|
|
|
+ self.big_step.outputEvent(Event("exception", "action_out", [self.current_ID, parameters]))
|
|
|
+
|
|
|
+ def _initialized_queue_queue_4_exec(self, parameters):
|
|
|
value = parameters[0]
|
|
|
context_ID = parameters[1]
|
|
|
self.inputs[context_ID].append(value)
|