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
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
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 --")