瀏覽代碼

Add rules_per_phase parameter (not yet used)

Yentl Van Tendeloo 9 年之前
父節點
當前提交
1390111b26
共有 2 個文件被更改,包括 12 次插入4 次删除
  1. 1 1
      kernel/modelverse_kernel/main.py
  2. 11 3
      model/model.py

+ 1 - 1
kernel/modelverse_kernel/main.py

@@ -64,7 +64,7 @@ class ModelverseKernel(object):
             elif inst_v is None:
                 raise Exception("%s: error understanding command (%s, %s)" % (self.debug_info, inst_v, phase_v))
             else:
-                #print("%-30s(%s) -- %s" % (inst_v["value"], phase_v, username))
+                print("%-30s(%s) -- %s" % (inst_v["value"], phase_v, username))
                 gen = getattr(self, "%s_%s" % (inst_v["value"], phase_v))(user_root)
         elif inst_v is None:
             raise Exception("%s: error understanding command (%s, %s)" % (self.debug_info, inst_v, phase_v))

+ 11 - 3
model/model.py

@@ -133,6 +133,7 @@ class MvKState(object):
         self.root = None
         self.current_user = None
         self.loaded_primitives = False
+        self.execution_counter = 0
 
     def __str__(self):
         return "\nMvK: %s\n" % self.mvk + \
@@ -144,10 +145,11 @@ class MvKState(object):
                 "phase: %s\n" % self.phase + \
                 "commands: %s\n" % self.commands + \
                 "root: %s\n" % self.root + \
-                "current user: %s\n" % self.current_user
+                "current user: %s\n" % self.current_user + \
+                "execution counter: %s\n"
 
 class ModelverseKernel(AtomicDEVS):
-    def __init__(self):
+    def __init__(self, rules_per_phase):
         AtomicDEVS.__init__(self, "MvK")
         self.state = MvKState()
 
@@ -156,6 +158,8 @@ class ModelverseKernel(AtomicDEVS):
         self.to_mvi = self.addOutPort("to_MvI")
         self.to_mvs = self.addOutPort("to_MvS")
 
+        self.rules_per_phase = rules_per_phase
+
     def extTransition(self, inputs):
         if self.from_mvi in inputs:
             # Got input from MvI, so we queue it
@@ -373,6 +377,7 @@ class System(CoupledDEVS):
     def __init__(self,
                 username,
                 operations,
+                rules_per_phase,
                 mvi2mvk_latency,
                 mvi2mvk_bandwidth,
                 mvk2mvs_latency,
@@ -408,7 +413,9 @@ class System(CoupledDEVS):
                             username            = username,
                             operations          = operations
                         ))
-        self.mvk = self.addSubModel(ModelverseKernel())
+        self.mvk = self.addSubModel(ModelverseKernel(\
+                            rules_per_phase     = rules_per_phase
+                        ))
         self.mvs = self.addSubModel(ModelverseState(\
                             read_root           = read_root,
                             create_node         = create_node,
@@ -491,6 +498,7 @@ args = {
         "read_reverse_dict":    lambda: 1,
         "delete_node":          lambda: 1,
         "delete_edge":          lambda: 1,
+        "rules_per_phase":     200,
     }
 
 model = System(**args)