|
@@ -10,6 +10,7 @@
|
|
|
<parameter name="password"/>
|
|
|
<parameter name="model"/>
|
|
|
<parameter name="limited_mode"/>
|
|
|
+ <parameter name="taskname"/>
|
|
|
<body>
|
|
|
self.nr_of_windows = 0
|
|
|
self.root = root
|
|
@@ -25,6 +26,7 @@
|
|
|
data['password'] = password
|
|
|
data['mv_address'] = location
|
|
|
data['timeout'] = 20.0
|
|
|
+ data['taskname'] = taskname
|
|
|
</body>
|
|
|
</constructor>
|
|
|
<scxml initial="parallel">
|
|
@@ -56,6 +58,7 @@
|
|
|
<raise event="create_instance" scope="cd">
|
|
|
<parameter expr="'modelverse'"/>
|
|
|
<parameter expr="'Modelverse'"/>
|
|
|
+ <parameter expr="data['taskname']"/>
|
|
|
</raise>
|
|
|
|
|
|
<raise event="update_status" scope="narrow" target="self.splash_window">
|
|
@@ -107,12 +110,91 @@
|
|
|
</raise>
|
|
|
</onentry>
|
|
|
|
|
|
- <transition event="mv_response" target="../logging_in_modelverse/login">
|
|
|
+ <transition event="mv_response" cond="data['taskname'] is None" target="../logging_in_modelverse/login">
|
|
|
<raise event="update_status" scope="narrow" target="self.splash_window">
|
|
|
<parameter expr="40"/>
|
|
|
<parameter expr="'Waiting for Modelverse initialization... OK'"/>
|
|
|
</raise>
|
|
|
</transition>
|
|
|
+
|
|
|
+ <transition event="mv_response" cond="data['taskname'] is not None" target="../conversing">
|
|
|
+ <raise event="update_status" scope="narrow" target="self.splash_window">
|
|
|
+ <parameter expr="40"/>
|
|
|
+ <parameter expr="'Waiting for Modelverse initialization... OK'"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="conversing" initial="init">
|
|
|
+ <onentry>
|
|
|
+ <script>
|
|
|
+ print("Conversing!")
|
|
|
+ </script>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <state id="init">
|
|
|
+ <transition event="mv_response" cond="result == 'OP'" target="../execute_OP">
|
|
|
+ <parameter name="result"/>
|
|
|
+ </transition>
|
|
|
+ <transition event="mv_response" cond="result == 'SC'" target="../execute_SC">
|
|
|
+ <parameter name="result"/>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="execute_OP" initial="wait_model">
|
|
|
+ <state id="wait_model">
|
|
|
+ <transition event="mv_response" target="../wait_subprocess">
|
|
|
+ <parameter name="result"/>
|
|
|
+ <script>
|
|
|
+ self.subprocess = subprocess.Popen([sys.executable, sys.argv[0], "--address", data['mv_address'], "--username", data['username'], "--password", data['password'], "--model", result, "--limited"])
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="wait_subprocess">
|
|
|
+ <transition cond="self.subprocess.poll() is not None" target="../stopping">
|
|
|
+ <raise event="mv_data_input">
|
|
|
+ <parameter expr="None"/>
|
|
|
+ <parameter expr="None"/>
|
|
|
+ </raise>
|
|
|
+ <script>
|
|
|
+ print("Finished execution of manual!")
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ <transition after="0.5" target="."/>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="stopping">
|
|
|
+ <transition after="2.0" target="../../../../stopped"/>
|
|
|
+ </state>
|
|
|
+ </state>
|
|
|
+
|
|
|
+ <state id="execute_SC" initial="spawn_chatwindow">
|
|
|
+ <onentry>
|
|
|
+ <raise event="create_instance" scope="cd">
|
|
|
+ <parameter expr="'windows'"/>
|
|
|
+ <parameter expr="'ChatWindow'"/>
|
|
|
+ </raise>
|
|
|
+ </onentry>
|
|
|
+
|
|
|
+ <state id="spawn_chatwindow">
|
|
|
+ <transition event="instance_created" target=".">
|
|
|
+ <parameter name="assoc_name"/>
|
|
|
+ <raise event="start_instance" scope="cd">
|
|
|
+ <parameter expr="assoc_name"/>
|
|
|
+ </raise>
|
|
|
+ <raise event="assoc_name" scope="narrow" target="assoc_name">
|
|
|
+ <parameter expr="assoc_name"/>
|
|
|
+ </raise>
|
|
|
+ </transition>
|
|
|
+
|
|
|
+ <transition event="delete_me" target="../../../../stopped">
|
|
|
+ <script>
|
|
|
+ sys.exit(0)
|
|
|
+ </script>
|
|
|
+ </transition>
|
|
|
+ </state>
|
|
|
+ </state>
|
|
|
</state>
|
|
|
|
|
|
<state id="logging_in_modelverse" initial="prompt_username">
|
|
@@ -207,92 +289,7 @@
|
|
|
</raise>
|
|
|
</onentry>
|
|
|
|
|
|
- <transition target="../upload_models"/>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="upload_models" initial="upload_MM_render">
|
|
|
- <state id="upload_MM_render">
|
|
|
- <onentry>
|
|
|
- <raise event="mv_request">
|
|
|
- <parameter expr="'model_add'"/>
|
|
|
- <parameter expr="['formalisms/MM_render', 'formalisms/SimpleClassDiagrams', open('models/MM_render.mvc', 'r').read()]"/>
|
|
|
- </raise>
|
|
|
- <raise event="update_status" scope="narrow" target="self.splash_window">
|
|
|
- <parameter expr="75"/>
|
|
|
- <parameter expr="'Uploading MM render...'"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="mv_exception" target="../upload_render_SCD"/>
|
|
|
- <transition event="mv_response" target="../upload_render_SCD"/>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="upload_render_SCD">
|
|
|
- <onentry>
|
|
|
- <raise event="mv_request">
|
|
|
- <parameter expr="'transformation_add_AL'"/>
|
|
|
- <parameter expr="[{'rendered': 'formalisms/MM_render', 'abstract': 'formalisms/SimpleClassDiagrams'}, {'rendered': 'formalisms/MM_render'}, 'models/render_SCD', open('models/render_SCD.alc', 'r').read()]"/>
|
|
|
- </raise>
|
|
|
- <raise event="update_status" scope="narrow" target="self.splash_window">
|
|
|
- <parameter expr="80"/>
|
|
|
- <parameter expr="'Uploading render_SCD...'"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="mv_exception" target="../../../wait_close_splash"/>
|
|
|
- <transition event="mv_response" target="../modify_render_SCD">
|
|
|
- <parameter name="result"/>
|
|
|
- <script>
|
|
|
- self.context, model = result
|
|
|
- </script>
|
|
|
- </transition>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="modify_render_SCD" initial="trace_class">
|
|
|
- <onexit>
|
|
|
- <script>
|
|
|
- self.context = None
|
|
|
- </script>
|
|
|
- </onexit>
|
|
|
-
|
|
|
- <state id="trace_class">
|
|
|
- <onentry>
|
|
|
- <raise event="mv_request_context">
|
|
|
- <parameter expr="'instantiate'"/>
|
|
|
- <parameter expr="[None, 'Association', ('abstract/Class', 'rendered/Group'), 'TracabilityClass']"/>
|
|
|
- <parameter expr="self.context"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="mv_response" target="../trace_association"/>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="trace_association">
|
|
|
- <onentry>
|
|
|
- <raise event="mv_request_context">
|
|
|
- <parameter expr="'instantiate'"/>
|
|
|
- <parameter expr="[None, 'Association', ('abstract/Association', 'rendered/ConnectingLine'), 'TracabilityAssociation']"/>
|
|
|
- <parameter expr="self.context"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="mv_response" target="../exit"/>
|
|
|
- </state>
|
|
|
-
|
|
|
- <state id="exit">
|
|
|
- <onentry>
|
|
|
- <raise event="mv_request_context">
|
|
|
- <parameter expr="'exit'"/>
|
|
|
- <parameter expr="[]"/>
|
|
|
- <parameter expr="self.context"/>
|
|
|
- </raise>
|
|
|
- </onentry>
|
|
|
-
|
|
|
- <transition event="mv_response" target="../../../../wait_close_splash"/>
|
|
|
- </state>
|
|
|
-
|
|
|
- <transition event="mv_exception" target="../../../wait_close_splash"/>
|
|
|
- </state>
|
|
|
+ <transition target="../../wait_close_splash"/>
|
|
|
</state>
|
|
|
</state>
|
|
|
|