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:
parent
0816a4505f
commit
7069d5406b
5 changed files with 121 additions and 2 deletions
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue