|
@@ -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)
|