def graph_ba(pair, opts): # input: TGBA # output: results{'graph', ''} # results = {'mp-prop-pair':[]} # temp ltl = pair[0] mplist = pair[1] cmd_ltl3ba = './translator/ltl3ba -f ' + '\'' +tmtc.ltl_out(ltl)+ '\'' st = time.time() ltl3ba = subprocess.Popen(cmd_ltl3ba,shell=True,close_fds=True,stdout=subprocess.PIPE) out = ltl3ba.stdout graph = gg.nvc2graph(out, st, opts) if graph: props = [] for mp in mplist: results['mp-prop-pair'].append({'mp':tltl._simplify_all_term_in_mp(mp), 'prop':tltl.get_proplist(mp)}) results['graph'] = graph # results['mplist'] = copy.deepcopy(mplist) # results['mpprops'] = props if opts.pdebug: print " props:",props en = time.time() tctime = str(en-st)+' -- ltl3ba -> Graph Total Construction Time ' print tctime results['time'] = tctime return results else: return False
def graph_tgba(pair, opts): # input: TGBA # output: results{'graph', 'time'} # results = {'mp-prop-pair': []} ltl = pair[0] mp_list = pair[1] cmd_ltl2tgba = 'ltl2tgba --low -f ' + '\'' +tmtc.ltl_out(ltl)+ '\'' st = time.time() constime = time.time() ltl2tgba = subprocess.Popen(cmd_ltl2tgba, shell=True, close_fds=True, stdout=subprocess.PIPE) out = ltl2tgba.stdout graph = gg.tgba2graph(out, constime, opts) if graph: props = [] for mp in mp_list: results['mp-prop-pair'].append({'mp':tltl._simplify_all_term_in_mp(mp), 'prop':tltl.get_proplist(mp)}) results['graph'] = graph if opts.pdebug: print "\t\tprops:", props en = time.time() tctime = str(en-st) print tctime + ' -- ltl2tgba -> Graph Conversion Time ' results['time'] = tctime return results else: return False
def make_graph(self): st = time.time() self.pair_mp_prop = [{'mp': tltl._simplify_all_term_in_mp(mp), 'prop': tltl.get_proplist(mp)} for mp in self.pair[1]] self.graph = self._make_graph_by_opts() en = time.time() self.time.append(('make_graph(scc_u):', en - st)) if not self.graph: #print "non-graph" raise ValueError else: #self._show_graph_info(self.graph) pass