소스 검색

Fixed spurious not catching changes made in the activity executor

Yentl Van Tendeloo 7 년 전
부모
커밋
67143fd7bb
4개의 변경된 파일149개의 추가작업 그리고 38개의 파일을 삭제
  1. 4 0
      classes/widgets/entry.xml
  2. 44 5
      classes/window/activity.xml
  3. 6 0
      classes/window/browser.xml
  4. 95 33
      frontend.py

+ 4 - 0
classes/widgets/entry.xml

@@ -49,6 +49,9 @@
                         <parameter expr="self.name"/>
                         <parameter expr="new_value"/>
                     </raise>
+                    <script>
+                        print("Got entry change Tk event!")
+                    </script>
                 </transition>
 
                 <transition event="change_bg" target=".">
@@ -68,6 +71,7 @@
                 <transition event="change_value" target=".">
                     <parameter name="new_value"/>
                     <script>
+                        print("CHANGE VALUE IN ENTRY")
                         self.strvar.set(new_value)
                     </script>
                 </transition>

+ 44 - 5
classes/window/activity.xml

@@ -177,9 +177,12 @@
                     <parameter name="event_name"/>
                     <parameter name="value"/>
                     <script>
+                        print("Setting " + str(event_name) + " to " + str(value))
                         if event_name.startswith('input_'):
+                            print("INP")
                             self.exec_input_signature[event_name.split("input_", 1)[1]] = value
                         else:
+                            print("OUTP")
                             self.exec_output_signature[event_name.split("output_", 1)[1]] = value
                     </script>
                 </transition>
@@ -207,6 +210,8 @@
                         <script>
                             actual = set(self.exec_input_signature.keys())
                             formal = set(self.input_signature.keys())
+                            print("Actual: " + str(actual))
+                            print("Formal: " + str(formal))
                             missing = formal - actual
                             print("Missing input values for: " + str(missing))
                         </script>
@@ -218,6 +223,11 @@
 
                 <state id="execute">
                     <onentry>
+                        <script>
+                            print("Executing activity %s" % self.activity)
+                            print("   Inputs  " + str(self.exec_input_signature))
+                            print("   Outputs " + str(self.exec_output_signature))
+                        </script>
                         <raise event="mv_request" scope="broad">
                             <parameter expr="'transformation_execute'"/>
                             <parameter expr="[self.activity, self.exec_input_signature, self.exec_output_signature]"/>
@@ -234,14 +244,34 @@
 
                 <state id="in_context">
                     <!-- TODO Add data_input and data_output -->
-                    <transition event="mv_response" target="../../closing">
+                    <transition event="mv_response" cond="result == True" target="../alter_context_result">
+                        <parameter name="result"/>
+                    </transition>
+                    <transition event="mv_response" cond="result == False" target="../../ready">
                         <parameter name="result"/>
-                        <script>
-                            print("Finished execution: " + str(result))
-                            #TODO if true: alter_context for output models
-                        </script>
                     </transition>
                 </state>
+
+                <state id="alter_context_result" initial="check_next">
+                    <state id="check_next">
+                        <transition cond="self.exec_output_signature" target="../add"/>
+                        <transition cond="not self.exec_output_signature" target="../../../ready"/>
+                    </state>
+
+                    <state id="add">
+                        <onentry>
+                            <script>
+                                key, value = self.exec_output_signature.popitem()
+                            </script>
+                            <raise event="mv_request" scope="broad">
+                                <parameter expr="'alter_context'"/>
+                                <parameter expr="[key, value]"/>
+                            </raise>
+                        </onentry>
+
+                        <transition event="mv_response" target="../check_next"/>
+                    </state>
+                </state>
             </state>
 
             <state id="browse_activity" initial="create_browser">
@@ -540,12 +570,21 @@
                 <state id="waiting_for_decision">
                     <transition event="browse_result" target=".">
                         <parameter name="model"/>
+                        <script>
+                            if self.current.startswith('input_'):
+                                self.exec_input_signature[self.current.split("input_", 1)[1]] = model
+                            else:
+                                self.exec_output_signature[self.current.split("output_", 1)[1]] = model
+                        </script>
                         <raise event="change_value" scope="narrow" target="self.stored_associations[self.current]">
                             <parameter expr="model"/>
                         </raise>
                     </transition>
 
                     <transition event="close_window" target="../../ready">
+                        <script>
+                            print("Got window close")
+                        </script>
                         <raise event="delete_instance" scope="cd">
                             <parameter expr="'browsers'"/>
                         </raise>

+ 6 - 0
classes/window/browser.xml

@@ -301,6 +301,9 @@
             <transition cond="len(self.current_location) > 0 and self.current_location[-1] != '/'" target="../closing">
                 <raise event="browse_result" target="'parent'" scope="narrow">
                     <parameter expr="self.current_location"/>
+                    <script>
+                        print("RAISE RESULT")
+                    </script>
                 </raise>
 
                 <raise event="close_self"/>
@@ -338,6 +341,9 @@
         <state id="close">
             <onentry>
                 <raise event="close_window" scope="narrow" target="'parent'"/>
+                <script>
+                    print("CLOSE BROWSER")
+                </script>
             </onentry>
         </state>
     </scxml>

+ 95 - 33
frontend.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 Oct 17 10:04:30 2017
+Date:   Tue Oct 17 14:42:55 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   Modelverse Visual Editor - Tkinter Version 
@@ -6461,6 +6461,7 @@ class Browser(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     
     def _close_enter(self):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("close_window", None, [])]))
+        print("CLOSE BROWSER")
     
     def _root_0_exec(self, parameters):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("browse_result", None, [self.current_location])]))
@@ -7285,97 +7286,107 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         # state /all/execute/in_context
         self.states["/all/execute/in_context"] = State(18, "/all/execute/in_context", self)
         
+        # state /all/execute/alter_context_result
+        self.states["/all/execute/alter_context_result"] = State(19, "/all/execute/alter_context_result", self)
+        
+        # state /all/execute/alter_context_result/check_next
+        self.states["/all/execute/alter_context_result/check_next"] = State(20, "/all/execute/alter_context_result/check_next", self)
+        
+        # state /all/execute/alter_context_result/add
+        self.states["/all/execute/alter_context_result/add"] = State(21, "/all/execute/alter_context_result/add", self)
+        self.states["/all/execute/alter_context_result/add"].setEnter(self._all_execute_alter_context_result_add_enter)
+        
         # state /all/browse_activity
-        self.states["/all/browse_activity"] = State(19, "/all/browse_activity", self)
+        self.states["/all/browse_activity"] = State(22, "/all/browse_activity", self)
         
         # state /all/browse_activity/create_browser
-        self.states["/all/browse_activity/create_browser"] = State(20, "/all/browse_activity/create_browser", self)
+        self.states["/all/browse_activity/create_browser"] = State(23, "/all/browse_activity/create_browser", self)
         self.states["/all/browse_activity/create_browser"].setEnter(self._all_browse_activity_create_browser_enter)
         
         # state /all/browse_activity/waiting_for_decision
-        self.states["/all/browse_activity/waiting_for_decision"] = State(21, "/all/browse_activity/waiting_for_decision", self)
+        self.states["/all/browse_activity/waiting_for_decision"] = State(24, "/all/browse_activity/waiting_for_decision", self)
         
         # state /all/redraw_signature
-        self.states["/all/redraw_signature"] = State(22, "/all/redraw_signature", self)
+        self.states["/all/redraw_signature"] = State(25, "/all/redraw_signature", self)
         
         # state /all/redraw_signature/clear_previous
-        self.states["/all/redraw_signature/clear_previous"] = State(23, "/all/redraw_signature/clear_previous", self)
+        self.states["/all/redraw_signature/clear_previous"] = State(26, "/all/redraw_signature/clear_previous", self)
         
         # state /all/redraw_signature/read_signature
-        self.states["/all/redraw_signature/read_signature"] = State(24, "/all/redraw_signature/read_signature", self)
+        self.states["/all/redraw_signature/read_signature"] = State(27, "/all/redraw_signature/read_signature", self)
         self.states["/all/redraw_signature/read_signature"].setEnter(self._all_redraw_signature_read_signature_enter)
         
         # state /all/redraw_signature/add_input
-        self.states["/all/redraw_signature/add_input"] = State(25, "/all/redraw_signature/add_input", self)
+        self.states["/all/redraw_signature/add_input"] = State(28, "/all/redraw_signature/add_input", self)
         self.states["/all/redraw_signature/add_input"].setEnter(self._all_redraw_signature_add_input_enter)
         
         # state /all/redraw_signature/add_input/check_next
-        self.states["/all/redraw_signature/add_input/check_next"] = State(26, "/all/redraw_signature/add_input/check_next", self)
+        self.states["/all/redraw_signature/add_input/check_next"] = State(29, "/all/redraw_signature/add_input/check_next", self)
         
         # state /all/redraw_signature/add_input/create_label
-        self.states["/all/redraw_signature/add_input/create_label"] = State(27, "/all/redraw_signature/add_input/create_label", self)
+        self.states["/all/redraw_signature/add_input/create_label"] = State(30, "/all/redraw_signature/add_input/create_label", self)
         self.states["/all/redraw_signature/add_input/create_label"].setEnter(self._all_redraw_signature_add_input_create_label_enter)
         
         # state /all/redraw_signature/add_input/pack_label
-        self.states["/all/redraw_signature/add_input/pack_label"] = State(28, "/all/redraw_signature/add_input/pack_label", self)
+        self.states["/all/redraw_signature/add_input/pack_label"] = State(31, "/all/redraw_signature/add_input/pack_label", self)
         
         # state /all/redraw_signature/add_input/create_entry
-        self.states["/all/redraw_signature/add_input/create_entry"] = State(29, "/all/redraw_signature/add_input/create_entry", self)
+        self.states["/all/redraw_signature/add_input/create_entry"] = State(32, "/all/redraw_signature/add_input/create_entry", self)
         self.states["/all/redraw_signature/add_input/create_entry"].setEnter(self._all_redraw_signature_add_input_create_entry_enter)
         
         # state /all/redraw_signature/add_input/pack_entry
-        self.states["/all/redraw_signature/add_input/pack_entry"] = State(30, "/all/redraw_signature/add_input/pack_entry", self)
+        self.states["/all/redraw_signature/add_input/pack_entry"] = State(33, "/all/redraw_signature/add_input/pack_entry", self)
         
         # state /all/redraw_signature/add_input/create_button
-        self.states["/all/redraw_signature/add_input/create_button"] = State(31, "/all/redraw_signature/add_input/create_button", self)
+        self.states["/all/redraw_signature/add_input/create_button"] = State(34, "/all/redraw_signature/add_input/create_button", self)
         self.states["/all/redraw_signature/add_input/create_button"].setEnter(self._all_redraw_signature_add_input_create_button_enter)
         
         # state /all/redraw_signature/add_input/pack_button
-        self.states["/all/redraw_signature/add_input/pack_button"] = State(32, "/all/redraw_signature/add_input/pack_button", self)
+        self.states["/all/redraw_signature/add_input/pack_button"] = State(35, "/all/redraw_signature/add_input/pack_button", self)
         
         # state /all/redraw_signature/add_output
-        self.states["/all/redraw_signature/add_output"] = State(33, "/all/redraw_signature/add_output", self)
+        self.states["/all/redraw_signature/add_output"] = State(36, "/all/redraw_signature/add_output", self)
         self.states["/all/redraw_signature/add_output"].setEnter(self._all_redraw_signature_add_output_enter)
         
         # state /all/redraw_signature/add_output/check_next
-        self.states["/all/redraw_signature/add_output/check_next"] = State(34, "/all/redraw_signature/add_output/check_next", self)
+        self.states["/all/redraw_signature/add_output/check_next"] = State(37, "/all/redraw_signature/add_output/check_next", self)
         
         # state /all/redraw_signature/add_output/create_label
-        self.states["/all/redraw_signature/add_output/create_label"] = State(35, "/all/redraw_signature/add_output/create_label", self)
+        self.states["/all/redraw_signature/add_output/create_label"] = State(38, "/all/redraw_signature/add_output/create_label", self)
         self.states["/all/redraw_signature/add_output/create_label"].setEnter(self._all_redraw_signature_add_output_create_label_enter)
         
         # state /all/redraw_signature/add_output/pack_label
-        self.states["/all/redraw_signature/add_output/pack_label"] = State(36, "/all/redraw_signature/add_output/pack_label", self)
+        self.states["/all/redraw_signature/add_output/pack_label"] = State(39, "/all/redraw_signature/add_output/pack_label", self)
         
         # state /all/redraw_signature/add_output/create_entry
-        self.states["/all/redraw_signature/add_output/create_entry"] = State(37, "/all/redraw_signature/add_output/create_entry", self)
+        self.states["/all/redraw_signature/add_output/create_entry"] = State(40, "/all/redraw_signature/add_output/create_entry", self)
         self.states["/all/redraw_signature/add_output/create_entry"].setEnter(self._all_redraw_signature_add_output_create_entry_enter)
         
         # state /all/redraw_signature/add_output/pack_entry
-        self.states["/all/redraw_signature/add_output/pack_entry"] = State(38, "/all/redraw_signature/add_output/pack_entry", self)
+        self.states["/all/redraw_signature/add_output/pack_entry"] = State(41, "/all/redraw_signature/add_output/pack_entry", self)
         
         # state /all/redraw_signature/add_output/create_button
-        self.states["/all/redraw_signature/add_output/create_button"] = State(39, "/all/redraw_signature/add_output/create_button", self)
+        self.states["/all/redraw_signature/add_output/create_button"] = State(42, "/all/redraw_signature/add_output/create_button", self)
         self.states["/all/redraw_signature/add_output/create_button"].setEnter(self._all_redraw_signature_add_output_create_button_enter)
         
         # state /all/redraw_signature/add_output/pack_button
-        self.states["/all/redraw_signature/add_output/pack_button"] = State(40, "/all/redraw_signature/add_output/pack_button", self)
+        self.states["/all/redraw_signature/add_output/pack_button"] = State(43, "/all/redraw_signature/add_output/pack_button", self)
         
         # state /all/browse_model
-        self.states["/all/browse_model"] = State(41, "/all/browse_model", self)
+        self.states["/all/browse_model"] = State(44, "/all/browse_model", self)
         
         # state /all/browse_model/create_browser
-        self.states["/all/browse_model/create_browser"] = State(42, "/all/browse_model/create_browser", self)
+        self.states["/all/browse_model/create_browser"] = State(45, "/all/browse_model/create_browser", self)
         self.states["/all/browse_model/create_browser"].setEnter(self._all_browse_model_create_browser_enter)
         
         # state /all/browse_model/waiting_for_decision
-        self.states["/all/browse_model/waiting_for_decision"] = State(43, "/all/browse_model/waiting_for_decision", self)
+        self.states["/all/browse_model/waiting_for_decision"] = State(46, "/all/browse_model/waiting_for_decision", self)
         
         # state /all/closing
-        self.states["/all/closing"] = State(44, "/all/closing", self)
+        self.states["/all/closing"] = State(47, "/all/closing", self)
         
         # state /all/closed
-        self.states["/all/closed"] = State(45, "/all/closed", self)
+        self.states["/all/closed"] = State(48, "/all/closed", self)
         self.states["/all/closed"].setEnter(self._all_closed_enter)
         
         # add children
@@ -7402,6 +7413,9 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/execute"].addChild(self.states["/all/execute/check_args"])
         self.states["/all/execute"].addChild(self.states["/all/execute/execute"])
         self.states["/all/execute"].addChild(self.states["/all/execute/in_context"])
+        self.states["/all/execute"].addChild(self.states["/all/execute/alter_context_result"])
+        self.states["/all/execute/alter_context_result"].addChild(self.states["/all/execute/alter_context_result/check_next"])
+        self.states["/all/execute/alter_context_result"].addChild(self.states["/all/execute/alter_context_result/add"])
         self.states["/all/browse_activity"].addChild(self.states["/all/browse_activity/create_browser"])
         self.states["/all/browse_activity"].addChild(self.states["/all/browse_activity/waiting_for_decision"])
         self.states["/all/redraw_signature"].addChild(self.states["/all/redraw_signature/clear_previous"])
@@ -7432,6 +7446,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/create_activity_browse_button"].default_state = self.states["/all/create_activity_browse_button/create"]
         self.states["/all/create_exec"].default_state = self.states["/all/create_exec/create"]
         self.states["/all/execute"].default_state = self.states["/all/execute/check_args"]
+        self.states["/all/execute/alter_context_result"].default_state = self.states["/all/execute/alter_context_result/check_next"]
         self.states["/all/browse_activity"].default_state = self.states["/all/browse_activity/create_browser"]
         self.states["/all/redraw_signature"].default_state = self.states["/all/redraw_signature/clear_previous"]
         self.states["/all/redraw_signature/add_input"].default_state = self.states["/all/redraw_signature/add_input/check_next"]
@@ -7524,10 +7539,29 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/execute/execute"].addTransition(_all_execute_execute_0)
         
         # transition /all/execute/in_context
-        _all_execute_in_context_0 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/closing"]])
-        _all_execute_in_context_0.setAction(self._all_execute_in_context_0_exec)
+        _all_execute_in_context_0 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/execute/alter_context_result"]])
         _all_execute_in_context_0.setTrigger(Event("mv_response", None))
+        _all_execute_in_context_0.setGuard(self._all_execute_in_context_0_guard)
         self.states["/all/execute/in_context"].addTransition(_all_execute_in_context_0)
+        _all_execute_in_context_1 = Transition(self, self.states["/all/execute/in_context"], [self.states["/all/ready"]])
+        _all_execute_in_context_1.setTrigger(Event("mv_response", None))
+        _all_execute_in_context_1.setGuard(self._all_execute_in_context_1_guard)
+        self.states["/all/execute/in_context"].addTransition(_all_execute_in_context_1)
+        
+        # transition /all/execute/alter_context_result/check_next
+        _all_execute_alter_context_result_check_next_0 = Transition(self, self.states["/all/execute/alter_context_result/check_next"], [self.states["/all/execute/alter_context_result/add"]])
+        _all_execute_alter_context_result_check_next_0.setTrigger(None)
+        _all_execute_alter_context_result_check_next_0.setGuard(self._all_execute_alter_context_result_check_next_0_guard)
+        self.states["/all/execute/alter_context_result/check_next"].addTransition(_all_execute_alter_context_result_check_next_0)
+        _all_execute_alter_context_result_check_next_1 = Transition(self, self.states["/all/execute/alter_context_result/check_next"], [self.states["/all/ready"]])
+        _all_execute_alter_context_result_check_next_1.setTrigger(None)
+        _all_execute_alter_context_result_check_next_1.setGuard(self._all_execute_alter_context_result_check_next_1_guard)
+        self.states["/all/execute/alter_context_result/check_next"].addTransition(_all_execute_alter_context_result_check_next_1)
+        
+        # transition /all/execute/alter_context_result/add
+        _all_execute_alter_context_result_add_0 = Transition(self, self.states["/all/execute/alter_context_result/add"], [self.states["/all/execute/alter_context_result/check_next"]])
+        _all_execute_alter_context_result_add_0.setTrigger(Event("mv_response", None))
+        self.states["/all/execute/alter_context_result/add"].addTransition(_all_execute_alter_context_result_add_0)
         
         # transition /all/browse_activity/create_browser
         _all_browse_activity_create_browser_0 = Transition(self, self.states["/all/browse_activity/create_browser"], [self.states["/all/browse_activity/waiting_for_decision"]])
@@ -7701,8 +7735,15 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, [self.stored_associations['input_%s' % i] for i in self.input_signature.keys()], Event("change_bg", None, ['light grey'])]))
     
     def _all_execute_execute_enter(self):
+        print("Executing activity %s" % self.activity)
+        print("   Inputs  " + str(self.exec_input_signature))
+        print("   Outputs " + str(self.exec_output_signature))
         self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['transformation_execute', [self.activity, self.exec_input_signature, self.exec_output_signature]])]))
     
+    def _all_execute_alter_context_result_add_enter(self):
+        key, value = self.exec_output_signature.popitem()
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['alter_context', [key, value]])]))
+    
     def _all_browse_activity_create_browser_enter(self):
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'browsers', 'Browser', 'Select activity to execute.', None]))
     
@@ -7790,9 +7831,12 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _all_ready_2_exec(self, parameters):
         event_name = parameters[0]
         value = parameters[1]
+        print("Setting " + str(event_name) + " to " + str(value))
         if event_name.startswith('input_'):
+            print("INP")
             self.exec_input_signature[event_name.split("input_", 1)[1]] = value
         else:
+            print("OUTP")
             self.exec_output_signature[event_name.split("output_", 1)[1]] = value
     
     def _all_ready_3_guard(self, parameters):
@@ -7809,6 +7853,8 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _all_execute_check_args_1_exec(self, parameters):
         actual = set(self.exec_input_signature.keys())
         formal = set(self.input_signature.keys())
+        print("Actual: " + str(actual))
+        print("Formal: " + str(formal))
         missing = formal - actual
         print("Missing input values for: " + str(missing))
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, [self.stored_associations['input_%s' % i] for i in missing], Event("change_bg", None, ['red'])]))
@@ -7820,10 +7866,19 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         context = parameters[0]
         self.current_context = context
     
-    def _all_execute_in_context_0_exec(self, parameters):
+    def _all_execute_in_context_0_guard(self, parameters):
         result = parameters[0]
-        print("Finished execution: " + str(result))
-        #TODO if true: alter_context for output models
+        return result == True
+    
+    def _all_execute_in_context_1_guard(self, parameters):
+        result = parameters[0]
+        return result == False
+    
+    def _all_execute_alter_context_result_check_next_0_guard(self, parameters):
+        return self.exec_output_signature
+    
+    def _all_execute_alter_context_result_check_next_1_guard(self, parameters):
+        return not self.exec_output_signature
     
     def _all_browse_activity_create_browser_0_exec(self, parameters):
         assoc_name = parameters[0]
@@ -7928,9 +7983,14 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     
     def _all_browse_model_waiting_for_decision_0_exec(self, parameters):
         model = parameters[0]
+        if self.current.startswith('input_'):
+            self.exec_input_signature[self.current.split("input_", 1)[1]] = model
+        else:
+            self.exec_output_signature[self.current.split("output_", 1)[1]] = model
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.stored_associations[self.current], Event("change_value", None, [model])]))
     
     def _all_browse_model_waiting_for_decision_1_exec(self, parameters):
+        print("Got window close")
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'browsers']))
     
     def _all_closing_0_exec(self, parameters):
@@ -8936,6 +8996,7 @@ class Entry(RuntimeClassBase):
         tagorid = parameters[0]
         new_value = parameters[1]
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("changed_entry", None, [self.name, new_value])]))
+        print("Got entry change Tk event!")
     
     def _main_ready_0_guard(self, parameters):
         tagorid = parameters[0]
@@ -8952,6 +9013,7 @@ class Entry(RuntimeClassBase):
     
     def _main_ready_3_exec(self, parameters):
         new_value = parameters[0]
+        print("CHANGE VALUE IN ENTRY")
         self.strvar.set(new_value)
     
     def initializeStatechart(self):