ltl2tgba.html: Adjust for ltl3ba 1.1.0
ltl3ba 1.1.0 was released today * wrap/python/ajax/spot.in: Use -T3 instead of -U. * wrap/python/ajax/README: Adjust version. * wrap/python/ajax/ltl2tgba.html: Turn on improved determinism of ltl3ba by default. * bench/ltl2tgba/tools, bench/spin13/run.sh: Adjust options. * bench/spin13/README: Mention the update.
This commit is contained in:
parent
ef6d175ace
commit
a4b6faba20
6 changed files with 33 additions and 24 deletions
|
|
@ -1,5 +1,5 @@
|
|||
## -*- coding: utf-8; mode: sh -*-
|
||||
## Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
||||
## Copyright (C) 2013, 2015 Laboratoire de Recherche et Développement de
|
||||
## l'Epita (LRDE).
|
||||
##
|
||||
## This file is part of Spot, a model checking library.
|
||||
|
|
@ -27,10 +27,10 @@ set dummy
|
|||
# Add third-party tools if they are available.
|
||||
test -n "$SPIN" && set "$@" "{spin} $SPIN -f %s >%N"
|
||||
test -n "$LTL2BA" && set "$@" "{ltl2ba} $LTL2BA -f %s >%N"
|
||||
test -n "$LTL3BA" && set "$@" "{ltl3ba} $LTL3BA -f %s >%N" \
|
||||
"{ltl3ba-M} $LTL3BA -M -f %s >%N" \
|
||||
"{ltl3ba-S} $LTL3BA -S -f %s >%N" \
|
||||
"{ltl3ba-SM} $LTL3BA -S -M -f %s >%N"
|
||||
test -n "$LTL3BA" && set "$@" "{ltl3ba-LS0} $LTL3BA -L -S0 -f %s >%N" \
|
||||
"{ltl3ba-MS0} $LTL3BA -M -S0 -f %s >%N" \
|
||||
"{ltl3ba-LS2} $LTL3BA -L -S2 -f %s >%N" \
|
||||
"{ltl3ba-MS2} $LTL3BA -M -S2 -f %s >%N"
|
||||
|
||||
# Use -s to output a neverclaim, like the other tools.
|
||||
set "$@" \
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ This contains most of the a benchmark used for the paper
|
|||
|
||||
To appear in the proceedings of Spin'13.
|
||||
|
||||
By "most" we means that some lines of the table we actually be missing
|
||||
By "most" we means that some lines of the table will actually be missing
|
||||
because we cannot compute them with the current version of Spot. The
|
||||
missing lines are those with a small "a", that use the old SCC-based
|
||||
simplification, and not the new one which is presented in section 4.1
|
||||
|
|
@ -19,6 +19,9 @@ exactly the same versions (yes, that's a plural), please head over to
|
|||
Keep in mind that as Spot is evolving, the results from this benchmark
|
||||
may evolve (hopefully for the best!) with time.
|
||||
|
||||
The benchmark has been updated to use ltl3ba 1.1.0 released on
|
||||
2014-01-23 (because the set of optimizations that are now activated
|
||||
by default is different).
|
||||
|
||||
Running instructions
|
||||
====================
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
||||
# l'Epita (LRDE).
|
||||
# Copyright (C) 2013, 2015 Laboratoire de Recherche et Développement
|
||||
# de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
#
|
||||
|
|
@ -69,8 +69,8 @@ if test $# = 2; then
|
|||
# Deter
|
||||
|
||||
$ba && set "$@" \
|
||||
": LTL3BA NoSim NoSusp Deter; ltl3ba -A -M -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp Deter; ltl3ba -S -A -M -f %s >%N" \
|
||||
": LTL3BA NoSim NoSusp Deter; ltl3ba -S0 -A -M -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp Deter; ltl3ba -S2 -A -M -f %s >%N" \
|
||||
": Cou99 '(Ad)' Deter; $ltl2tgba $opt $nosim --deter -x !degen-reset,!degen-lcache %f"
|
||||
set "$@" \
|
||||
": Cou99 '(A${D})' Deter; $ltl2tgba $opt $nosim --deter %f"
|
||||
|
|
@ -81,8 +81,8 @@ if test $# = 2; then
|
|||
": Cou99 '(AS${DB})' Deter; $ltl2tgba $opt --deter %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASdB)' Deter; $ltl2tgba $opt --deter -x !degen-reset,!degen-lcache %f" \
|
||||
": LTL3BA NoSim Susp Deter; ltl3ba -M -f %s >%N" \
|
||||
": LTL3BA Sim Susp Deter; ltl3ba -S -M -f %s >%N"
|
||||
": LTL3BA NoSim Susp Deter; ltl3ba -S0 -M -f %s >%N" \
|
||||
": LTL3BA Sim Susp Deter; ltl3ba -S2 -M -f %s >%N"
|
||||
set "$@" \
|
||||
": Comp '(A${D})' Deter; $ltl2tgba -x comp-susp,!skel-simul $opt $nosim --deter %f" \
|
||||
": Comp '(A${D})' Deter Early; $ltl2tgba -x comp-susp,!skel-simul,early-susp $opt $nosim --deter %f"
|
||||
|
|
@ -96,8 +96,8 @@ if test $# = 2; then
|
|||
# Small
|
||||
|
||||
$ba && set "$@" \
|
||||
": LTL3BA NoSim NoSusp; ltl3ba -A -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp; ltl3ba -S -A -f %s >%N" \
|
||||
": LTL3BA NoSim NoSusp; ltl3ba -S0 -L -A -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp; ltl3ba -S2 -L -A -f %s >%N" \
|
||||
": Cou99 '(Ad)' Small; $ltl2tgba $opt $nosim --small -x !degen-reset,!degen-lcache %f"
|
||||
set "$@" \
|
||||
": Cou99 '(A${D})' Small; $ltl2tgba $opt $nosim --small %f"
|
||||
|
|
@ -108,8 +108,8 @@ if test $# = 2; then
|
|||
": Cou99 '(AS${DB})' Small; $ltl2tgba $opt --small %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASdB)' Small; $ltl2tgba $opt --small -x !degen-reset,!degen-lcache %f" \
|
||||
": LTL3BA NoSim Susp; ltl3ba -f %s >%N" \
|
||||
": LTL3BA Sim Susp; ltl3ba -S -f %s >%N"
|
||||
": LTL3BA NoSim Susp; ltl3ba -S0 -L -f %s >%N" \
|
||||
": LTL3BA Sim Susp; ltl3ba -S2 -L -f %s >%N"
|
||||
set "$@" \
|
||||
": Comp '(A${D})' Small; $ltl2tgba -x comp-susp,!skel-wdba,!skel-simul $opt $nosim --small %f" \
|
||||
": Comp '(A${D})' Small Early; $ltl2tgba -x comp-susp,!skel-wdba,!skel-simul,early-susp $opt $nosim --small %f"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ In both cases you should ensure that the command `dot', from the
|
|||
GraphViz package, is in the PATH. configure should have picked it up.
|
||||
|
||||
The "ltl3ba" tab will only be enabled if ltl3ba is available (as
|
||||
checked by ./configure) and supports options -v/-U/-T (checked by the
|
||||
CGI script). These option were introduced into ltl3ba version 1.0.2.
|
||||
checked by ./configure) and supports options -v/-T/-T3 (checked by the
|
||||
CGI script). These option were introduced into ltl3ba version 1.1.0.
|
||||
|
||||
|
||||
Standalone usage
|
||||
|
|
|
|||
|
|
@ -642,7 +642,7 @@ an identifier: <span class="formula">aUb</span> is an atomic proposition, unlike
|
|||
SCC simplifications
|
||||
</label><br>
|
||||
<label class="rtip" title="Try to improve the automaton's determinism when building it. This may produce larger automata.">
|
||||
<INPUT type="checkbox" name="l3" value="M">
|
||||
<INPUT type="checkbox" name="l3" value="M" checked>
|
||||
more deterministic output
|
||||
</label><br>
|
||||
<label class="rtip" title="Compute a direct (a.k.a. strong fair) simulation relation to reduce the size of the Büchi automaton.">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!@PYTHON@
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2011, 2012, 2013, 2014 Laboratoire de Recherche et
|
||||
# Copyright (C) 2011, 2012, 2013, 2014, 2015 Laboratoire de Recherche et
|
||||
# Développement de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -364,7 +364,9 @@ if output_type == 'v':
|
|||
if output_type == 'v3':
|
||||
import subprocess
|
||||
try:
|
||||
l3proc = subprocess.Popen(['@LTL3BA@', '-v'], stdout=subprocess.PIPE)
|
||||
# -L is new in 1.1.0, and older versions will complain about it.
|
||||
l3proc = subprocess.Popen(['@LTL3BA@', '-L', '-v'],
|
||||
stdout=subprocess.PIPE)
|
||||
(ver, err) = l3proc.communicate()
|
||||
err = l3proc.returncode
|
||||
except:
|
||||
|
|
@ -538,10 +540,12 @@ elif translator == 'ta':
|
|||
automaton = spot.tgba_dupexp_dfs(spot.ltl_to_taa(f, dict, refined_rules))
|
||||
elif translator == 'l3':
|
||||
l3out = '-T'
|
||||
l3opt = { '-l', '-P', '-A', '-c', '-C', '-o', '-p' }
|
||||
# 1.0.1 had determinization and simulation turned off by default,
|
||||
# we need -L and -S0 with 1.1.0 for the same effect
|
||||
l3opt = { '-l', '-P', '-A', '-c', '-C', '-o', '-p', '-L', '-S0' }
|
||||
for lo in form.getfirst('lo', 'T'):
|
||||
if lo == 'U':
|
||||
l3out = '-U'
|
||||
l3out = '-T3' # was -U in ltl3ba 1.0.1, now -T3 since 1.1.0
|
||||
issba = True
|
||||
for l3 in form.getlist('l3'):
|
||||
if l3 == 'l':
|
||||
|
|
@ -554,9 +558,11 @@ elif translator == 'l3':
|
|||
l3opt.remove('-C')
|
||||
l3opt.remove('-c')
|
||||
elif l3 == 'M':
|
||||
l3opt.remove('-L')
|
||||
l3opt.add('-M')
|
||||
elif l3 == 'S':
|
||||
l3opt.add('-S')
|
||||
l3opt.remove('-S0')
|
||||
l3opt.add('-S2') # was -S in 1.0.1
|
||||
elif l3 == 'o':
|
||||
l3opt.remove('-o')
|
||||
elif l3 == 'p':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue