This should help getting accurate statistics (on both the

formula automaton and the synchronized product) from LBTT.
Idea from Jean-Michel Couvreur.

* src/tgbaalgos/lbtt.cc (nonacceptant_lbtt_bfs): New class.
(nonacceptant_lbtt_reachable): New function.
* src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): New
function.
* src/tgbatest/ltl2tgba.cc (main): Call nonacceptant_lbtt_reachable
if the -T option is used.
* src/tgbatest/spotlbtt.test: Setup the -T variants, disabled by
default.
This commit is contained in:
Alexandre Duret-Lutz 2004-02-07 23:49:28 +00:00
parent 0816a4505f
commit 7069d5406b
5 changed files with 121 additions and 2 deletions

View file

@ -76,6 +76,8 @@ syntax(char* prog)
<< " -S convert to explicit automata, and number states "
<< "in BFS order" << std::endl
<< " -t display reachable states in LBTT's format" << std::endl
<< " -T display reachable states in LBTT's format w/o "
<< "acceptance conditions" << std::endl
<< " -v display the BDD variables used by the automaton"
<< std::endl
<< " -X do not compute an automaton, read it from a file"
@ -197,6 +199,10 @@ main(int argc, char** argv)
{
output = 6;
}
else if (!strcmp(argv[formula_index], "-T"))
{
output = 7;
}
else if (!strcmp(argv[formula_index], "-v"))
{
output = 5;
@ -318,6 +324,9 @@ main(int argc, char** argv)
case 6:
spot::lbtt_reachable(std::cout, a);
break;
case 7:
spot::nonacceptant_lbtt_reachable(std::cout, a);
break;
default:
assert(!"unknown output option");
}

View file

@ -42,6 +42,13 @@ Algorithm
Enabled = yes
}
Algorithm
{
Name = "Spot (Couvreur -- LaCIM), fake"
Path = "${LBTT_TRANSLATE} --spot './ltl2tgba -F -T'"
Enabled = no
}
Algorithm
{
Name = "Spot (Couvreur -- FM)"
@ -56,11 +63,21 @@ Algorithm
Enabled = yes
}
Algorithm
{
Name = "Spot (Couvreur -- FM), fake"
Path = "${LBTT_TRANSLATE} --spot './ltl2tgba -F -f -T'"
Enabled = no
}
GlobalOptions
{
Rounds = 100
Interactive = Never
# Verbosity = 5
# ComparisonCheck = no
# ConsistencyCheck = no
# IntersectionCheck = no
}
FormulaOptions