Parcourir la source

Make MvS start with the correct bootfile; fix minor problems

Yentl Van Tendeloo il y a 9 ans
Parent
commit
206212503c
1 fichiers modifiés avec 9 ajouts et 5 suppressions
  1. 9 5
      model/model.py

+ 9 - 5
model/model.py

@@ -34,7 +34,7 @@ class MvSState(object):
     def __init__(self):
         self.queue = []
         self.output = None
-        self.mvs = MvS()
+        self.mvs = MvS("../bootstrap/bootstrap.m")
         self.timer = float("inf")
 
 class ModelverseState(AtomicDEVS):
@@ -131,6 +131,7 @@ class MvKState(object):
         self.reply = None
         self.phase = None
         self.commands = None
+        self.root = None
 
     def __str__(self):
         return "\nMvK: %s\n" % self.mvk + \
@@ -140,7 +141,8 @@ class MvKState(object):
                 "users: %s\n" % self.users + \
                 "reply: %s\n" % self.reply + \
                 "phase: %s\n" % self.phase + \
-                "commands: %s\n" % self.commands
+                "commands: %s\n" % self.commands + \
+                "root: %s\n" % self.root
 
 class ModelverseKernel(AtomicDEVS):
     def __init__(self):
@@ -163,11 +165,13 @@ class ModelverseKernel(AtomicDEVS):
 
         if self.from_mvs in inputs:
             # Got input from MvS, so we can continue processing
+            mvs_input = [i[0] for i in inputs[self.from_mvs]]
             if self.state.mvk is None:
                 # No MvK, so set it with the root we have just received (or should have received)
-                self.state.mvk = MvK(inputs[self.from_mvs][0])
+                self.state.root = mvs_input[0]
+                self.state.mvk = MvK(self.state.root)
             else:
-                self.state.reply = inputs[self.from_mvs][0]
+                self.state.reply = inputs[self.from_mvs]
             self.state.waiting = False
 
         return self.state
@@ -185,7 +189,7 @@ class ModelverseKernel(AtomicDEVS):
             if len(self.state.users) == 0:
                 # Read out new set of users first
                 if self.state.reply is None:
-                    commands = [("RDK", [])]
+                    commands = [("RDK", [self.state.root])]
                 else:
                     self.users = self.state.reply
                     print("Got users: " + str(self.users))