Kaynağa Gözat

Added all parameters to the Coupled model

Yentl Van Tendeloo 9 yıl önce
ebeveyn
işleme
a0585b156b
1 değiştirilmiş dosya ile 73 ekleme ve 8 silme
  1. 73 8
      model/model.py

+ 73 - 8
model/model.py

@@ -135,9 +135,10 @@ class MvIState():
         self.output = []
 
 class ModelverseInterface(AtomicDEVS):
-    def __init__(self):
+    def __init__(self, operations):
         AtomicDEVS.__init__(self, "MvI")
         self.state = MvIState()
+        self.state.operations = operations
 
         self.to_mvk = self.addOutPort("to_MvK")
         self.from_mvk = self.addInPort("from_MvK")
@@ -190,16 +191,80 @@ class Network(AtomicDEVS):
         return self.state.timer
 
 class System(CoupledDEVS):
-    def __init__(self):
+    def __init__(self,
+                operations,
+                mvi2mvk_latency,
+                mvi2mvk_bandwidth,
+                mvk2mvs_latency,
+                mvk2mvs_bandwidth,
+                mvs2mvk_latency,
+                mvs2mvk_bandwidth,
+                mvk2mvi_latency,
+                mvk2mvi_bandwidth,
+                read_root,
+                create_node,
+                create_edge,
+                create_nodevalue,
+                create_dict,
+                read_value,
+                read_outgoing,
+                read_incoming,
+                read_edge,
+                read_dict,
+                read_dict_keys,
+                read_dict_edge,
+                read_dict_node,
+                read_dict_node_edge,
+                read_reverse_dict,
+                delete_node,
+                delete_edge):
         CoupledDEVS.__init__(self, "System")
 
-        self.mvi = self.addSubModel(ModelverseInterface())
+        self.mvi = self.addSubModel(ModelverseInterface(\
+                            operations          = operations
+                        ))
         self.mvk = self.addSubModel(ModelverseKernel())
-        self.mvs = self.addSubModel(ModelverseState())
-        self.mvi2mvk = self.addSubModel(Network(mvi2mvk_latency, mvi2mvk_bandwidth))
-        self.mvk2mvs = self.addSubModel(Network(mvk2mvs_latency, mvk2mvs_bandwidth))
-        self.mvs2mvk = self.addSubModel(Network(mvs2mvk_latency, mvs2mvk_bandwidth))
-        self.mvk2mvi = self.addSubModel(Network(mvk2mvi_latency, mvk2mvi_bandwidth))
+        self.mvs = self.addSubModel(ModelverseState(\
+                            read_root           = read_root,
+                            create_node         = create_node,
+                            create_edge         = create_edge,
+                            create_nodevalue    = create_nodevalue,
+                            create_dict         = create_dict,
+                            read_value          = read_value,
+                            read_outgoing       = read_outgoing,
+                            read_incoming       = read_incoming,
+                            read_edge           = read_edge,
+                            read_dict           = read_dict,
+                            read_dict_keys      = read_dict_keys,
+                            read_dict_edge      = read_dict_edge,
+                            read_dict_node      = read_dict_node,
+                            read_dict_node_edge = read_dict_node_edge,
+                            read_reverse_dict   = read_reverse_dict,
+                            delete_node         = delete_node,
+                            delete_edge         = delete_edge
+                        ))
+        self.mvi2mvk = self.addSubModel(Network(\
+                            mvi2mvk_latency     = mvi2mvk_latency,
+                            mvi2mvk_bandwidth   = mvi2mvk_bandwidth
+                        ))
+        self.mvk2mvs = self.addSubModel(Network(\
+                            mvk2mvs_latency     = mvk2mvs_latency,
+                            mvk2mvs_bandwidth   = mvk2mvs_bandwidth
+                        ))
+        self.mvs2mvk = self.addSubModel(Network(\
+                            mvs2mvk_latency     = mvs2mvk_latency,
+                            mvs2mvk_bandwidth   = mvs2mvk_bandwidth
+                        ))
+        self.mvk2mvi = self.addSubModel(Network(\
+                            mvk2mvi_latency     = mvk2mvi_latency,
+                            mvk2mvi_bandwidth   = mvk2mvi_bandwidth
+                        ))
 
         self.connectPorts(self.mvi.to_mvk, self.mvi2mvk.input_port)
         self.connectPorts(self.mvi2mvk.output_port, self.mvk.from_mvi)
+        self.connectPorts(self.mvk.to_mvs, self.mvk2mvs.input_port)
+        self.connectPorts(self.mvk2mvs.output_port, self.mvs.from_mvk)
+        self.connectPorts(self.mvs.to_mvk, self.mvs2mvk.input_port)
+        self.connectPorts(self.mvs2mvk.output_port, self.mvk.from_mvs)
+        self.connectPorts(self.mvk.to_mvi, self.mvk2mvi.input_port)
+        self.connectPorts(self.mvk2mvi.output_port, self.mvi.from_mvk)