* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/README,
bench/ltl2tgba/algorithms, bench/ltl2tgba/big, bench/ltl2tgba/defs.in, bench/ltl2tgba/formulae.ltl, bench/ltl2tgba/known, bench/ltl2tgba/parseout.pl, bench/ltl2tgba/small: New files. * src/tgbatest/ltl2baw.pl: Move ... * bench/ltl2tgba/ltl2baw.in: ... here. * src/tgbatest/Makefile.am: Adjust. * configure.ac: Adjust.
This commit is contained in:
parent
7753938fe9
commit
a7cf769a24
14 changed files with 861 additions and 7 deletions
12
ChangeLog
12
ChangeLog
|
|
@ -1,3 +1,15 @@
|
||||||
|
2005-04-15 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
|
* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/README,
|
||||||
|
bench/ltl2tgba/algorithms, bench/ltl2tgba/big,
|
||||||
|
bench/ltl2tgba/defs.in, bench/ltl2tgba/formulae.ltl,
|
||||||
|
bench/ltl2tgba/known, bench/ltl2tgba/parseout.pl,
|
||||||
|
bench/ltl2tgba/small: New files.
|
||||||
|
* src/tgbatest/ltl2baw.pl: Move ...
|
||||||
|
* bench/ltl2tgba/ltl2baw.in: ... here.
|
||||||
|
* src/tgbatest/Makefile.am: Adjust.
|
||||||
|
* configure.ac: Adjust.
|
||||||
|
|
||||||
2005-04-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
2005-04-14 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
* src/tgbatest/ltl2tgba.cc (main): Delete the reduced automaton
|
* src/tgbatest/ltl2tgba.cc (main): Delete the reduced automaton
|
||||||
|
|
|
||||||
7
bench/ltl2tgba/.cvsignore
Normal file
7
bench/ltl2tgba/.cvsignore
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
||||||
|
*.cfg
|
||||||
|
*.txt
|
||||||
|
*.log
|
||||||
|
defs
|
||||||
|
ltl2baw.pl
|
||||||
11
bench/ltl2tgba/Makefile.am
Normal file
11
bench/ltl2tgba/Makefile.am
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
EXTRA_DIST = \
|
||||||
|
algorithms \
|
||||||
|
big \
|
||||||
|
formulae.ltl \
|
||||||
|
known \
|
||||||
|
parseout.pl \
|
||||||
|
small
|
||||||
|
CLEAN_FILES = \
|
||||||
|
big.cfg big.log big.txt \
|
||||||
|
small.cfg small.log small.txt \
|
||||||
|
known.cfg known.log known.txt
|
||||||
94
bench/ltl2tgba/README
Normal file
94
bench/ltl2tgba/README
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
This directory contains benchmark scripts for LTL-to-Büchi translators.
|
||||||
|
They are all based on lbtt.
|
||||||
|
|
||||||
|
==========
|
||||||
|
CONTENTS
|
||||||
|
==========
|
||||||
|
|
||||||
|
* algorithms
|
||||||
|
|
||||||
|
The lbtt configuration of all the algorithms. More about these below.
|
||||||
|
|
||||||
|
* small
|
||||||
|
* big
|
||||||
|
* known
|
||||||
|
|
||||||
|
Run lbtt on, respectively:
|
||||||
|
small formulae (size 10, 4 propositions)
|
||||||
|
big formulae (size 12..15, 8 propositions)
|
||||||
|
known formulae (96 formulae from formulae.ltl)
|
||||||
|
|
||||||
|
Each script generates 3 files:
|
||||||
|
xxxx.cfg: the configuration file for lbtt
|
||||||
|
xxxx.log: the log of lbtt's execution (also output when the script runs)
|
||||||
|
xxxx.txt: the sumary of the test (also output at the end of the script)
|
||||||
|
|
||||||
|
* ltl2baw.in
|
||||||
|
* ltl2baw.pl
|
||||||
|
|
||||||
|
ltl2baw.pl is generated from ltl2baw.in by configure. This perl
|
||||||
|
script converts the intermediate generalized automata computed by
|
||||||
|
ltl2ba into a form usable by lbtt.
|
||||||
|
|
||||||
|
* formulae.ltl
|
||||||
|
|
||||||
|
A list of LTL formulae used by the `known' check.
|
||||||
|
See ../emptchk/README for the sources.
|
||||||
|
|
||||||
|
* parseout.pl
|
||||||
|
|
||||||
|
This scripts is used to create *.txt files from *.log files.
|
||||||
|
|
||||||
|
|
||||||
|
====================
|
||||||
|
ALGORITHMS & TOOLS
|
||||||
|
====================
|
||||||
|
|
||||||
|
The page http://spot.lip6.fr/wiki/LtlTranslationBenchmark explains
|
||||||
|
all the keys used and the different tools involved in the benchmark.
|
||||||
|
|
||||||
|
Spot's configure script checks for the tools needed in the
|
||||||
|
benchmark, and the script in this directory should omit the tools
|
||||||
|
that are not available.
|
||||||
|
|
||||||
|
|
||||||
|
=======================
|
||||||
|
Reading the summaries
|
||||||
|
=======================
|
||||||
|
|
||||||
|
The files small.txt, big.txt, and known.txt contain a summary of the
|
||||||
|
results. Each algorithm is described as two lines formated as
|
||||||
|
follows.
|
||||||
|
|
||||||
|
18: FM, gen, +symb_merge, -exprop, LTLopt
|
||||||
|
494 / 975 / 100 / 4.25 98798 / 3935920 (100)
|
||||||
|
|
||||||
|
The first line presents the name of the algorithm ("FM, gen,
|
||||||
|
+symb_merge, -exprop, LTLopt") and its number for lbtt (18).
|
||||||
|
The number is useless. See http://spot.lip6.fr/wiki/LtlTranslationBenchmark
|
||||||
|
for the naming conventions.
|
||||||
|
|
||||||
|
The second line display 7 values:
|
||||||
|
1. the total number of states of all generated automata (494)
|
||||||
|
2. the total number of transitions of all generated automata (975)
|
||||||
|
3. the total number of acceptance conditions of all generated automata (100)
|
||||||
|
4. the cumulated translation time in seconds (4.25)
|
||||||
|
5. the total number of states in the synchronized products (98798)
|
||||||
|
6. the total number of transitions in the synchronized products (3935920)
|
||||||
|
7. the number of translated automata (100)
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
* Small translation times are not accurate because most of the translators
|
||||||
|
are run through scripts that translate their input from and their ouput to
|
||||||
|
the format understood by lbtt. For fast translators, most of the time
|
||||||
|
is spent through these wrappers. (For instance Spot's ltl2tgba is
|
||||||
|
run through lbtt-translate, and depending on how Spot has been configured
|
||||||
|
w.r.t. to dynamic libraries, ltl2tgba itself is often a shell script that
|
||||||
|
run the real binary with the locally built libraries.)
|
||||||
|
|
||||||
|
* Some tools will appear to have translated fewer automata than the
|
||||||
|
others. This normally indicates bugs in the translator. In that
|
||||||
|
case it is harder to compare the results. (Normalizing the other
|
||||||
|
values accordingly may not be fair: maybe the translator precisely
|
||||||
|
failed to translate the largest automata.)
|
||||||
282
bench/ltl2tgba/algorithms
Normal file
282
bench/ltl2tgba/algorithms
Normal file
|
|
@ -0,0 +1,282 @@
|
||||||
|
cat >"$conffile" <<EOF
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LaCIM, degen"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -t -D -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LaCIM, gen"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -t -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LaCIM, degen, +pre"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -t -D -r4 -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LaCIM, gen, +pre"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -t -r4 -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$srcdir/ltl2baw.pl --spot=\"-f -t -x -D\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +pre"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -f -t -x -D -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +pre, +post"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -f -t -x -D -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +pre, +post, +flapprox"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -L -f -t -x -D -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +pre, +post, +flapprox, +post_branch"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -L -f -t -x -D -p -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +post_branch, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$srcdir/ltl2baw.pl --spot=\"-f -x -p -t -D\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +flapprox, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$srcdir/ltl2baw.pl --spot=\"-f -x -t -L -D\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, degen, +symb_merge, +exprop, +post_branch, +flapprox, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$srcdir/ltl2baw.pl --spot=\"-f -x -p -t -L -D\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, -symb_merge, -exprop"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -F -f -y -t'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, -symb_merge, +exprop"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -F -f -y -x -t'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, -exprop"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -F -f -t'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -F -f -x -t'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, -symb_merge, -exprop, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -y -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, -symb_merge, +exprop, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -y -x -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, -exprop, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -x -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +post_branch, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -x -p -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +flapprox, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -x -L -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +post_branch, +flapprox, LTLopt"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl --spot=\"-f -x -p -L -t\" -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +pre"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -f -t -x -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +pre, +post"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -f -t -x -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +pre, +post, +flapprox"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -L -f -t -x -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "FM, gen, +symb_merge, +exprop, +pre, +post, +flapprox, +post_branch"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot '$LTL2TGBA -r4 -R1q -R1t -R3 -L -f -t -x -p -F'"
|
||||||
|
Enabled = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "Spin"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spin $SPIN"
|
||||||
|
Enabled = $HAVE_SPIN
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LBT"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--lbt $LBT"
|
||||||
|
Enabled = $HAVE_LBT
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LTL2BA, degen"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spin $LTL2BA"
|
||||||
|
Enabled = $HAVE_LTL2BA
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "LTL2BA, gen (unfair)"
|
||||||
|
Path = "$LBTT_TRANSLATE"
|
||||||
|
Parameters = "--spot './ltl2baw.pl -F'"
|
||||||
|
Enabled = $HAVE_LTL2BA
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "Wring (Wring RewRule+BoolOpt+AutSempl)"
|
||||||
|
Path = "$WRING2LBTT"
|
||||||
|
Parameters = "--5"
|
||||||
|
Enabled = $HAVE_WRING2LBTT
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "Wring (Wring RewRule+BoolOpt+AutSempl), degen"
|
||||||
|
Path = "$WRING2LBTT"
|
||||||
|
Parameters = "-d --5"
|
||||||
|
Enabled = $HAVE_WRING2LBTT
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "Modella -o1 -g -e -r12"
|
||||||
|
Path = "$MODELLA"
|
||||||
|
Parameters = "-o1 -g -e -r12"
|
||||||
|
Enabled = $HAVE_MODELLA
|
||||||
|
}
|
||||||
|
|
||||||
|
Algorithm
|
||||||
|
{
|
||||||
|
Name = "NBA"
|
||||||
|
Path = "$LTL2NBA"
|
||||||
|
Enabled = $HAVE_LTL2NBA
|
||||||
|
}
|
||||||
|
EOF
|
||||||
78
bench/ltl2tgba/big
Normal file
78
bench/ltl2tgba/big
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -*- shell-script -*-
|
||||||
|
# Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
# et Marie Curie.
|
||||||
|
#
|
||||||
|
# This file is part of Spot, a model checking library.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
. ./defs
|
||||||
|
|
||||||
|
conffile=big.cfg
|
||||||
|
logfile=big.log
|
||||||
|
sumfile=big.txt
|
||||||
|
|
||||||
|
. "$srcdir/algorithms"
|
||||||
|
|
||||||
|
cat >>"$conffile" <<EOF
|
||||||
|
GlobalOptions
|
||||||
|
{
|
||||||
|
Rounds = 100
|
||||||
|
Interactive = Never
|
||||||
|
# Verbosity = 5
|
||||||
|
# ComparisonCheck = no
|
||||||
|
ConsistencyCheck = no
|
||||||
|
# IntersectionCheck = no
|
||||||
|
}
|
||||||
|
|
||||||
|
StateSpaceOptions
|
||||||
|
{
|
||||||
|
Size = 200
|
||||||
|
Propositions = 8
|
||||||
|
}
|
||||||
|
|
||||||
|
FormulaOptions
|
||||||
|
{
|
||||||
|
Size = 15...20
|
||||||
|
Propositions = 8
|
||||||
|
|
||||||
|
AbbreviatedOperators = No
|
||||||
|
GenerateMode = Normal
|
||||||
|
OutputMode = NNF
|
||||||
|
PropositionPriority = 50
|
||||||
|
|
||||||
|
TruePriority = 1
|
||||||
|
FalsePriority = 1
|
||||||
|
|
||||||
|
AndPriority = 10
|
||||||
|
OrPriority = 10
|
||||||
|
XorPriority = 0
|
||||||
|
EquivalencePriority = 0
|
||||||
|
|
||||||
|
BeforePriority = 0
|
||||||
|
StrongReleasePriority = 0
|
||||||
|
WeakUntilPriority = 0
|
||||||
|
|
||||||
|
UntilPriority = 30
|
||||||
|
DefaultOperatorPriority = 15
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
"$LBTT" --configfile="$conffile" | tee "$logfile"
|
||||||
|
"$srcdir"/parseout.pl "$logfile" | tee "$sumfile"
|
||||||
54
bench/ltl2tgba/defs.in
Normal file
54
bench/ltl2tgba/defs.in
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
# -*- shell-script -*-
|
||||||
|
# Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
# et Marie Curie.
|
||||||
|
#
|
||||||
|
# This file is part of Spot, a model checking library.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# Ensure we are running from the right directory.
|
||||||
|
test -f ./defs || {
|
||||||
|
echo "defs: not found in current directory" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
srcdir='@srcdir@'
|
||||||
|
|
||||||
|
# Ensure $srcdir is set correctly.
|
||||||
|
test -f "$srcdir/defs.in" || {
|
||||||
|
echo "$srcdir/defs.in not found, check \$srcdir" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
LBT='@LBT@'
|
||||||
|
LBTT='@LBTT@'
|
||||||
|
LBTT_TRANSLATE="@LBTT_TRANSLATE@"
|
||||||
|
LTL2BA='@LTL2BA@'
|
||||||
|
LTL2NBA='@LTL2NBA@'
|
||||||
|
LTL2TGBA='@top_builddir@/src/tgbatest/ltl2tgba@EXEEXT@'
|
||||||
|
MODELLA='@MODELLA@'
|
||||||
|
SPIN='@SPIN@'
|
||||||
|
WRING2LBTT='@WRING2LBTT@'
|
||||||
|
|
||||||
|
for var in LBT LTL2BA LTL2NBA MODELLA SPIN WRING2LBTT
|
||||||
|
do
|
||||||
|
if eval 'test -z "$'$var'"'; then
|
||||||
|
eval HAVE_$var=no
|
||||||
|
else
|
||||||
|
eval HAVE_$var=yes
|
||||||
|
fi
|
||||||
|
done
|
||||||
94
bench/ltl2tgba/formulae.ltl
Normal file
94
bench/ltl2tgba/formulae.ltl
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
U p0 p1
|
||||||
|
U p0 U p1 p2
|
||||||
|
V ! p0 V ! p1 ! p2
|
||||||
|
| U t V f ! p0 V f U t p1
|
||||||
|
U U t p0 V f p1
|
||||||
|
U V f p0 p1
|
||||||
|
& & U t U t p0 V f ! p0 & U t p0 V f V f ! p0
|
||||||
|
& V f U t p0 U t V f ! p1
|
||||||
|
& & V f U t p0 U t V f ! p1 & V f U t p1 U t V f ! p0
|
||||||
|
V p0 | p0 p1
|
||||||
|
| U X p0 X p1 X V ! p0 ! p1
|
||||||
|
| U X p0 p1 X V ! p0 | ! p0 ! p1
|
||||||
|
& V f | ! p0 U t p1 | U X p0 p1 X V ! p0 | ! p0 ! p1
|
||||||
|
& V f | ! p0 U t p1 | U X p0 X p1 X V ! p0 ! p1
|
||||||
|
V f | ! p0 U t p1
|
||||||
|
U t & p0 X U ! p1 ! p2
|
||||||
|
& U t V f ! p0 V f U t ! p1
|
||||||
|
V f & U t p0 U t p1
|
||||||
|
& U t p0 U t ! p0
|
||||||
|
V & X p1 p2 X U V U p3 p0 p2 V p3 p2
|
||||||
|
| | & V f | p1 V f U t p0 V f | p2 V f U t ! p0 V f p1 V f p2
|
||||||
|
| | & V f | p1 U t V f p0 V f | p2 U t V f ! p0 V f p1 V f p2
|
||||||
|
& & | U t & ! p1 U t V f ! p0 U t & ! p2 U t V f p0 U t p1 U t p2
|
||||||
|
& & | U t & ! p1 V f U t ! p0 U t & ! p2 V f U t p0 U t p1 U t p2
|
||||||
|
& V f | p1 X V f p0 V f | p2 X V f ! p0
|
||||||
|
V f | p1 & X p0 X ! p0
|
||||||
|
| U p0 p0 U p1 p0
|
||||||
|
U p0 & p1 V f p2
|
||||||
|
U p0 & p1 X U p2 p3
|
||||||
|
U p0 & p1 X & p2 U t & p3 X U t & p4 X U t & p5 X U t p6
|
||||||
|
U t & p0 X V f p1
|
||||||
|
U t & p0 X & p1 X U t p2
|
||||||
|
U t & p0 X U p1 p2
|
||||||
|
| U t V f p0 U t V f p1
|
||||||
|
V f | ! p0 U p1 p2
|
||||||
|
U t & p0 X U t & p1 X U t & p2 X U t p3
|
||||||
|
& & & & V f U t p0 V f U t p1 V f U t p2 V f U t p3 V f U t p4
|
||||||
|
| | U p0 U p1 p2 U p1 U p2 p0 U p2 U p0 p1
|
||||||
|
V f | ! p0 U p1 | V f p2 V f p3
|
||||||
|
[](!p0)
|
||||||
|
<>p1 -> (!p0 U p1)
|
||||||
|
[](p2 -> [](!p0))
|
||||||
|
[]((p2 & !p1 & <>p1) -> (!p0 U p1))
|
||||||
|
[](p2 & !p1 -> (!p0 U (p1 | []!p0)))
|
||||||
|
<>(p0)
|
||||||
|
!p1 U ((p0 & !p1) | []!p1)
|
||||||
|
[](!p2) | <>(p2 & <>p0)
|
||||||
|
[](p2 & !p1 -> (!p1 U ((p0 & !p1) | []!p1)))
|
||||||
|
[](p2 & !p1 -> (!p1 U (p0 & !p1)))
|
||||||
|
<>p1 -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U p1)))))))))
|
||||||
|
[]((p2 & <>p1) -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U p1))))))))))
|
||||||
|
[](p2 -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U (p1 | []!p0)) | []p0)))))))))
|
||||||
|
[](p0)
|
||||||
|
<>p1 -> (p0 U p1)
|
||||||
|
[](p2 -> [](p0))
|
||||||
|
[]((p2 & !p1 & <>p1) -> (p0 U p1))
|
||||||
|
[](p2 & !p1 -> (p0 U (p1 | [] p0)))
|
||||||
|
!p0 U (p3 | []!p0)
|
||||||
|
<>p1 -> (!p0 U (p3 | p1))
|
||||||
|
[]!p2 | <>(p2 & (!p0 U (p3 | []!p0)))
|
||||||
|
[]((p2 & !p1 & <>p1) -> (!p0 U (p3 | p1)))
|
||||||
|
[](p2 & !p1 -> (!p0 U ((p3 | p1) | []!p0)))
|
||||||
|
[](p0 -> <>p3)
|
||||||
|
<>p1 -> (p0 -> (!p1 U (p3 & !p1))) U p1
|
||||||
|
[](p2 -> [](p0 -> <>p3))
|
||||||
|
[]((p2 & !p1 & <>p1) -> (p0 -> (!p1 U (p3 & !p1))) U p1)
|
||||||
|
[](p2 & !p1 -> ((p0 -> (!p1 U (p3 & !p1))) U (p1 | [](p0 -> (!p1 U (p3 & !p1))))))
|
||||||
|
<>p0 -> (!p0 U (p3 & !p0 & X(!p0 U p4)))
|
||||||
|
<>p1 -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4))))
|
||||||
|
([]!p2) | (!p2 U (p2 & <>p0 -> (!p0 U (p3 & !p0 & X(!p0 U p4)))))
|
||||||
|
[]((p2 & <>p1) -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4)))))
|
||||||
|
[](p2 -> (<>p0 -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4))))))
|
||||||
|
(<>(p3 & X<>p4)) -> ((!p3) U p0)
|
||||||
|
<>p1 -> ((!(p3 & (!p1) & X(!p1 U (p4 & !p1)))) U (p1 | p0))
|
||||||
|
([]!p2) | ((!p2) U (p2 & ((<>(p3 & X<>p4)) -> ((!p3) U p0))))
|
||||||
|
[]((p2 & <>p1) -> ((!(p3 & (!p1) & X(!p1 U (p4 & !p1)))) U (p1 | p0)))
|
||||||
|
[](p2 -> (!(p3 & (!p1) & X(!p1 U (p4 & !p1))) U (p1 | p0) | [](!(p3 & X<>p4))))
|
||||||
|
[] (p3 & X<> p4 -> X(<>(p4 & <> p0)))
|
||||||
|
<>p1 -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U p1
|
||||||
|
[] (p2 -> [] (p3 & X<> p4 -> X(!p4 U (p4 & <> p0))))
|
||||||
|
[] ((p2 & <>p1) -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U p1)
|
||||||
|
[] (p2 -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U (p1 | [] (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0)))))
|
||||||
|
[] (p0 -> <>(p3 & X<>p4))
|
||||||
|
<>p1 -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U p1
|
||||||
|
[] (p2 -> [] (p0 -> (p3 & X<> p4)))
|
||||||
|
[] ((p2 & <>p1) -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U p1)
|
||||||
|
[] (p2 -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U (p1 | [] (p0 -> (p3 & X<> p4))))
|
||||||
|
[] (p0 -> <>(p3 & !p5 & X(!p5 U p4)))
|
||||||
|
<>p1 -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U p1
|
||||||
|
[] (p2 -> [] (p0 -> (p3 & !p5 & X(!p5 U p4))))
|
||||||
|
[] ((p2 & <>p1) -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U p1)
|
||||||
|
[] (p2 -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U (p1 | [] (p0 -> (p3 & !p5 & X(!p5 U p4)))))
|
||||||
|
!p0 U ((p0 U ((!p0 U ((p0 U ([]!p0 | []p0)) | []!p0)) | []!p0)) | []!p0)
|
||||||
|
<>p2 -> (!p2 U (p2 & (!p0 U ((p0 U ((!p0 U ((p0 U ([]!p0 | []p0)) | []!p0)) | []!p0)) | []!p0))))
|
||||||
63
bench/ltl2tgba/known
Normal file
63
bench/ltl2tgba/known
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -*- shell-script -*-
|
||||||
|
# Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
# et Marie Curie.
|
||||||
|
#
|
||||||
|
# This file is part of Spot, a model checking library.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
. ./defs
|
||||||
|
|
||||||
|
conffile=known.cfg
|
||||||
|
logfile=known.log
|
||||||
|
sumfile=known.txt
|
||||||
|
ltlfile=formulae.ltl
|
||||||
|
|
||||||
|
. "$srcdir/algorithms"
|
||||||
|
|
||||||
|
cat >>"$conffile" <<EOF
|
||||||
|
GlobalOptions
|
||||||
|
{
|
||||||
|
Rounds = 100
|
||||||
|
Interactive = Never
|
||||||
|
# Verbosity = 5
|
||||||
|
# ComparisonCheck = no
|
||||||
|
ConsistencyCheck = no
|
||||||
|
# IntersectionCheck = no
|
||||||
|
}
|
||||||
|
|
||||||
|
StateSpaceOptions
|
||||||
|
{
|
||||||
|
Size = 200
|
||||||
|
Propositions = 6
|
||||||
|
}
|
||||||
|
|
||||||
|
FormulaOptions
|
||||||
|
{
|
||||||
|
Size = 10
|
||||||
|
Propositions = 4
|
||||||
|
|
||||||
|
AbbreviatedOperators = No
|
||||||
|
GenerateMode = Normal
|
||||||
|
OutputMode = NNF
|
||||||
|
DefaultOperatorPriority = 10
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
"$LBTT" --configfile="$conffile" --formulafile="$ltlfile" | tee "$logfile"
|
||||||
|
"$srcdir"/parseout.pl "$logfile" | tee "$sumfile"
|
||||||
14
src/tgbatest/ltl2baw.pl → bench/ltl2tgba/ltl2baw.in
Executable file → Normal file
14
src/tgbatest/ltl2baw.pl → bench/ltl2tgba/ltl2baw.in
Executable file → Normal file
|
|
@ -1,5 +1,6 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/env @PERL@
|
||||||
# Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
|
||||||
|
# Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
# et Marie Curie.
|
# et Marie Curie.
|
||||||
#
|
#
|
||||||
|
|
@ -20,6 +21,7 @@
|
||||||
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
# 02111-1307, USA.
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
|
||||||
# Usage:
|
# Usage:
|
||||||
# ------
|
# ------
|
||||||
|
|
@ -77,18 +79,18 @@ my $output_formula = 0;
|
||||||
|
|
||||||
if ($arg =~ '^--ltl2ba=(.*)$')
|
if ($arg =~ '^--ltl2ba=(.*)$')
|
||||||
{
|
{
|
||||||
open(LTL2TGBA, "| ./ltl2tgba $1 -X -");
|
open(LTL2TGBA, "| @top_builddir@/src/tgbatest/ltl2tgba $1 -X -");
|
||||||
shift;
|
shift;
|
||||||
}
|
}
|
||||||
elsif ($arg =~ '--spot=(.*)$')
|
elsif ($arg =~ '--spot=(.*)$')
|
||||||
{
|
{
|
||||||
$output_formula = 1;
|
$output_formula = 1;
|
||||||
open(LTL2TGBA, "| ./ltl2tgba $1 -F -");
|
open(LTL2TGBA, "| @top_builddir@/src/tgbatest/ltl2tgba $1 -F -");
|
||||||
shift;
|
shift;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
open(LTL2TGBA, "| ./ltl2tgba -t -X -");
|
open(LTL2TGBA, "| @top_builddir@/src/tgbatest/ltl2tgba -t -X -");
|
||||||
}
|
}
|
||||||
|
|
||||||
END {
|
END {
|
||||||
|
|
@ -97,7 +99,7 @@ END {
|
||||||
}
|
}
|
||||||
|
|
||||||
my @args = dquote @ARGV;
|
my @args = dquote @ARGV;
|
||||||
open(LTL2BA, "ltl2ba -d @args |") || die "failed to run ltl2ba";
|
open(LTL2BA, "@LTL2BA@ -d @args |") || die "failed to run ltl2ba";
|
||||||
|
|
||||||
my $state = PROLOGUE;
|
my $state = PROLOGUE;
|
||||||
|
|
||||||
69
bench/ltl2tgba/parseout.pl
Executable file
69
bench/ltl2tgba/parseout.pl
Executable file
|
|
@ -0,0 +1,69 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
# Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
# et Marie Curie.
|
||||||
|
#
|
||||||
|
# This file is part of Spot, a model checking library.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $line = 0;
|
||||||
|
my $tool = 0;
|
||||||
|
my ($a, $b, $acc, $time);
|
||||||
|
|
||||||
|
format STDOUT2 =
|
||||||
|
||<:>@>>||@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<||<)>@>>>>>||<)>@>>>>>||<)>@>>>||<)>@#####.##||<)>@>>>>>>>>||<)>@>>>>>>>>||<)>@>>||
|
||||||
|
$num, $tool, $a, $b, $acc, $time, $2, $3, $1
|
||||||
|
.
|
||||||
|
|
||||||
|
format STDOUT =
|
||||||
|
@>>: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
$num, $tool
|
||||||
|
@>>>>> / @>>>>> / @>>> / @#####.## @>>>>>>>> / @>>>>>>>> (@>>)
|
||||||
|
$a, $b, $acc, $time, $2, $3, $1
|
||||||
|
.
|
||||||
|
|
||||||
|
$~ = STDOUT2 if (exists $ENV{'WIKI'});
|
||||||
|
|
||||||
|
my %impl;
|
||||||
|
|
||||||
|
while (<>)
|
||||||
|
{
|
||||||
|
if (/^\s{4}(\d+):\s`(.+)'\s*(?:\(disabled\))?\s*$/)
|
||||||
|
{
|
||||||
|
$impl{$1} = $2 unless exists $impl{$1};
|
||||||
|
}
|
||||||
|
if (/Pos\. formulae \|\s*([^|]*?)\s*\|\s*([^|]*?)\s*\|$/)
|
||||||
|
{
|
||||||
|
$acc = $1;
|
||||||
|
$time = $2;
|
||||||
|
}
|
||||||
|
next unless /Pos\. formulae \|\s*(.*?)\s*\|\s*(.*?)\s*\|\s*(.*?)\s*\|/;
|
||||||
|
if ($line % 2)
|
||||||
|
{
|
||||||
|
$num = $line >> 1;
|
||||||
|
$tool = $impl{$num};
|
||||||
|
write;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
($a, $b) = ($2, $3);
|
||||||
|
}
|
||||||
|
++$line;
|
||||||
|
}
|
||||||
78
bench/ltl2tgba/small
Normal file
78
bench/ltl2tgba/small
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -*- shell-script -*-
|
||||||
|
# Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
|
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
|
# et Marie Curie.
|
||||||
|
#
|
||||||
|
# This file is part of Spot, a model checking library.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
. ./defs
|
||||||
|
|
||||||
|
conffile=small.cfg
|
||||||
|
logfile=small.log
|
||||||
|
sumfile=small.txt
|
||||||
|
|
||||||
|
. "$srcdir/algorithms"
|
||||||
|
|
||||||
|
cat >>"$conffile" <<EOF
|
||||||
|
GlobalOptions
|
||||||
|
{
|
||||||
|
Rounds = 100
|
||||||
|
Interactive = Never
|
||||||
|
# Verbosity = 5
|
||||||
|
# ComparisonCheck = no
|
||||||
|
ConsistencyCheck = no
|
||||||
|
# IntersectionCheck = no
|
||||||
|
}
|
||||||
|
|
||||||
|
StateSpaceOptions
|
||||||
|
{
|
||||||
|
Size = 200
|
||||||
|
Propositions = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
FormulaOptions
|
||||||
|
{
|
||||||
|
Size = 10
|
||||||
|
Propositions = 4
|
||||||
|
|
||||||
|
AbbreviatedOperators = No
|
||||||
|
GenerateMode = Normal
|
||||||
|
OutputMode = NNF
|
||||||
|
PropositionPriority = 50
|
||||||
|
|
||||||
|
TruePriority = 1
|
||||||
|
FalsePriority = 1
|
||||||
|
|
||||||
|
AndPriority = 10
|
||||||
|
OrPriority = 10
|
||||||
|
XorPriority = 0
|
||||||
|
EquivalencePriority = 0
|
||||||
|
|
||||||
|
BeforePriority = 0
|
||||||
|
StrongReleasePriority = 0
|
||||||
|
WeakUntilPriority = 0
|
||||||
|
|
||||||
|
UntilPriority = 30
|
||||||
|
DefaultOperatorPriority = 15
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
"$LBTT" --configfile="$conffile" | tee "$logfile"
|
||||||
|
"$srcdir"/parseout.pl "$logfile" | tee "$sumfile"
|
||||||
10
configure.ac
10
configure.ac
|
|
@ -57,14 +57,22 @@ adl_NDEBUG
|
||||||
|
|
||||||
AM_CONDITIONAL([NEVER], [false])
|
AM_CONDITIONAL([NEVER], [false])
|
||||||
AC_CHECK_PROG([DOT], [dot], [dot])
|
AC_CHECK_PROG([DOT], [dot], [dot])
|
||||||
|
AC_CHECK_PROG([LBT], [lbt], [lbt])
|
||||||
|
AC_CHECK_PROG([LTL2BA], [ltl2ba], [ltl2ba])
|
||||||
|
AC_CHECK_PROG([MODELLA], [modella], [modella])
|
||||||
|
AC_CHECK_PROG([LTL2NBA], [script4lbtt.py], [script4lbtt.py])
|
||||||
AC_CHECK_PROG([PERL], [perl], [perl])
|
AC_CHECK_PROG([PERL], [perl], [perl])
|
||||||
|
AC_CHECK_PROG([SPIN], [spin], [spin])
|
||||||
AC_CHECK_PROG([VALGRIND], [valgrind], [valgrind])
|
AC_CHECK_PROG([VALGRIND], [valgrind], [valgrind])
|
||||||
|
AC_CHECK_PROG([WRING2LBTT], [wring2lbtt], [wring2lbtt])
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
bench/Makefile
|
bench/Makefile
|
||||||
bench/emptchk/Makefile
|
bench/emptchk/Makefile
|
||||||
bench/emptchk/defs
|
bench/emptchk/defs
|
||||||
|
bench/ltl2tgba/Makefile
|
||||||
|
bench/ltl2tgba/defs
|
||||||
doc/Doxyfile
|
doc/Doxyfile
|
||||||
doc/Makefile
|
doc/Makefile
|
||||||
iface/Makefile
|
iface/Makefile
|
||||||
|
|
@ -95,5 +103,7 @@ AC_CONFIG_FILES([
|
||||||
wrap/python/cgi/Makefile
|
wrap/python/cgi/Makefile
|
||||||
wrap/python/tests/Makefile
|
wrap/python/tests/Makefile
|
||||||
])
|
])
|
||||||
|
AC_CONFIG_FILES([bench/ltl2tgba/ltl2baw.pl:bench/ltl2tgba/ltl2baw.in],
|
||||||
|
[chmod +x bench/ltl2tgba/ltl2baw.pl])
|
||||||
AC_CONFIG_FILES([wrap/python/tests/run], [chmod +x wrap/python/tests/run])
|
AC_CONFIG_FILES([wrap/python/tests/run], [chmod +x wrap/python/tests/run])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ TESTS = \
|
||||||
emptchkr.test \
|
emptchkr.test \
|
||||||
spotlbtt.test
|
spotlbtt.test
|
||||||
|
|
||||||
EXTRA_DIST = $(TESTS) ltl2baw.pl
|
EXTRA_DIST = $(TESTS)
|
||||||
|
|
||||||
CLEANFILES = \
|
CLEANFILES = \
|
||||||
blue_counter \
|
blue_counter \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue