Add cosimulation and iterated_simulations to the web interface.
* wrap/python/spot.i (cosimulation, iterated_simulations): Declare. * wrap/python/ajax/spot.in, wrap/python/ajax/protocol.txt, wrap/python/ajax/ltl2tgba.html: Add options to trigger these two optimizations.
This commit is contained in:
parent
84b6240aa9
commit
74bd671350
4 changed files with 42 additions and 4 deletions
|
|
@ -579,6 +579,8 @@ if output_type == 'm':
|
|||
prune_scc = False
|
||||
wdba_minimize = False
|
||||
direct_simul = False
|
||||
reverse_simul = False
|
||||
iterated_simul = False
|
||||
for s in form.getlist('as'):
|
||||
if s == 'ps':
|
||||
prune_scc = True
|
||||
|
|
@ -586,6 +588,10 @@ for s in form.getlist('as'):
|
|||
wdba_minimize = True
|
||||
elif s == 'ds':
|
||||
direct_simul = True
|
||||
elif s == 'rs':
|
||||
reverse_simul = True
|
||||
elif s == 'is':
|
||||
iterated_simul = True
|
||||
|
||||
ta_type = None
|
||||
buchi_type = None
|
||||
|
|
@ -631,9 +637,20 @@ if wdba_minimize:
|
|||
issba = True
|
||||
direct_simul = False # No need to simulate anymore
|
||||
|
||||
if direct_simul:
|
||||
if direct_simul and not iterated_simul:
|
||||
automaton = spot.simulation(automaton)
|
||||
issba = False
|
||||
if reverse_simul and not iterated_simul:
|
||||
automaton = spot.cosimulation(automaton)
|
||||
issba = False
|
||||
if iterated_simul:
|
||||
automaton = spot.iterated_simulations(automaton)
|
||||
issba = False
|
||||
|
||||
if prune_scc and (direct_simul or reverse_simul):
|
||||
# Make a second pass after the simulation, since these might leave
|
||||
# extra acceptance conditions.
|
||||
automaton = spot.scc_filter(automaton, not degen)
|
||||
|
||||
if degen or neverclaim:
|
||||
degen = spot.degeneralize(automaton)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue