瀏覽代碼

some more refactoring for the same purpose

Cláudio Gomes 8 年之前
父節點
當前提交
3cfd76d192

+ 2 - 2
SemanticAdaptationForFMI/FMIAbstraction/src/abstract_units/StatechartSimulationUnit.py

@@ -13,7 +13,7 @@ from abstract_units.AbstractSimulationUnit import AbstractSimulationUnit, \
 
 l = logging.getLogger()
 
-class StatechartSimulationUnit(AbstractSimulationUnit):
+class StatechartSimulationUnit_Event(AbstractSimulationUnit):
     
     TRIGGER_AFTER = "After"
     TRIGGER_INPUT = "Input"
@@ -112,7 +112,7 @@ class StatechartSimulationUnit(AbstractSimulationUnit):
                 output_event = out_event if out_event != "" else output_event
                 old_state = new_state
                 self.__last_transition_time = time
-                if trigger==StatechartSimulationUnit.TRIGGER_INPUT:
+                if trigger==StatechartSimulationUnit_Event.TRIGGER_INPUT:
                     inputToConsume = ""
             else:
                 l.debug("No transition taken.")

+ 4 - 4
SemanticAdaptationForFMI/FMIAbstraction/src/case_study/scenarios/ControlledScenario_EventController.py

@@ -13,8 +13,8 @@ from case_study.units.adaptations.PowerInputAdaptation_Event import PowerInputAd
 from case_study.units.ct_based.ObstacleFMU import ObstacleFMU
 from case_study.units.ct_based.PowerFMU import PowerFMU
 from case_study.units.ct_based.WindowFMU import WindowFMU
-from case_study.units.de_based.DriverControllerStatechartFMU import DriverControllerStatechartFMU
-from case_study.units.de_based.EnvironmentStatechartFMU import EnvironmentStatechartFMU
+from case_study.units.de_based.DriverControllerStatechartFMU import DriverControllerStatechartFMU_Event
+from case_study.units.de_based.EnvironmentStatechartFMU import EnvironmentStatechartFMU_Event
 
 
 NUM_RTOL = 1e-08
@@ -27,9 +27,9 @@ cosim_step_size = 0.001
 num_internal_steps = 10
 stop_time = 10;
 
-environment = EnvironmentStatechartFMU("env", NUM_RTOL, NUM_ATOL)
+environment = EnvironmentStatechartFMU_Event("env", NUM_RTOL, NUM_ATOL)
 
-controller = DriverControllerStatechartFMU("controller", NUM_RTOL, NUM_ATOL)
+controller = DriverControllerStatechartFMU_Event("controller", NUM_RTOL, NUM_ATOL)
 
 power = PowerFMU("power", NUM_RTOL, NUM_ATOL, cosim_step_size/num_internal_steps, 
                      J=0.085, 

+ 11 - 11
SemanticAdaptationForFMI/FMIAbstraction/src/case_study/units/de_based/DriverControllerStatechartFMU.py

@@ -1,7 +1,7 @@
-from abstract_units.StatechartSimulationUnit import StatechartSimulationUnit
+from abstract_units.StatechartSimulationUnit_Event import StatechartSimulationUnit_Event
 
 
-class DriverControllerStatechartFMU(StatechartSimulationUnit):
+class DriverControllerStatechartFMU_Event(StatechartSimulationUnit_Event):
     """
     This is a simple controller for the power window case study.
     It takes input events (dup, ddown, dstop, obj) representing the wishes of the driver 
@@ -31,26 +31,26 @@ class DriverControllerStatechartFMU(StatechartSimulationUnit):
             if input_event != None:
                 if current_state=="Neutral":
                     if input_event == "dup":
-                        return ("up","Up",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("up","Up",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                     if input_event == "ddown":
-                        return ("down","Down",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("down","Down",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                 if current_state=="Up":
                     if input_event == "dstop":
-                        return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                     if input_event == "ddown":
-                        return ("down","Down",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("down","Down",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                     if input_event == "obj":
-                        return ("down","Object",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("down","Object",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                 if current_state=="Down":
                     if input_event == "dstop":
-                        return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
                     if input_event == "dup":
-                        return ("up","Up",True,StatechartSimulationUnit.TRIGGER_INPUT)
+                        return ("up","Up",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
             # Check for after transitions
             if current_state=="Object":
                 if self._biggerThan(elapsed, 1.0):
-                    return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_AFTER)
+                    return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_AFTER)
             # No transition taken
             return (None, current_state, False, None)
         
-        StatechartSimulationUnit.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=False)
+        StatechartSimulationUnit_Event.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=False)

+ 4 - 4
SemanticAdaptationForFMI/FMIAbstraction/src/case_study/units/de_based/EnvironmentStatechartFMU.py

@@ -1,11 +1,11 @@
 import logging
 
-from abstract_units.StatechartSimulationUnit import StatechartSimulationUnit
+from abstract_units.StatechartSimulationUnit_Event import StatechartSimulationUnit_Event
 
 
 l = logging.getLogger()
 
-class EnvironmentStatechartFMU(StatechartSimulationUnit):
+class EnvironmentStatechartFMU_Event(StatechartSimulationUnit_Event):
     """
     This is a simple environment for the power window case study.
     It has the states
@@ -23,11 +23,11 @@ class EnvironmentStatechartFMU(StatechartSimulationUnit):
             # Check for after transitions
             if current_state=="Neutral":
                 if self._biggerThan(elapsed, 0.5):
-                    return ("dup","Up",True,StatechartSimulationUnit.TRIGGER_AFTER)
+                    return ("dup","Up",True,StatechartSimulationUnit_Event.TRIGGER_AFTER)
             # No transition taken
             return ("", current_state, False, None)
             l.debug("<%s.state_transition(%s, %s, %f)", self._name, current_state, input_event, elapsed)
             
         
-        StatechartSimulationUnit.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=True)
+        StatechartSimulationUnit_Event.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=True)