- 28 Nov, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
Also offers two ways to output Kripke structures. * src/kripketest/parse_print_test.cc, src/kripke/kripkeexplicit.cc : Simplify includes. * src/kripke/kripkeprint.hh (kripke_save_reachable, kripke_save_reachable_renumbered): New declarations. (KripkePrinter): Move and rename... * src/kripke/kripkeprint.cc (kripke_printer): ... here. (kripke_printer_renumbered): New class. (kripke_save_reachable, kripke_save_reachable_renumbered): New function. * src/tgbatest/ltl2tgba.cc: Add an option to read Kripke structures. * iface/dve2/dve2check.cc: Use kripke_save_reachable_renumbered. * iface/dve2/defs.in (run2): Remove. * iface/dve2/kripke.test: Adjust tests.
-
- 25 Aug, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
after the simulation-reduction. Report from Tomáš Babiak <xbabiak@fi.muni.cz>. * src/tgbaalgos/neverclaim.hh (never_claim_reachable): Take a tgba as input. * src/tgbaalgos/neverclaim.cc (never_claim_bfs): Call state_is_accepting() only if this tgba turns out to be a tgba_sba_proxy. Otherwise check the acceptance of one outgoing transition as we do in dotty_bfs since 2011-03-05. * src/tgbatest/ltl2tgba.cc: Do not redegeneralize before calling never_claim_reachable() if we know the automaton is degeneralized already. * src/tgbatest/ltl2tgba.test: Add a test case.
-
- 17 Aug, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 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.
-
- 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.
-
- 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.
-
- 05 Jan, 2011 9 commits
-
-
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
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
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/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.
-
- 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 1 commit
-
-
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.
-
- 27 Nov, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 25 Nov, 2010 1 commit
-
-
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.
-
- 06 Nov, 2010 4 commits
-
-
Alexandre Duret-Lutz authored
* src/neverparse/public.hh, src/neverparse/parsedecl.hh: Fix inclusion guards. * src/tgba/tgbaexplicit.hh, src/tgbatest/emptchk.test, src/tgbatest/ltl2tgba.cc: Fix trailing whitespaces.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
options -C and -CR for that. * src/tgbatest/ltl2tgba.cc: Add option -C and -CR to control whether we want the accepting run to be printed or replayed. * src/tgbatest/dfs.test, src/tgbatest/eltl2tgba.test, src/tgbatest/emptchk.test, src/tgbatest/emptchke.test, src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlcounter.test: Use -CR.
-
Alexandre Duret-Lutz authored
* src/neverclaimparse/: Shorthen as ... * src/neverparse/:... this. * src/Makefile.am: Adjust, and add back the directories mistakenly removed by previous patch. * README: Adjust, and keep the file's width under 80 columns. * configure.ac: Adjust. * src/neverparse/Makefile.am, src/neverparse/fmterror.cc, src/neverparse/neverclaimparse.yy, src/neverparse/neverclaimscan.ll, src/neverparse/public.hh: Fix copyright. * src/tgbatest/Makefile.am (check_PROGRAMS): Remove neverclaimread. * src/tgbatest/ltl2tgba.cc: Add option -XN to read a neverclaim. * src/tgbatest/readneverclaim.cc: Delete. * src/tgbatest/neverclaimread.test: Use ltl2tgba instead of neverclaimread.
-
- 15 Apr, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
help output.
-
- 12 Apr, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
* src/ltlast/binop.cc, src/ltlast/binop.cc: Add support for these new operators. * src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll: Parse them. * src/ltltest/reduccmp.test: Add new tests for W and M. * src/ltlvisit/basicreduce.cc, src/ltlvisit/contain.cc, src/ltlvisit/lunabbrev.cc, src/ltlvisit/nenoform.cc, src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.cc, src/ltlvisite/simpfg.cc, src/ltlvisit/simpfg.hh, src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc, src/tgba/formula2bdd.cc, src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc: Add support for W and M. * src/tgbatest/ltl2neverclaim.test: Test never claim output using LBTT, this is more thorough. Also we cannot use -N any more in the spotlbtt.test. * src/tgbatests/ltl2tgba.cc: Define M and W for ELTL. * src/tgbatest/ltl2neverclaim.test: Test W and M, and use -DS instead of -N, because lbtt-translate does not want to translate these operators for tools that masquerade as Spin.
-
- 06 Mar, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
by default in scc_filter(). Doing so helps the degeneralization algorithm, because it will have more opportunity to be in an accepting level when it reaches the accepting SCCs. * src/tgbaalgos/sccfilter.cc (filter_iter::filter_iter): Take a remove_all_useless argument. (filter_iter::process_link): Use the flag to decide whether to filter acceptance conditions going to accepting SCCs. (scc_filter): Take a remove_all_useless argument and pass it to filter_iter. * src/tgbaalgos/sccfilter.hh (filter_iter): Add the new argument and document the function. * src/tgbatest/tgbatests/ltl2tgba.cc (main): Add option use -R3 for remove_all_useless=false and add -R3f for remove_all_useless=true. * src/tgbatest/ltl2tgba.test: Show one case where -R3f makes the degeneralization worse than -R3.
-
- 03 Mar, 2010 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (main): Call scc_filter() before the degeneralization, because it might remove useless acceptance conditions. I realized this while looking at experiments from Rüdiger Ehlers.
-
- 30 Jan, 2010 4 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh: Remove the containment option. * src/tgbafromfile.cc, src/tgbafromfile.hh: Remove the containment_ member. * src/tgbatest/ltl2tgba.cc (syntax): Remove -c option for FM algorithm, use it exclusively for TAA.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (syntax, main): Do it. * NEWS: Mention it.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (syntax, main): Introduce -le to select this algorithm and -lo to add the default LTL operators. This replace the undocumented hack to add LTL operators when the formula with read for command-line, or the automaton was output for LBTT. * src/tgbatest/eltl2tgba.test, src/tgbatest/spotlbtt.test: Update call syntax. * NEWS: Mention -le, -lo, and -taa.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (syntax): Move -R3b with the other LaCIM options. (main): Speak of "symbolic SCC pruning" instead of "deleting unaccepting SCC", and do that right after the translation, before degeneralization. Also error out when -R3b is used on non symbolic automata.
-
- 24 Jan, 2010 1 commit
-
-
Guillaume Sadegh authored
* bench/Makefile.am, bench/gspn-ssp/Makefile.am, bench/gspn-ssp/defs.in, bench/scc-stats/Makefile.am, bench/split-product/Makefile.am, configure.ac, iface/Makefile.am, iface/gspn/Makefile.am, iface/gspn/ssp.hh, iface/nips/Makefile.am, iface/nips/common.cc, iface/nips/common.hh, iface/nips/dottynips.cc, iface/nips/nips.cc, iface/nips/nips.hh, src/Makefile.am, src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll, src/eltlparse/fmterror.cc, src/eltlparse/parsedecl.hh, src/eltltest/Makefile.am, src/eltltest/defs.in, src/eltltest/nfa.cc, src/evtgba/evtgba.hh, src/evtgba/product.cc, src/evtgba/product.hh, src/evtgbaalgos/tgba2evtgba.cc, src/evtgbaparse/Makefile.am, src/evtgbaparse/evtgbaparse.yy, src/evtgbatest/defs.in, src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.cc, src/evtgbatest/ltl2evtgba.test, src/evtgbatest/product.cc, src/evtgbatest/product.test, src/evtgbatest/readsave.cc, src/evtgbatest/readsave.test, src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc, src/ltlast/constant.hh, src/ltlast/formula.cc, src/ltlast/formula.hh, src/ltlast/formula_tree.cc, src/ltlast/formula_tree.hh, src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh, src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlenv/declenv.cc, src/ltlenv/declenv.hh, src/ltlenv/environment.hh, src/ltlparse/Makefile.am, src/ltlparse/ltlparse.yy, src/ltltest/Makefile.am, src/ltltest/defs.in, src/ltltest/equals.cc, src/ltltest/equals.test, src/ltltest/lunabbrev.test, src/ltltest/nenoform.test, src/ltltest/parse.test, src/ltltest/parseerr.test, src/ltltest/randltl.cc, src/ltltest/readltl.cc, src/ltltest/reduccmp.test, src/ltltest/syntimpl.cc, src/ltltest/syntimpl.test, src/ltltest/tostring.cc, src/ltltest/tostring.test, src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test, src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc, src/ltlvisit/clone.hh, src/ltlvisit/contain.cc, src/ltlvisit/destroy.cc, src/ltlvisit/destroy.hh, src/ltlvisit/lunabbrev.cc, src/ltlvisit/nenoform.cc, src/ltlvisit/randomltl.cc, src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc, src/misc/bddalloc.cc, src/misc/bddop.cc, src/misc/bddop.hh, src/misc/freelist.hh, src/misc/hash.hh, src/misc/minato.cc, src/misc/minato.hh, src/misc/optionmap.cc, src/misc/timer.cc, src/misc/timer.hh, src/saba/Makefile.am, src/saba/explicitstateconjunction.cc, src/saba/explicitstateconjunction.hh, src/saba/saba.cc, src/saba/saba.hh, src/saba/sabacomplementtgba.cc, src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh, src/saba/sabasucciter.hh, src/sabaalgos/Makefile.am, src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh, src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh, src/sabatest/Makefile.am, src/sabatest/defs.in, src/sanity/Makefile.am, src/tgba/Makefile.am, src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/formula2bdd.cc, src/tgba/state.hh, src/tgba/succiterconcrete.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcretefactory.cc, src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh, src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc, src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh, src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh, src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgbaalgos/dupexp.cc, src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh, src/tgbaalgos/powerset.cc, src/tgbaalgos/reachiter.cc, src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh, src/tgbaparse/Makefile.am, src/tgbaparse/tgbaparse.yy, src/tgbatest/Makefile.am, src/tgbatest/bddprod.test, src/tgbatest/complementation.cc, src/tgbatest/complementation.test, src/tgbatest/defs.in, src/tgbatest/dfs.test, src/tgbatest/dupexp.test, src/tgbatest/explicit.cc, src/tgbatest/explicit.test, src/tgbatest/explpro3.test, src/tgbatest/explpro4.test, src/tgbatest/explprod.cc, src/tgbatest/explprod.test, src/tgbatest/ltl2neverclaim.test, src/tgbatest/ltl2tgba.cc, src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.cc, src/tgbatest/ltlprod.test, src/tgbatest/mixprod.cc, src/tgbatest/mixprod.test, src/tgbatest/powerset.cc, src/tgbatest/readsave.cc, src/tgbatest/readsave.test, src/tgbatest/reduccmp.test, src/tgbatest/reductgba.cc, src/tgbatest/reductgba.test, src/tgbatest/taatgba.cc, src/tgbatest/tgbaread.cc, src/tgbatest/tgbaread.test, src/tgbatest/tripprod.cc, src/tgbatest/tripprod.test, wrap/python/cgi/ltl2tgba.in, wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py: Fix copyrights.
-
- 18 Jan, 2010 1 commit
-
-
Damien Lefortier authored
occuring when labels are pointers. * src/tgbaalgos/ltl2taa.cc: Fix a bug. * src/tgbatest/ltl2tgba.cc: Fix a bug.
-
- 05 Jan, 2010 1 commit
-
-
Damien Lefortier authored
* src/tgbatest/eltl2tgba.cc: Remove. * src/tgbatest/Makefile.am: Adjust. * src/tgbatest/ltl2tgba.cc: New option: -xltl to translate an extended LTL instead of an LTL, a feature previously offered by eltl2tgba.cc. Also: -R3b to use delete_unaccepting_scc. * src/tgbatest/spotlbtt.test: Adjust.
-
- 26 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
reductions by simulation.
-
- 25 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
really stop it!
-
- 24 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
* src/misc/timer.hh (time_info::running): New attribute. (time_info::start, time_info::stop): Update and check time_info::running. * src/misc/timer.cc (timer_map::print): Mark running timers with a "+" in the output. * src/tgbatest/ltl2tgba.cc (main): Rename the name of the timers for SCC and simulation reduction, and actually stop the SCC timer.
-
- 18 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
prune_scc() leaked memory and failed to remove chains of useless SCCs. * src/tgbaalgos/reductgba_sim.cc (reduc_tgba_sim): Call scc_filter() instead of prune_scc(), and do it before running any simulation-based reduction. * src/tgbaalgos/reductgba_sim.hh (reduc_tgba_sim): Return a const tgba*. * src/tgbatest/ltl2tgba.cc: Call scc_filter() instead of prune_scc(). * src/tgbatest/scc.test: Add two more tests that failed with prune_scc().
-