* iface/gspn/Makefile.am (check_PROGRAMS): Add eltlgspn-srg.
(eltlgspn_srg_SOURCES, eltlgspn_srg_LDADD, eltlgspn_srg_CPPFLAGS): New variables. (TESTS): Add dcswaveeltl.test. * iface/gspn/dcswaveeltl.test: New file. * iface/gspn/ltlgspn.cc [CEC]: Use emptiness_check.
This commit is contained in:
parent
e5641f5b69
commit
9b2d0ec258
4 changed files with 46 additions and 3 deletions
|
|
@ -1,5 +1,12 @@
|
||||||
2003-10-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
2003-10-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||||
|
|
||||||
|
* iface/gspn/Makefile.am (check_PROGRAMS): Add eltlgspn-srg.
|
||||||
|
(eltlgspn_srg_SOURCES, eltlgspn_srg_LDADD, eltlgspn_srg_CPPFLAGS):
|
||||||
|
New variables.
|
||||||
|
(TESTS): Add dcswaveeltl.test.
|
||||||
|
* iface/gspn/dcswaveeltl.test: New file.
|
||||||
|
* iface/gspn/ltlgspn.cc [CEC]: Use emptiness_check.
|
||||||
|
|
||||||
* m4/debug.m4, m4/devel.m4, m4/gccoptim.m4, m4/ndebug.m4: New files.
|
* m4/debug.m4, m4/devel.m4, m4/gccoptim.m4, m4/ndebug.m4: New files.
|
||||||
* Makefile.am (EXTRA_DIST): Add them.
|
* Makefile.am (EXTRA_DIST): Add them.
|
||||||
* configure.ac: Call adl_ENABLE_DEVEL, adl_ENABLE_DEBUG, ad_GCC_OPTIM,
|
* configure.ac: Call adl_ENABLE_DEVEL, adl_ENABLE_DEBUG, ad_GCC_OPTIM,
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ check_PROGRAMS = \
|
||||||
dottygspn-srg \
|
dottygspn-srg \
|
||||||
ltlgspn-rg \
|
ltlgspn-rg \
|
||||||
ltlgspn-srg \
|
ltlgspn-srg \
|
||||||
|
eltlgspn-srg \
|
||||||
fmgspn-rg \
|
fmgspn-rg \
|
||||||
fmgspn-srg
|
fmgspn-srg
|
||||||
|
|
||||||
|
|
@ -31,6 +32,10 @@ ltlgspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
|
||||||
ltlgspn_srg_SOURCES = ltlgspn.cc
|
ltlgspn_srg_SOURCES = ltlgspn.cc
|
||||||
ltlgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS)
|
ltlgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS)
|
||||||
|
|
||||||
|
eltlgspn_srg_SOURCES = ltlgspn.cc
|
||||||
|
eltlgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS)
|
||||||
|
eltlgspn_srg_CPPFLAGS = -DCEC $(AM_CPPFLAGS)
|
||||||
|
|
||||||
fmgspn_rg_SOURCES = ltlgspn.cc
|
fmgspn_rg_SOURCES = ltlgspn.cc
|
||||||
fmgspn_rg_CPPFLAGS = -DFM $(AM_CPPFLAGS)
|
fmgspn_rg_CPPFLAGS = -DFM $(AM_CPPFLAGS)
|
||||||
fmgspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
|
fmgspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
|
||||||
|
|
@ -52,7 +57,8 @@ TESTS = \
|
||||||
simple.test \
|
simple.test \
|
||||||
dcswave.test \
|
dcswave.test \
|
||||||
dcswaveltl.test \
|
dcswaveltl.test \
|
||||||
dcswavefm.test
|
dcswavefm.test \
|
||||||
|
dcswaveeltl.test
|
||||||
|
|
||||||
# Each test case depends on defs.
|
# Each test case depends on defs.
|
||||||
check_SCRIPTS = defs
|
check_SCRIPTS = defs
|
||||||
|
|
|
||||||
15
iface/gspn/dcswaveeltl.test
Executable file
15
iface/gspn/dcswaveeltl.test
Executable file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
. ./defs || exit 1
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cp -R $srcdir/examples/DCSwave .
|
||||||
|
chmod +w DCSwave
|
||||||
|
|
||||||
|
# G(ATTiIDLj => F(!SCj U SCi)) is true
|
||||||
|
../eltlgspn-srg DCSwave/DCSWave '!G(ATTiIDLj => F(!SCj U SCi))' ATTiIDLj SCi SCj > output
|
||||||
|
|
||||||
|
# G(F(!SCj U SCi)) is false
|
||||||
|
../eltlgspn-srg DCSwave/DCSWave '!G(F(!SCj U SCi))' ATTiIDLj SCi SCj > output \
|
||||||
|
|| test $? = 1
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include "tgbaalgos/ltl2tgba_lacim.hh"
|
#include "tgbaalgos/ltl2tgba_lacim.hh"
|
||||||
#include "tgbaalgos/ltl2tgba_fm.hh"
|
#include "tgbaalgos/ltl2tgba_fm.hh"
|
||||||
#include "tgbaalgos/magic.hh"
|
#include "tgbaalgos/magic.hh"
|
||||||
|
#include "tgbaalgos/emptinesscheck.hh"
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
|
|
@ -44,8 +45,22 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
spot::tgba* model = new spot::tgba_gspn(dict, env);
|
spot::tgba* model = new spot::tgba_gspn(dict, env);
|
||||||
spot::tgba_product* prod = new spot::tgba_product(model, a_f);
|
spot::tgba_product* prod = new spot::tgba_product(model, a_f);
|
||||||
|
#if CEC
|
||||||
|
{
|
||||||
|
spot::emptiness_check empty_check;
|
||||||
|
bool res = empty_check.tgba_emptiness_check(prod);
|
||||||
|
if (!res)
|
||||||
|
{
|
||||||
|
empty_check.counter_example(prod);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cout << "not found";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
spot::tgba_tba_proxy* d = new spot::tgba_tba_proxy(prod);
|
spot::tgba_tba_proxy* d = new spot::tgba_tba_proxy(prod);
|
||||||
|
|
||||||
{
|
{
|
||||||
spot::magic_search ms(d);
|
spot::magic_search ms(d);
|
||||||
|
|
||||||
|
|
@ -59,8 +74,8 @@ main(int argc, char **argv)
|
||||||
std::cout << "not found";
|
std::cout << "not found";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delete d;
|
delete d;
|
||||||
|
#endif
|
||||||
delete prod;
|
delete prod;
|
||||||
delete model;
|
delete model;
|
||||||
delete a_f;
|
delete a_f;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue