- 09 Apr, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/misc/intvcomp.hh: New file. * src/misc/Makefile.am: Add it. * src/tgbatest/intvcomp.cc, src/tgbatest/intvcomp.test: New files. * src/tgbatest/Makefile.am: Add them.
-
- 31 Mar, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Merge state_explicit and tgba_explicit::state. In the past, state_explicit was a small object encapsulating a pointer to the persistent tgba_explicit::state; and we used to clone() and destroy() a lot of state_explicit instance. Now state_explicit is persistent, and clone() and destroy() have no effects. * src/tgba/tgbareduce.cc: Adjust, since this inherits from tgbaexplicit and uses the internals of state_explicit. * src/tgbatest/reductgba.cc: Fix deletion order for automata. * src/tgba/tgba.hh (last_support_conditions_input_, last_support_variables_input_): Make these protected, so they can be zeroed by tgba_explicit.
-
- 05 Mar, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dotty.hh (dotty_reachable): Take a new assume_sba argument. * src/tgbaalgos/dotty.cc (dotty_bfs): Take a new mark_accepting_states arguments. (dotty_bfs::process_state): Check if a state is accepting using the state_is_accepting() method for tgba_sba_proxies, or by looking at the first outgoing transition of the state. Pass the result to the dectorator. (dotty_reachable): Adjust function. * src/tgbaalgos/dottydec.hh, src/tgbaalgos/dottydec.cc, src/tgbaalgos/rundotdec.hh, src/tgbaalgos/rundotdec.cc (state_decl): Add an "accepting" argument, and use it to decorate accepting states with a double border. * src/tgbatest/ltl2tgba.cc: Keep track of whether the output is an SBA or not, so that we can tell it to dotty(). * wrap/python/ajax/spot.in: Likewise. * wrap/python/cgi-bin/ltl2tgba.in: Likewise.
-
- 10 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbatest/kv.test, iface/nips/nipstest/dotty.test: Don't rely on the ${DOT-...} syntax, because DOT is always set and might be set to the empty value.
-
- 09 Feb, 2011 2 commits
-
-
Alexandre Duret-Lutz authored
access to that host. * src/tgbatest/kv.test: Use ${DOT-true} instead of ${DOT-:}. I don't know, the MacOS shell must be mixing the syntaxes for ${DOT:-} and ${DOT-:}. * iface/nips/nipstest/dotty.test: Likewise
-
Alexandre Duret-Lutz authored
* src/tgbatest/kv.test: Do not run dot if it is not installed. * iface/nips/nipstest/dotty.test: Likewise
-
- 07 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/neverparse/neverclaimscan.ll: Allow space between ! and (. * src/tgbatest/neverclaimread.test: Add space for testing.
-
- 06 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.cc (build_result, minimize_dfa, minimize_wdba): Correctly handle (i.e. ignore) useless states. * src/tgbatest/ltl2tgba.test: Add two more tests.
-
- 04 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/stats.hh (tgba_sub_statistics): New class. (sub_stats_reachable): New function. * src/tgbaalgos/stats.cc (sub_stats_bfs): New class. (tgba_sub_statistics::dump, sub_stats_reachable): New function. * src/tgbatest/ltl2tgba.cc (-kt): New option. * src/tgbatest/ltl2tgba.test: Use -kt.
-
- 03 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
So far all neverclaims encountered would use (!(x)), but the files from the Büchi store do not. * src/neverparse/neverclaimscan.ll: Accept ! in front of guard, so that we can read Promela files from Goal's Büchi store. * src/tgbatest/neverclaimread.test: Test it.
-
- 01 Feb, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 28 Jan, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.cc (minimize_monitor): Fix typo yielding incorrect monitor if the input tgba is not deterministic. * src/tgbatest/ltl2tgba.test: Add test case.
-
- 27 Jan, 2011 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (-O): Report formulas that are both safety and guarantee. * src/tgbatest/obligation.test: Add cases.
-
Alexandre Duret-Lutz authored
implement is_safety_mwdba(). Note: I swapped the name of safety and guarantee when I implemented is_safety_automaton() on 2010-03-20. Fortunately, is_safety_automaton() was only used where is_guarantee_automaton() would have been correct. * src/tgbaalgos/safety.cc (is_guarantee_automaton): Rename as ... (is_guarantee_automaton): ... this. (is_safety_mwdba): New function. * src/tgbaalgos/safety.hh: Adjust and add documentation. * src/tgbaalgos/minimize.cc: Use is_guarantee_automaton() instead of is_safety_automaton(). * src/tgbatests/safety.test: Rename as ... * src/tgbatests/obligation.test: ... this, and augment the test. * src/tgbatest/Makefile.am: Adjust. * src/tgbatest/ltl2tgba.cc (-O): Display whether a formula represent a safety, guarantee, or obligation property. * NEWS: Adjust.
-
- 06 Jan, 2011 2 commits
-
-
Alexandre Duret-Lutz authored
translation contain useless SCCs that where not ignored for minimization. * src/tgbaalgos/minimize.cc (minimize_wdba): Strip useless SCCs before minimization. * src/tgbatest/ltl2tgba.test: Add a check.
-
Alexandre Duret-Lutz authored
understood by Spot. * src/neverparse/neverclaimparse.yy: Support "if :: false fi;" instructions. Spin sometimes output these on dead states. Also rewrite the "transitions" rule as a left recursion. * src/tgbatest/neverclaimread.test: Adjust output because of the right->left recursion change, and add two more formula to submit to Spin to test its output.
-
- 05 Jan, 2011 15 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbatest/minimize.cc: Delete.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.hh, src/tgbaalgos/minimize.cc (minimize): Split into ... (minimize_wdba, minimize_monitor): ... these two functions. * src/tgbatest/ltl2tgba.cc (main): Adjust the call to minimize_monitor. * wrap/python/cgi-bin/ltl2tgba.in: Adjust the calls to minimize_monitor and minimize_obligation. * wrap/python/spot.i: Declare minimize_monitor, minimize_wdba, minimize_obligations. * src/tgba/tgbaexplicit.hh (tgba_explicit_string) (tgba_explicit_formula, tgba_explicit_number): Add fake declarations so that SWIG can see they inherits from tgba.
-
Alexandre Duret-Lutz authored
failure because the minimization() algorithm is currently incorrect when applied to non-weak automata.
-
Alexandre Duret-Lutz authored
correct from ltl2tgba to the library. * src/tgbaalgos/minimize.hh, src/tgbaalgos/minimize.cc (minimize_obligation): New function. * src/tgbatests/ltl2tgba.cc (main): Fix constness of automata, and call minimize_obligation() for -R3b.
-
Alexandre Duret-Lutz authored
* src/tgbatest/wdba.test: Speed up execution by running only a couple of formula with valgrind. Half of those with`-l -R3b' and the other half with `-f -R3'.
-
Alexandre Duret-Lutz authored
under the same heading "automaton conversion".
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (-M): New option for building deterministic monitors. * src/tgbaalgos/minimize.cc (minimize): Take a monitor argument and adjust the code. * src/tgbaalgos/minimize.hh (minimize): Document it.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (main): Warn if -Rm is used without knowing the formula whose automaton is minimized.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.cc (init_sets, minimize): Fix memory leaks and a usage of the wrong automaton. * src/tgbatest/wdba.test: Try using -Rm with -R3 or -R3b, and with valgrind. This caught all the bugs fixed above.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/minimize.cc (minimize): Don't add acceptance conditions if the final set is empty. * src/tgbaalgos/powerset.cc (tgba_powerset): Add the initial state to acc_list if it is accepting. Also do not compute an SCC build map if we don't have to build acc_list.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (main): Use WDBA-minimization only when it is correct. Either we can quickly determine that a formula or its negation is a safety formula, or we can slowly check the equivalence of the WDBA-minimized automaton and the original automaton. * src/tgbatest/wdba.test: New test. * src/tgbatest/safety.test: Adjust comment. * src/tgbatest/spotlbtt.test: Use -Rm. * src/tgbatest/Makefile.am (TESTS): Add wdba.test.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (main): Delete the minimized automaton. * src/tgbaalgos/minimize.cc (minimize): Remove the call to unregister_variable() at the end. It was both wrong (unregistering only the first variable) and useless ("delete del_a" will unregister all these variables). Use a map and a set to keep track of free BDD variable and reuse them, otherwise the algorithm would sometimes use more variables than allocated.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/safety.hh, src/tgbaalgos/safety.cc: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatests/ltl2tgba.cc: Add option "-O". * src/tgbaalgos/scc.hh: Update documentation. * src/tgbatest/Makefile.am (TESTS): Add safety.test. * src/tgbatest/safety.test: New file.
-
* src/tgbatest/minimize.cc: Delete useless includes. * src/tgbaalgos/minimize.cc: Delete useless includes, fixed acceptance conditions. * src/tgbatest/ltl2tgba.cc: Add -Rm option for minimization. * src/tgba/tgbaexplicit.cc: Fixed typo.
-
* src/tgbatest/minimize.cc: New file. Minimize an automaton from a LTL formula and compare the size of the initial automaton to the size of the minimized automaton.
-
- 12 Dec, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
With this change the output of ltl2tgba -f -x -k -DS "GF(p_1) & ... & GF(p_n) uses less than (n+1)^2 transitions when it used exactly (n+1)*(2^n) transitions before. * src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): Merge transitions going to the same states if they are both accepting or if neither are. (state_ptr_bool_t, state_ptr_bool_less_than): Helper type to store a transition in tgba_tba_proxy_succ_iterator. * src/tgba/tgbatba.cc, src/tgba/tgbatba.hh (tgba_tba_proxy::transition_annotation): Remove. We cannot implement this method if transitions are merged.
-
- 10 Dec, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
SCC information). * src/tgbatest/ltl2tgba.cc (syntax, main): Add a -ks option. * src/tgbatest/ltl2tgba.test, bench/ltlclasses/run, bench/ltlcounter/run: Use -ks instead of -k to speed things up.
-
- 01 Dec, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
even if it hasn't been printed.
-
- 30 Nov, 2010 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (main): Either replay the accepting run or print it, but do not do both. * src/tgbatest/emptchk.test: Adjust. I.e. use -C instead of -CR when we expect the run to be displayed.
-
Alexandre Duret-Lutz authored
* src/tgbatest/randtgba.cc (main): Remove the set but unused opt_A variable (the upcoming GCC 4.6 would warn about it) and set opt_ec to 1 if -A is used without -e.
-
- 27 Nov, 2010 2 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/reducerun.hh (tgba_run): Predeclare as a struct since this is what it is. * src/tgbatest/randtgba.cc (main): Avoid using "i" with two different type in the same loop.
-
- 25 Nov, 2010 2 commits
-
-
Alexandre Duret-Lutz authored
before some optional operations (like more optimizations, or a product). * src/tgbatest/ltl2tgba.cc (-N, -NN): Make sure we print the last automaton computed, not just the automaton when we degeneralized it. We may have applied other algorithms since the original degeneralization.
-
Alexandre Duret-Lutz authored
have been done on 2010-01-30 when the default translation was changed from -l to -f.
-