print("_______________________________________________") print("incremental places: " + str(res.n_places)) print("incremental trans: " + str(len(res.transitions))) print("_______________________________________________") print("conjunction places: " + str(res2.n_places)) print("conjunction trans: " + str(len(res2.transitions))) res.remove_dead_trans_tina() res2.remove_dead_trans_tina() if True: plant_sup_trans_map=pac.build_plant_sup_trans_map(pn, res2) mod_places_mapping=pac.build_modified_places_mapping(pn, res2, plant_sup_trans_map) input_place_combs=pac.InputPlaceCombs(mod_places_mapping) for (trans, places_list, ks_list) in zip(pn.transitions, input_place_combs.place_ids, input_place_combs.all_ks): if trans.event in uc_events: for (place_ids, k_tuples) in zip(places_list, ks_list): for k_tuple in k_tuples: pcm=pac.PartialCoveringMarking(trans, res2.n_places, place_ids, k_tuple) (new_pn, reach_marking) = pac.build_pn_from_partial_cover_marking(pcm, res2) print("CHECKING") new_pn.check_reachability(reach_marking)
print(res.n_places) print(len(res.transitions)) #formulas_list=formulas_list[1:]+[formulas_list[0]] n_specs=1 for (formula, spgec_def) in zip(formulas_list, spgecs_list): ltl_dfa=LtlDfa(formula) res=alg_pn_compositions.alg_pn_ltl_dfa_composition(res,ltl_dfa,spgec_def,n_specs) #print(res.n_places) #print(len(res.transitions)) res.remove_dead_trans_lola() #print(res.n_places) #print(len(res.transitions)) n_specs+=1 trans_map=pn_admis_check.build_plant_sup_trans_map(pn, res) mod_places=pn_admis_check.build_modified_places_mapping(pn, res, trans_map) mod_places_obj=pn_admis_check.InputPlaceCombs(mod_places) #for i in range(0, len(pn.transitions)): #trans=pn.transitions[i] #if trans.event in pn.uc_events: #place_ids=mod_places_obj.place_ids[i] #all_ks=mod_places_obj.all_ks[i] #for (mod_places, ks) in zip(place_ids, all_ks): #for k_tuple in ks: #partial_cover_marking=pn_admis_check.PartialCoverMarking(trans, res.n_places, mod_places, k_tuple) #(new_sup, marking)=pn_admis_check.build_pn_from_partial_cover_marking(partial_cover_marking, res) #new_sup.check_reachability(marking) ##new_sup.remove_dead_trans_tina() ##new_sup.random_run(0)