Add the "don't care" simulation
* src/tgba/bddprint.cc, src/tgba/bddprint.hh: Add bdd_print_isop that prints the bdd into a Irreductible Sum Of Product. * src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh: Add a way to know which states (in the input) is which (in the result). * src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh: Add the Don't Care Simulation and the Don't Care Iterated Simulation. * src/tgbatest/ltl2tgba.cc, src/tgbatest/spotlbtt.test, src/tgbatest/Makefile.am, src/tgbatest/sim.test: Test them. * bench/ltl2tgba/algorithms, bench/ltl2tgba/README, bench/ltl2tgba/algorithms: Add a way to bench the don't care simulation.
This commit is contained in:
parent
5796114e37
commit
08c77318ae
12 changed files with 1171 additions and 76 deletions
|
|
@ -38,6 +38,13 @@ this benchmark.
|
|||
|
||||
The timeout value, common to the three benchmarks, is also set here.
|
||||
|
||||
You can also benchmark some simulations algorithms by setting the
|
||||
variable "BENCH_SIMULATION". For example by running:
|
||||
|
||||
BENCH_SIMULATION=t make -j3 run
|
||||
|
||||
You run the simulation benchmark on the three kind of formulae.
|
||||
|
||||
* small
|
||||
* big
|
||||
* known
|
||||
|
|
|
|||
|
|
@ -4,18 +4,35 @@
|
|||
# the tools starts with "-".
|
||||
set dummy
|
||||
|
||||
|
||||
if test -n "$BENCH_SIMULATION"; then
|
||||
translator="../../src/tgbatest/ltl2tgba"
|
||||
set "$@" "$translator -R3 -Rm -r7 -t %s >%T" \
|
||||
"$translator -t -RDS -Rm -r7 -R3 %s >%T" \
|
||||
"$translator -t -RDCS -r7 -Rm -R3 %s >%T" \
|
||||
"$translator -t -RRS -r7 -R3 -Rm %s >%T" \
|
||||
"$translator -t -RIS -r7 -R3 -Rm %s >%T" \
|
||||
"$translator -t -RDCIS -r7 -Rm -R3 %s >%T" \
|
||||
"$translator -t -R3 -Rm -r7 -DS %s >%T" \
|
||||
"$translator -t -r7 -R3 -Rm -RDS -DS %s >%T" \
|
||||
"$translator -t -RDCS -r7 -Rm -R3 -DS %s >%T" \
|
||||
"$translator -t -RRS -r7 -R3 -Rm -DS %s >%T" \
|
||||
"$translator -t -RIS -r7 -R3 -Rm -DS %s >%T" \
|
||||
"$translator -t -RDCIS -r7 -R3 -Rm -DS %s >%T"
|
||||
|
||||
else
|
||||
# Add third-party tools if they are available
|
||||
test -n "$SPIN" && set "$@" "$SPIN -f %s >%N"
|
||||
test -n "$LTL2BA" && set "$@" "$LTL2BA -f %s >%N"
|
||||
test -n "$LTL3BA" && set "$@" "$LTL3BA -f %s >%N" \
|
||||
"$LTL3BA -M -f %s >%N" \
|
||||
"$LTL3BA -S -f %s >%N" \
|
||||
"$LTL3BA -S -M -f %s >%N"
|
||||
test -n "$SPIN" && set "$@" "$SPIN -f %s >%N"
|
||||
test -n "$LTL2BA" && set "$@" "$LTL2BA -f %s >%N"
|
||||
test -n "$LTL3BA" && set "$@" "$LTL3BA -f %s >%N" \
|
||||
"$LTL3BA -M -f %s >%N" \
|
||||
"$LTL3BA -S -f %s >%N" \
|
||||
"$LTL3BA -S -M -f %s >%N"
|
||||
|
||||
# Use -s to output a neverclaim, like the other tools.
|
||||
set "$@" "$LTL2TGBA --det -s %s >%N" \
|
||||
"$LTL2TGBA --small -s %s >%N"
|
||||
|
||||
set "$@" "$LTL2TGBA --det -s %s >%N" \
|
||||
"$LTL2TGBA --small -s %s >%N"
|
||||
fi;
|
||||
# If you want to add your own tool, you can add it here.
|
||||
# See 'man ltlcross' for the list of %-escape you may use
|
||||
# to specify input formula and output automaton.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue