Esempio n. 1
0
def main():
    """
    Program main method starts by parsing the DCR graph afterwards retrieving the Event Log
    subsequently the conformance is checked
    :return:
    """
    global dcr_graph

    # input
    dcr_graph = DCRGraph.get_graph_instance(xml_path)
    event_log = eventlog_parser.get_event_log(data_path, use_celonis)
    ca = ConformanceAnalysisData()
    # throughput
    # if parallel is set: a thread pool is created
    if parallel:

        threads = []
        for trace in event_log.Traces:
            t = Thread(target=perform_conformance_checking, args=(trace, ca))
            threads.append(t)
        for t in threads:
            t.start()
        for t in threads:
            t.join()
    # sequential conformance checking (Debugging purposes)
    else:
        for trace in event_log.Traces:
            perform_conformance_checking(trace, ca)
    # output
    create_conformance_output(ca, event_log)
Esempio n. 2
0
 def setUp(self):
     event_log_path = 'FRQ4 input files/FRQ4evaluationlog1.xes'
     dcr_graph_path = 'FRQ4 input files/FRQ4_evaluation.xml'
     self.dcr_graph = DCRGraph.get_graph_instance(dcr_graph_path)
     self.event_log = eventlog_parser.get_event_log(event_log_path)
     self.ca = ConformanceAnalysisData()
     cc_dcr.add_dcr_graph_for_test(self.dcr_graph)
     for trace in self.event_log.Traces:
         cc_dcr.perform_conformance_checking(trace, self.ca)
Esempio n. 3
0
 def test_parse_xes(self):
     event_log = eventlog_parser.get_event_log(os.path.join(os.path.dirname(__file__),
                                                            './test_resources/event_log.xes'))
     self.assertTrue(len(event_log.Traces) == 132)
     for trace in event_log.Traces:
         self.assertIsNotNone(trace.Events)
         for event in trace.Events:
             self.assertIsNotNone(event.EventName)
             self.assertIsNotNone(event.Timestamp)
             self.assertIsNotNone(event.Attributes)
             self.assertIsNotNone(event.Role)
Esempio n. 4
0
 def setUp(self):
     """
     Set up unit test environment
     """
     event_log_path = 'FRQ7 input files/FRQ7evaluationlog2.xes'
     dcr_graph_path = 'FRQ7 input files/FRQ7_evaluation (4).xml'
     self.dcr_graph = DCRGraph.get_graph_instance(dcr_graph_path)
     self.event_log = eventlog_parser.get_event_log(event_log_path)
     self.ca = ConformanceAnalysisData()
     cc_dcr.add_dcr_graph_for_test(self.dcr_graph)
     for trace in self.event_log.Traces:
         cc_dcr.perform_conformance_checking(trace, self.ca)
Esempio n. 5
0
 def setUp(self):
     """
     Set up unit test environment
     """
     event_log_path = 'FRQ8 input files/FRQ8evaluationlog1.xes'
     dcr_graph_path = 'FRQ8 input files/FRQ8_evaluation10.xml'
     self.dcr_graph = DCRGraph.get_graph_instance(dcr_graph_path)
     self.event_log = eventlog_parser.get_event_log(event_log_path)
     self.ca = ConformanceAnalysisData()
     cc_dcr.add_dcr_graph_for_test(self.dcr_graph)
     for trace in self.event_log.Traces:
         cc_dcr.perform_conformance_checking(trace, self.ca)
     self.violated_traces = self.ca.create_violated_traces_dict()