Beispiel #1
0
 def replay_process(self) -> None:
     """
     Process replaying
     """
     replayer = rpl.LogReplayer(self.process_graph, self.log, self.settings)
     self.process_stats = replayer.process_stats
     self.conformant_traces = replayer.conformant_traces
Beispiel #2
0
 def read_stats(settings, bpmn, rep):
     """Reads the simulation results stats
     Args:
         settings (dict): Path to jar and file names
         rep (int): repetition number
     """
     m_settings = dict()
     m_settings['output'] = settings['output']
     m_settings['file'] = settings['file']
     column_names = {'resource': 'user'}
     m_settings['read_options'] = settings['read_options']
     m_settings['read_options']['timeformat'] = '%Y-%m-%d %H:%M:%S.%f'
     m_settings['read_options']['column_names'] = column_names
     temp = lr.LogReader(
         os.path.join(
             m_settings['output'], 'sim_data',
             m_settings['file'].split('.')[0] + '_' + str(rep + 1) +
             '.csv'), m_settings['read_options'])
     process_graph = gph.create_process_structure(bpmn)
     results_replayer = rpl.LogReplayer(process_graph,
                                        temp,
                                        settings,
                                        source='simulation',
                                        run_num=rep + 1)
     temp_stats = results_replayer.process_stats
     temp_stats['role'] = temp_stats['resource']
     return temp_stats
 def _replay_process(self) -> None:
     """
     Process replaying
     """
     replayer = rpl.LogReplayer(self.process_graph,
                                self.log.get_traces(),
                                self.parms,
                                msg='reading conformant training traces:')
     self.log = replayer.process_stats.rename(columns={'resource': 'user'})
     self.log['user'] = self.log['user'].fillna('sys')
     self.log = self.log.to_dict('records')
 def _replay_process(self) -> None:
     """
     Process replaying
     """
     replayer = rpl.LogReplayer(self.process_graph,
                                self.log.get_traces(),
                                self.settings,
                                msg='reading conformant training traces:')
     self.process_stats = replayer.process_stats
     self.process_stats['role'] = 'SYSTEM'
     self.conformant_traces = replayer.conformant_traces
Beispiel #5
0
 def read_inputs(self, **kwargs) -> None:
     # Output folder creation
     if not os.path.exists(self.settings['output']):
         os.makedirs(self.settings['output'])
         os.makedirs(os.path.join(self.settings['output'], 'sim_data'))
     # Event log reading
     self.log = lr.LogReader(
         os.path.join(self.settings['input'], self.settings['file']),
         self.settings['read_options'])
     # Time splitting 80-20
     self.split_timeline(0.2,
                         self.settings['read_options']['one_timestamp'])
     # Create customized event-log for the external tools
     xes.XesWriter(self.log, self.settings)
     # Execution steps
     self.mining_structure(self.settings)
     self.bpmn = br.BpmnReader(
         os.path.join(self.settings['output'],
                      self.settings['file'].split('.')[0] + '.bpmn'))
     self.process_graph = gph.create_process_structure(self.bpmn)
     # Replaying test partition
     print("-- Reading test partition --")
     try:
         test_replayer = rpl.LogReplayer(
             self.process_graph,
             self.get_traces(
                 self.log_test,
                 self.settings['read_options']['one_timestamp']),
             self.settings)
         self.process_stats = test_replayer.process_stats
         self.process_stats = pd.DataFrame.from_records(self.process_stats)
         self.log_test = test_replayer.conformant_traces
     except AssertionError as e:
         print(e)
         self.status = STATUS_FAIL
         print("-- End of trial --")