|
|
@@ -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: Thu Nov 9 08:57:46 2017
|
|
|
+Date: Thu Nov 9 14:27:13 2017
|
|
|
|
|
|
Model author: Yentl Van Tendeloo
|
|
|
Model name: Modelverse Visual Editor - Tkinter Version
|
|
|
@@ -1502,10 +1502,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_0.setTrigger(None)
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_0_guard)
|
|
|
self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/edit_metamodel"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_0)
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/edit_metamodel"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/send_model"]])
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1.setTrigger(None)
|
|
|
- _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1_guard)
|
|
|
- self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/edit_metamodel"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1)
|
|
|
|
|
|
# transition /initialized/behaviour/operations/store_on_scripted/transformation_add_AL/send_model
|
|
|
_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_send_model_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/send_model"], [self.states["/initialized/behaviour/wait_for_action/megamodelling"]])
|
|
|
@@ -2288,6 +2284,12 @@ 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/transformation_add_AL
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_0 = Transition(self, self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL"], [self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL/send_model"]])
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_0.setTrigger(None)
|
|
|
+ _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_0.setGuard(self._initialized_behaviour_operations_store_on_scripted_transformation_add_AL_0_guard)
|
|
|
+ self.states["/initialized/behaviour/operations/store_on_scripted/transformation_add_AL"].addTransition(_initialized_behaviour_operations_store_on_scripted_transformation_add_AL_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)
|
|
|
@@ -2712,6 +2714,9 @@ 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_transformation_add_AL_0_guard(self, parameters):
|
|
|
+ return self.expect_response('Waiting for code constructors...')
|
|
|
+
|
|
|
def _initialized_behaviour_operations_store_on_scripted_process_execute_enacting_0_guard(self, parameters):
|
|
|
return self.expect_response('Success', pop=True)
|
|
|
|
|
|
@@ -2919,7 +2924,7 @@ class Modelverse(RuntimeClassBase):
|
|
|
data = parameters[0]
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.http_clients[1], Event("HTTP_input", None, [urllib.urlencode({"op": "get_output", "taskname": self.taskname}), "parent"])]))
|
|
|
self.responses.append(json.loads(data))
|
|
|
- #print("Got data: " + str(json.loads(data)))
|
|
|
+ print("Got data: " + str(json.loads(data)))
|
|
|
|
|
|
def _initialized_http_mapper_init_3_guard(self, parameters):
|
|
|
data = parameters[0]
|
|
|
@@ -3120,7 +3125,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
return self.expect_response_partial('Success: ', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_MT_send_metadata_0_exec(self, parameters):
|
|
|
- print("Operating on received")
|
|
|
self.raiseInternalEvent(Event("result", None, [[self.context, self.responses.pop(0).split(': ', 1)[1]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_MT_send_metadata_0_guard(self, parameters):
|
|
|
@@ -3139,7 +3143,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
return self.expect_response('Success')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_send_metadata_0_exec(self, parameters):
|
|
|
- print("Got model we are operating on!")
|
|
|
self.raiseInternalEvent(Event("result", None, [[self.context, self.responses.pop(0).split(': ', 1)[1]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_send_metadata_0_guard(self, parameters):
|
|
|
@@ -3148,9 +3151,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_0_guard(self, parameters):
|
|
|
return self.expect_response('Model loaded, ready for commands!')
|
|
|
|
|
|
- def _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_edit_metamodel_1_guard(self, parameters):
|
|
|
- return self.expect_response('Waiting for code constructors...')
|
|
|
-
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_AL_send_model_0_exec(self, parameters):
|
|
|
self.raiseInternalEvent(Event("result", None, [None]))
|
|
|
|
|
|
@@ -3158,7 +3158,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
return self.expect_response('Success')
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_MANUAL_send_metadata_0_exec(self, parameters):
|
|
|
- print("Operating on received")
|
|
|
self.raiseInternalEvent(Event("result", None, [[self.context, self.responses.pop(0).split(': ', 1)[1]]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_add_MANUAL_send_metadata_0_guard(self, parameters):
|
|
|
@@ -3183,7 +3182,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_exec(self, parameters):
|
|
|
self.input_context = str(uuid.uuid4())
|
|
|
self.inputs[self.input_context] = []
|
|
|
- print("Got context")
|
|
|
self.raiseInternalEvent(Event("result", None, [['SC', self.parameters[0], self.input_context]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_send_operation_1_guard(self, parameters):
|
|
|
@@ -3191,21 +3189,18 @@ class Modelverse(RuntimeClassBase):
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_0_exec(self, parameters):
|
|
|
self.raiseInternalEvent(Event("result", None, [True if self.responses.pop(0) == 'Success' else False]))
|
|
|
- print("GOT SUCCESS/FALSE")
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_0_guard(self, parameters):
|
|
|
return self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_1_exec(self, parameters):
|
|
|
self.raiseInternalEvent(Event("data_output", None, [self.responses.pop(0)]))
|
|
|
- print("Got data_output")
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_1_guard(self, parameters):
|
|
|
return not (self.expect_response('Success', pop=False) or self.expect_response('Failure', pop=False)) and self.expect_response_partial('', pop=False)
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2_exec(self, parameters):
|
|
|
self.raiseInternalEvent(Event("request", None, [self.inputs[self.input_context].pop(0)['parameters']]))
|
|
|
- print("Got data_input")
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_dialog_2_guard(self, parameters):
|
|
|
return self.expect_input(self.input_context, 'data_input')
|
|
|
@@ -3215,7 +3210,6 @@ class Modelverse(RuntimeClassBase):
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_exec(self, parameters):
|
|
|
model = self.responses.pop(0).split(": ", 1)[1]
|
|
|
- print("Operating on model " + str(model))
|
|
|
self.raiseInternalEvent(Event("result", None, [['OP', self.parameters[0], self.context, model]]))
|
|
|
|
|
|
def _initialized_behaviour_operations_store_on_scripted_transformation_execute_edit_model_1_guard(self, parameters):
|
|
|
@@ -10078,15 +10072,26 @@ class ActivityCreator(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
_ready_9.setGuard(self._ready_9_guard)
|
|
|
self.states["/ready"].addTransition(_ready_9)
|
|
|
_ready_10 = Transition(self, self.states["/ready"], [self.states["/creating"]])
|
|
|
+ _ready_10.setAction(self._ready_10_exec)
|
|
|
_ready_10.setTrigger(Event("button_pressed", None))
|
|
|
_ready_10.setGuard(self._ready_10_guard)
|
|
|
self.states["/ready"].addTransition(_ready_10)
|
|
|
+ _ready_11 = Transition(self, self.states["/ready"], [self.states["/creating"]])
|
|
|
+ _ready_11.setAction(self._ready_11_exec)
|
|
|
+ _ready_11.setTrigger(Event("button_pressed", None))
|
|
|
+ _ready_11.setGuard(self._ready_11_guard)
|
|
|
+ self.states["/ready"].addTransition(_ready_11)
|
|
|
|
|
|
# transition /creating
|
|
|
_creating_0 = Transition(self, self.states["/creating"], [self.states["/modifying_mm"]])
|
|
|
_creating_0.setAction(self._creating_0_exec)
|
|
|
_creating_0.setTrigger(Event("mv_response", None))
|
|
|
+ _creating_0.setGuard(self._creating_0_guard)
|
|
|
self.states["/creating"].addTransition(_creating_0)
|
|
|
+ _creating_1 = Transition(self, self.states["/creating"], [self.states["/closing"]])
|
|
|
+ _creating_1.setTrigger(Event("mv_response", None))
|
|
|
+ _creating_1.setGuard(self._creating_1_guard)
|
|
|
+ self.states["/creating"].addTransition(_creating_1)
|
|
|
|
|
|
# transition /modifying_mm
|
|
|
_modifying_mm_0 = Transition(self, self.states["/modifying_mm"], [self.states["/finish_transformation_add"]])
|
|
|
@@ -10216,7 +10221,7 @@ class ActivityCreator(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.big_step.outputEventOM(Event("create_instance", None, [self, 'input_MM_browse', 'Button', {'parent': self.output_frame, 'visual': TextVisual('+'), 'tooltip_text': 'Create new element in signature.', 'event_parameters': 'add_output'}]))
|
|
|
|
|
|
def _creating_enter(self):
|
|
|
- self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['transformation_add_%s' % ({'ManualOperation': 'MANUAL', 'ModelTransformation': 'MT', 'ActionLanguage': 'AL'}[self.activity_type]), [self.create_input_signature, self.create_output_signature, self.activity_name, '']])]))
|
|
|
+ self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['transformation_add_%s' % ({'ManualOperation': 'MANUAL', 'ModelTransformation': 'MT', 'ActionLanguage': 'AL'}[self.activity_type]), [self.create_input_signature, self.create_output_signature, self.activity_name, self.upload_code]])]))
|
|
|
|
|
|
def _modifying_mm_enter(self):
|
|
|
self.addTimer(0, 0.5)
|
|
|
@@ -10492,9 +10497,26 @@ class ActivityCreator(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
evt = parameters[0]
|
|
|
return evt.startswith('output_browse_')
|
|
|
|
|
|
+ def _ready_10_exec(self, parameters):
|
|
|
+ evt = parameters[0]
|
|
|
+ self.upload_code = ""
|
|
|
+
|
|
|
def _ready_10_guard(self, parameters):
|
|
|
evt = parameters[0]
|
|
|
- return evt == 'confirm'
|
|
|
+ return evt == 'confirm' and self.activity_type != 'ActionLanguage'
|
|
|
+
|
|
|
+ def _ready_11_exec(self, parameters):
|
|
|
+ evt = parameters[0]
|
|
|
+ from tkFileDialog import askopenfilename
|
|
|
+ self.upload_code = askopenfilename()
|
|
|
+ if self.upload_code is None:
|
|
|
+ self.upload_code = ""
|
|
|
+ else:
|
|
|
+ self.upload_code = open(self.upload_code, 'r').read()
|
|
|
+
|
|
|
+ def _ready_11_guard(self, parameters):
|
|
|
+ evt = parameters[0]
|
|
|
+ return evt == 'confirm' and self.activity_type == 'ActionLanguage'
|
|
|
|
|
|
def _creating_0_exec(self, parameters):
|
|
|
result = parameters[0]
|
|
|
@@ -10502,6 +10524,14 @@ class ActivityCreator(RuntimeClassBase, tk.Toplevel, SCCDWidget):
|
|
|
self.context = context
|
|
|
self.subprocess = subprocess.Popen([sys.executable, sys.argv[0], "--address", data['mv_address'], "--username", data['username'], "--password", data['password'], "--model", model_to_modify, "--limited"])
|
|
|
|
|
|
+ def _creating_0_guard(self, parameters):
|
|
|
+ result = parameters[0]
|
|
|
+ return result is not None
|
|
|
+
|
|
|
+ def _creating_1_guard(self, parameters):
|
|
|
+ result = parameters[0]
|
|
|
+ return result is None
|
|
|
+
|
|
|
def _modifying_mm_0_guard(self, parameters):
|
|
|
return self.subprocess.poll() is not None
|
|
|
|
|
|
@@ -11798,6 +11828,7 @@ class Text(RuntimeClassBase):
|
|
|
self.entry.config(state=tk.NORMAL)
|
|
|
self.entry.insert(tk.END, new_value)
|
|
|
self.entry.config(state=tk.DISABLED)
|
|
|
+ self.entry.see(tk.END)
|
|
|
self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("changed_value", None, [self.name, self.entry.get(1.0, tk.END)])]))
|
|
|
|
|
|
def initializeStatechart(self):
|