Commit a4b6faba authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

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.
parent ef6d175a
## -*- 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
====================
......
#!/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.">
......
#!@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':
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment