瀏覽代碼

Updated Modelverse wrapper to also raise the event as a broadcast event

Yentl Van Tendeloo 8 年之前
父節點
當前提交
e398fdf795
共有 2 個文件被更改,包括 34 次插入4 次删除
  1. 20 1
      wrappers/classes/modelverse.xml
  2. 14 3
      wrappers/modelverse_SCCD.py

+ 20 - 1
wrappers/classes/modelverse.xml

@@ -127,7 +127,7 @@
 
         <parallel id="initialized">
             <onentry>
-                <raise scope="output" port="ready" event="ready"/>
+                <raise event="ready"/>
             </onentry>
 
             <state id="http_mapper" initial="init">
@@ -1799,6 +1799,11 @@
                             <parameter expr="self.current_ID"/>
                             <parameter expr="parameters"/>
                         </raise>
+
+                        <raise scope="broad" event="mv_result">
+                            <parameter expr="self.current_ID"/>
+                            <parameter expr="parameters"/>
+                        </raise>
                     </transition>
 
                     <transition event="data_output" target=".">
@@ -1806,6 +1811,10 @@
                         <raise scope="output" event="data_output" port="action_out">
                             <parameter expr="parameters"/>
                         </raise>
+
+                        <raise scope="broad" event="mv_data_output">
+                            <parameter expr="parameters"/>
+                        </raise>
                     </transition>
 
                     <transition event="exception" target=".">
@@ -1814,6 +1823,16 @@
                             <parameter expr="self.current_ID"/>
                             <parameter expr="parameters"/>
                         </raise>
+
+                        <raise scope="broad" event="mv_exception">
+                            <parameter expr="self.current_ID"/>
+                            <parameter expr="parameters"/>
+                        </raise>
+                    </transition>
+
+                    <transition event="ready" target=".">
+                        <raise scope="output" event="ready" port="ready"/>
+                        <raise scope="broad" event="mv_ready"/>
                     </transition>
 
                     <transition port="action_in" event="data_input" target=".">

+ 14 - 3
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:   Wed Sep  6 15:29:44 2017
+Date:   Thu Sep  7 08:48:00 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
@@ -1574,8 +1574,12 @@ class Modelverse(RuntimeClassBase):
         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"))
+        _initialized_queue_queue_4.setTrigger(Event("ready", None))
         self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_4)
+        _initialized_queue_queue_5 = Transition(self, self.states["/initialized/queue/queue"], [self.states["/initialized/queue/queue"]])
+        _initialized_queue_queue_5.setAction(self._initialized_queue_queue_5_exec)
+        _initialized_queue_queue_5.setTrigger(Event("data_input", "action_in"))
+        self.states["/initialized/queue/queue"].addTransition(_initialized_queue_queue_5)
         
         # transition /initialized/behaviour/operations
         _initialized_behaviour_operations_0 = Transition(self, self.states["/initialized/behaviour/operations"], [self.states["/initialized/behaviour/wait_for_action/history"]])
@@ -1722,7 +1726,7 @@ class Modelverse(RuntimeClassBase):
         self.states["/initialized/behaviour/wait_for_action/modelling/recognized"].addTransition(_initialized_behaviour_wait_for_action_modelling_recognized_18)
     
     def _initialized_enter(self):
-        self.big_step.outputEvent(Event("ready", "ready", []))
+        self.raiseInternalEvent(Event("ready", None, []))
     
     def _initialized_behaviour_init_enter(self):
         self.address, self.timeout = self.parameters
@@ -2902,16 +2906,23 @@ class Modelverse(RuntimeClassBase):
     def _initialized_queue_queue_1_exec(self, parameters):
         parameters = parameters[0]
         self.big_step.outputEvent(Event("result", "action_out", [self.current_ID, parameters]))
+        self.big_step.outputEventOM(Event("broad_cast", None, [Event("mv_result", None, [self.current_ID, parameters])]))
     
     def _initialized_queue_queue_2_exec(self, parameters):
         parameters = parameters[0]
         self.big_step.outputEvent(Event("data_output", "action_out", [parameters]))
+        self.big_step.outputEventOM(Event("broad_cast", None, [Event("mv_data_output", None, [parameters])]))
     
     def _initialized_queue_queue_3_exec(self, parameters):
         parameters = parameters[0]
         self.big_step.outputEvent(Event("exception", "action_out", [self.current_ID, parameters]))
+        self.big_step.outputEventOM(Event("broad_cast", None, [Event("mv_exception", None, [self.current_ID, parameters])]))
     
     def _initialized_queue_queue_4_exec(self, parameters):
+        self.big_step.outputEvent(Event("ready", "ready", []))
+        self.big_step.outputEventOM(Event("broad_cast", None, [Event("mv_ready", None, [])]))
+    
+    def _initialized_queue_queue_5_exec(self, parameters):
         value = parameters[0]
         context_ID = parameters[1]
         self.inputs[context_ID].append(value)