def __init__(self, filename, nfilename=None, max_coef=10, smt_timeout_iter=0, smt_timeout_matrix=0, positive_log=None): self.filename = filename parser = PnmlParser(filename) parser.parse() self.net = parser.petrinet self.dim = parser.dim self.event_dictionary = parser.event_dictionary self.positive_log = positive_log # Helper pach. Doesn't actually compute hull self.pach = PacH(filename,nfilename=nfilename) self.pach.event_dictionary = parser.event_dictionary self.pach.reversed_dictionary = rotate_dict(parser.event_dictionary) self.pach.parse_negatives() qhull = self.net.get_qhull() # Hull for NO SMT qhull_no_smt = copy.deepcopy(qhull) # Hull for SMT iterative simp qhull_smt_iter = copy.deepcopy(qhull) # Hull for SMT matrix simp qhull_smt_matrix = copy.deepcopy(qhull) self.comparator = Comparator(qhull_no_smt, qhull_smt_iter, qhull_smt_matrix, max_coef, smt_timeout_iter, smt_timeout_matrix)
def __init__(self, pnml_file, xes_log=None): self.pnml_file = pnml_file parser = PnmlParser(pnml_file) parser.parse() self.net = parser.petrinet self.dim = parser.dim self.event_dictionary = parser.event_dictionary self.xes_log = xes_log self.qhull = self.net.get_qhull()
def pnml_main(): usage = """ Usage: ./pnml.py <PNML filename> [--verbose][--debug][--check <XES Log filename>] """ if not check_argv(sys.argv, minimum=1, maximum=5): print usage ret = -1 else: ret = 0 try: filename = sys.argv[1] if not (filename.endswith('.pnml')): print filename, ' does not end in .pnml. It should...' raise Exception('Filename has wrong extension') if not isfile(filename): raise Exception("No such file") if '--debug' in sys.argv: pdb.set_trace() obj = PnmlParser(filename) obj.parse() if '--verbose' in sys.argv: print 'Parse done.' print obj.petrinet qhull = obj.petrinet.get_qhull() if '--check' in sys.argv or '-c' in sys.argv: lidx = '-c' in sys.argv and sys.argv.index('-c') or\ sys.argv.index('--check') log_file = sys.argv[lidx+1] if not (log_file.endswith('.xes')): print log_file, ' does not end in .xes. It should...' raise Exception('Filename does not end in .xes') if not isfile(log_file): raise Exception("No such file") qhull.all_in_file(log_file, event_dictionary=obj.event_dictionary) if '--verbose' in sys.argv: print 'Got qhull representation whith %s facets.'%(len(qhull.facets)) print 'This are them:\n' for facet in qhull.facets:print facet except Exception, err: ret = 1 if hasattr(err, 'message'): print 'Error: ', err.message else: print 'Error: ', err logger.error('Error: %s' % err, exc_info=True) raise err return ret