Esempio n. 1
0
 def __init__(self, cfr, module, solver, metrics_variables,
              metrics_objective_direction):
     self.cfr = cfr
     self.module = module
     self.solvers = replicateSolver(solver, Options.CORES)
     self.metrics_variables = metrics_variables
     self.metrics_objective_direction = metrics_objective_direction
     self.clock = Clock()
     self.consumerConstraints = self.splitter()
Esempio n. 2
0
 def __init__(self, task_queue, result_queue, cfr, timeQueue, index,
              outputFileParentName, num_consumers, s, consumerConstraints):
     multiprocessing.Process.__init__(self)
     self.task_queue = task_queue
     self.result_queue = result_queue
     self.timeQueue = timeQueue
     self.cfr = cfr
     self.solver = s
     self.consumerConstraints = consumerConstraints
     self.index = index
     self.num_consumers = num_consumers
     self.clock = Clock()
Esempio n. 3
0
 def __init__(self, fenetre, COMport):
     self.logger = logging.getLogger("socket")
     self.mode = 'remote'
     # on memorise la fenetre associée à ce compteur
     self.fenetre = fenetre
     # initialisation du port COM
     self.vtr = protocoleVTR(COMport)
     # initialisation de la machine à état
     self.state = StateMachine('stopped')
     # initialisation de l'horloge
     self.clock = Clock()
     self.clock.initCounterWithSeconds(0)
     self.logger.info(
         "interfaceVTR {ver}: Starting".format(ver=self.current_version))
Esempio n. 4
0
def run():
    '''
    Runs the Z3-translator on each pair (file, numInstances) in tests, 
    and ensures that the number of generated models equals numInstances.
    '''
    clock = Clock()
    tests = getTestSet()
    num_passed = 0
    exceptions = 0
    exception_list = []
    failed_list = []
    temp_model_count = Options.NUM_INSTANCES
    for t in tests:
        (file, expected_model_count) = t
        try:
            if expected_model_count == Options.INFINITE and Options.NUM_INSTANCES < 0:
                #will change it back after the test runs
                Options.NUM_INSTANCES = 5
            
            module = file.getModule()
            print_separate("Attempting: " + str(file.__name__))
            clock.tick("Total Z3 Run Time")
            cfr = ClaferModel(module)
            actual_model_count = cfr.run()
            clock.tack("Total Z3 Run Time")
            clock = clock.combineClocks(cfr.clock)
            if(expected_model_count == actual_model_count or 
               (expected_model_count == Options.INFINITE and actual_model_count == Options.NUM_INSTANCES)):
                print("PASSED: " + str(file.__name__))
                num_passed = num_passed + 1
            else:
                failed_list.append(str(file.__name__))
                print("FAILED: " + str(file.__name__) + " " + str(expected_model_count) + " " + str(actual_model_count))
        except:
            print("FAILED: " + str(file.__name__) + " " + "\nException raised.")
            traceback.print_exc()
            exception_list.append(str(file.__name__))
            exceptions = exceptions + 1
        Options.NUM_INSTANCES = temp_model_count    
    print_separate("Results: " + str(num_passed) + "/" + str(len(tests)) + "\n| " + 
                   "Failed List: " + str(failed_list) + "\n| " +
                   "Exceptions: " + str(exceptions) + "/" + str(len(tests)) + "\n| " +
                   "Exception List: " + str(exception_list))
    clock.printEvents()
Esempio n. 5
0
    def __init__(self, task_queue, result_queue, cfr, timeQueue, index,
                 outputFileParentName, num_consumers, s, metrics_variables,
                 metrics_objective_direction, consumerConstraints):
        multiprocessing.Process.__init__(self)
        self.task_queue = task_queue
        self.result_queue = result_queue
        self.timeQueue = timeQueue
        self.cfr = cfr
        self.solver = s
        self.consumerConstraints = consumerConstraints
        self.index = index
        self.num_consumers = num_consumers
        self.ParetoFront = []
        self.clock = Clock()
        self.GIAOptions = GuidedImprovementAlgorithmOptions(verbosity=0, \
                        incrementallyWriteLog=False, \
                        writeTotalTimeFilename="timefile.csv", \
                        writeRandomSeedsFilename="randomseed.csv", useCallLogs=False)

        self.GIAAlgorithm = GuidedImprovementAlgorithm(self.cfr, self.solver, metrics_variables, \
                    metrics_objective_direction, [], options=self.GIAOptions)