|
@@ -398,7 +398,8 @@ class ModelverseInterface(AtomicDEVS):
|
|
|
def intTransition(self):
|
|
|
self.state.create_additional_task = []
|
|
|
if not self.state.send_operations:
|
|
|
- self.state.operations.pop(0)
|
|
|
+ if self.state.operations[0] is not None:
|
|
|
+ self.state.operations.pop(0)
|
|
|
else:
|
|
|
for k in self.state.send_operations.keys():
|
|
|
if self.state.send_operations[k]:
|
|
@@ -409,7 +410,7 @@ class ModelverseInterface(AtomicDEVS):
|
|
|
|
|
|
def extTransition(self, inputs):
|
|
|
for inp in inputs[self.from_mvk]:
|
|
|
- #print(inp)
|
|
|
+ print(inp)
|
|
|
self.state.blocked = False
|
|
|
|
|
|
self.state.output.setdefault(inp[0], []).append(inp[1])
|
|
@@ -429,20 +430,15 @@ class ModelverseInterface(AtomicDEVS):
|
|
|
_, task_name = prev_output.split("Spawned activity on task: ", 1)
|
|
|
self.state.blocked = True
|
|
|
self.state.task_to_spawner[task_name] = None
|
|
|
- # NOTE We now know that there is something to do on an other task, so we just wait for that event to come in
|
|
|
- self.state.operations.insert(0, None)
|
|
|
- self.state.operations.insert(0, None)
|
|
|
elif prev_output.startswith("Finished task: "):
|
|
|
self.state.blocked = True
|
|
|
elif " : " in prev_output:
|
|
|
task_name, _ = prev_output.split(" : ", 1)
|
|
|
self.state.blocked = True
|
|
|
self.state.task_to_spawner[task_name] = None
|
|
|
- # NOTE We now know that there is something to do on an other task, so we just wait for that event to come in
|
|
|
- self.state.operations.insert(0, None)
|
|
|
self.state.operations.insert(0, None)
|
|
|
elif prev_output == "Success":
|
|
|
- self.state.operations.pop(0)
|
|
|
+ self.state.operations = [["echo", "FINISHED"]]
|
|
|
self.state.blocked = False
|
|
|
|
|
|
elif inp[0] != self.taskname:
|
|
@@ -487,12 +483,12 @@ class ModelverseInterface(AtomicDEVS):
|
|
|
if v and v[0] is not None:
|
|
|
outp.append((k, v[0]))
|
|
|
if outp:
|
|
|
- #print("SEND " + str(outp))
|
|
|
+ print("SEND " + str(outp))
|
|
|
return {self.to_mvk: outp}
|
|
|
else:
|
|
|
return {}
|
|
|
elif self.state.operations and self.state.operations[0] is not None:
|
|
|
- #print("SEND " + str([(self.taskname, self.state.operations[0])]))
|
|
|
+ print("SEND " + str([(self.taskname, self.state.operations[0])]))
|
|
|
return {self.to_mvk: [(self.taskname, self.state.operations[0])]}
|
|
|
else:
|
|
|
return {}
|
|
@@ -743,5 +739,5 @@ if __name__ == "__main__":
|
|
|
i += 2
|
|
|
ts, te = simulate(args)
|
|
|
|
|
|
- print("Simulation time %s" % ts)
|
|
|
- print("Execution time %s" % te)
|
|
|
+ print("Execution time %s" % ts)
|
|
|
+ print("Simulation time %s" % te)
|