def make_initial_node(self): initial_node = Node("init", None) self.generator.statespace.add_node(initial_node) self.generator.statespace.initial_node = initial_node gstate = GlobalState(self.generator.process_count) gcontext = GlobalContext(self, initial_node, gstate) # TODO: Do it in parallel for i in xrange(self.generator.process_count): context = gcontext.get_context(i) if not context.initial_run(): return False gcontext.make_node() gcontext.add_to_queue(None, False) return True
def start_controllers(self): # We do actions separately to allow parallel initialization for controller in self.controllers: controller.start(capture_syscalls=["write"]) for controller in self.controllers: controller.connect() initial_node = Node("init", None) self.statespace.add_node(initial_node) self.statespace.initial_node = initial_node gstate = GlobalState(self.process_count) gcontext = GlobalContext(self, initial_node, gstate) # TODO: Do it in parallel for i in xrange(self.process_count): context = gcontext.get_context(i) if not context.initial_run(): return False gcontext.make_node() gcontext.add_to_queue(None, False) return True