Add Testing Automata Product & Emptiness Check

* src/taalgos/stats.hh, src/taalgos/stats.cc: Compute statistics for a
automaton.
* src/ta/ta.hh, src/ta/ta.cc: Abstract representation of a Testing
Automata(TA)
* src/ta/taexplicit.hh, src/ta/taexplicit.cc: Explicit representation of
a Testing Automata (TA)
* src/taalgos/dotty.cc: Print a TA in dot format.
* src/taalgos/reachiter.hh, src/taalgos/reachiter.cc: Iterate over all
reachable states of a TA
* src/taalgos/sba2ta.cc: implements the construction of a TA from a BA
(Buchi Automata)
* src/tgbatest/ltl2tgba.cc: add commands to test the TA implementation
* src/taalgos/emptinessta.hh, src/taalgos/emptinessta.cc: implementation
 of the TA emptiness-check algorithm
* src/ta/taproduct.hh, src/ta/taproduct.cc: representation of the
product (automaton) between a TA and a Kripke structure.
* src/ta/Makefile.am, src/taalgos/Makefile.am: add them
This commit is contained in:
Ala Eddine 2011-02-11 11:40:21 +01:00 committed by Alexandre Duret-Lutz
parent ba47b821c6
commit 81e80e6069
17 changed files with 1779 additions and 209 deletions

View file

@ -1061,13 +1061,11 @@ main(int argc, char** argv)
}
const spot::tgba* product_degeneralized = 0;
if (ta_opt)
{
spot::tgba_sba_proxy* degeneralized_new = 0;
spot::tgba_sba_proxy* degeneralized =
dynamic_cast<spot::tgba_sba_proxy*> (a);
const spot::tgba_sba_proxy* degeneralized_new = 0;
const spot::tgba_sba_proxy* degeneralized =
dynamic_cast<const spot::tgba_sba_proxy*> (a);
if (degeneralized == 0)
degeneralized_new = degeneralized = new spot::tgba_sba_proxy(a);
@ -1092,6 +1090,7 @@ main(int argc, char** argv)
output = -1;
}
spot::tgba* product_degeneralized = 0;
if (system)
{
@ -1120,6 +1119,7 @@ main(int argc, char** argv)
}
}
if (echeck_inst
&& (a->number_of_acceptance_conditions()
< echeck_inst->min_acceptance_conditions()))