- 08 Sep, 2013 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dbacomp.cc, src/tgbaalgos/dbacomp.hh (dba_complement): Rename to... * src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/dtgbacomp.hh (dtgba_complement): ... this. * src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc, src/tgbatest/ltl2tgba.cc, src/bin/ltlcross.cc, src/tgbaalgos/Makefile.am: Adjust to name change.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh: (dtba_sat_minimize): Split into... (dtba_sat_synthetize, dtba_sat_minimize): These. (dtba_sat_minimize_dichotomy): New function. * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh (dtgba_sat_minimize, dtgba_sat_synthetize): Likewise. * src/tgbatest/ltl2tgba.cc: Adjust to new interface. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Cleanup option processing for SAT options. * src/tgbatest/satmin.test: Adjust. * src/bin/spot-x.cc, src/bin/man/spot-x.x, NEWS: Document.
-
- 26 Aug, 2013 18 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Implement the wdba-minimize option. * src/bin/spot-x.cc (wdba-minimize): Document. * src/bin/man/spot-x.x: Update references.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh: Add support for printing run-time. * src/bin/ltl2tgba.cc, src/bin/dstar2tgba.cc: Compute the run-time and show the option. * NEWS: Mention it.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/isdet.cc: Simplify determinism check. * src/tgbaalgos/isdet.hh, src/tgbaalgos/isdet.cc (is_complete): New function. * src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh, src/bin/dstar2tgba.cc src/bin/ltl2tgba.cc: Add escape sequence %p to the possible statistics to show whether an automaton is complete. * src/tgbatest/nondet.test: Add a couple more tests.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh: Rename dba_sat_minimize to dtba_sat_minimize. Make it possible to produce state-based automata, and do not output useless clauses. * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh: likewise, but also add the possibility to set the target number of states, as in dtba_sat_minimize. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add new options for state-based computations and setting acceptance and states number when using dtgba_sat_minimize(). * src/tgbatest/ltl2tgba.cc: Adjust calls to dtba_sat_minimize(). * src/tgbatest/satmin.test: Adjust calls.
-
Alexandre Duret-Lutz authored
This makes dstar2tgba able to produce a minimal WDBA when the input DRA represent an obligation property. * src/tgbaalgos/minimize.cc (minimize_obligation): When the formula is not supplied but the input automaton is deterministic, complement it to check the result of WDBA minimization. * src/tgbatest/ltl2dstar.test, src/tgbatest/ltl2dstar2.test: Improve tests.
-
Alexandre Duret-Lutz authored
Uses the value of the SPOT_SATSOLVER environment variable to decide how to call the SAT solver. * src/misc/satsolver.cc, src/misc/satsolver.hh: New files. * src/misc/Makefile.am: Add them. * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Use satsolver().
-
Alexandre Duret-Lutz authored
Joint work with Soheib Baarir. * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add a dtgba-sat-minimize option. * src/tgbatest/ltl2tgba.cc: Add option -RG. * src/tgbatest/satmin.test: Add more tests.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/postproc.hh, src/tgbaalgos/postproc.cc: Here.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatest/ltl2tgba.cc: Add option -RS.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/complete.cc, src/tgbaalgos/complete.hh: New files. * src/tgbaalgos/Makefile.am: Add them.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dbacomp.cc: Here. * src/tgbaalgos/dbacomp.hh: Adjust documentation. * src/tgbatest/dbacomp.test: New file. * src/tgbatest/Makefile.am (TESTS): Add it. * src/tgbatest/det.test: Update.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh (tba_determinize, tba_determinize_check): Add a cycle_threshold argument. * src/tgbaalgos/postproc.cc: Use it. * src/tgbatest/ltl2tgba.cc: Adjust calls.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/postproc.cc: Use tba_determinize_check() if option "tba-det" is set. * src/tgbaalgos/postproc.hh (tba_determinize_): New attribute. * src/tgbatest/det.test: New file. * src/tgbatest/Makefile.am (TESTS): Add it.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh (dba_determinize, dba_determinize_check): Add a threshold argument. * src/tgbatest/ltl2tgba.cc (-O, -RQ): Accept a threshold argument.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh (tba_determinize_check): New function. * src/tgbatest/ltl2tgba.cc (-O): Use it.
-
Alexandre Duret-Lutz authored
Loosely based on "Complementing Deterministic Büchi Automata in Polynomial Time", R. P. Kurshan, 1987, J. Comp. Syst. Sci. 35. * src/tgbaalgos/dbacomp.cc, src/tgbaalgos/dbacomp.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatest/ltl2tgba.cc (-DC): New option to test it.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/powerset.hh, src/tgbaalgos/powerset.cc (tba_determinize): New function. * src/tgbatest/ltl2tgba.cc (-RQ): New option, for testing.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/reachiter.hh, src/tgbaalgos/reachiter.cc: Fix the tgba_reachable_iterator_depth_first implementation by not making inheriting from tgba_reachable_iterator. Add a tgba_reachable_iterator_depth_first_stack * src/tgbatest/sim.test, src/tgbatest/dstar.test: Adjust.
-
- 23 Aug, 2013 3 commits
-
-
Alexandre Duret-Lutz authored
* src/bin/dstar2tgba.cc, src/bin/man/dstar2tgba.x: New files. * src/bin/Makefile.am, src/bin/man/Makefile.am: Add them. * NEWS: Mention it. * src/bin/ltl2tgba.cc, src/tgbaalgos/stats.cc, doc/org/ltl2tgba.org: Rename the %S sequence as %c, for consistency with dstar2tgba. * src/tgbatest/ltl2dstar.test: Add more tests. * src/tgbatest/ltl2dstar2.test: New file. * src/tgbatest/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* src/tgba/state.hh: Define state_set and shared_state_set. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Rename the existing state_set (that inherits from spot::state) as set_state. * src/tgba/tgbakvcomplement.cc: Use shared_state_set instead of state_set. * src/tgbaalgos/minimize.cc (state_set): Rename as... (build_state_set): ... this.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/degen.cc: Choose the initial level according to acceptance condition common to all outgoing transitions. * src/tgbatest/degenid.test: Add test case. * NEWS: Mention it.
-
- 29 Jul, 2013 10 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/word.cc, src/tgbaalgos/word.hh: New files. * src/tgbaalgos/Makefile.am: Add them. * src/tgbatest/ltlcrossce.test: New file. * src/tgbatest/Makefile.am: Add it. * src/bin/ltlcross.cc: Compute and display an accepted word for nonempty cross-products. * NEWS, doc/org/ltlcross.org: Document it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/postproc.cc: Move the count_state() function... * src/priv/countstates.cc, src/priv/countstates.hh: ... in these new files. * src/priv/Makefile.am: Add them. * src/saba/sabacomplementtgba.cc, src/tgba/tgbakvcomplement.cc, src/tgbaalgos/minimize.cc: Use count_states() instead of stats_reachable().
-
Alexandre Duret-Lutz authored
* configure.ac: Check for flags and fill CXXFLAGS and CFLAGS. * iface/dve2/dve2.hh: Mark load_dve2 for export. * src/eltlparse/Makefile.am, src/kripke/Makefile.am, src/kripkeparse/Makefile.am, src/ltlast/Makefile.am, src/ltlenv/Makefile.am, src/ltlparse/Makefile.am, src/ltlvisit/Makefile.am, src/misc/Makefile.am, src/neverparse/Makefile.am, src/priv/Makefile.am, src/saba/Makefile.am, src/sabaalgos/Makefile.am, src/ta/Makefile.am, src/taalgos/Makefile.am, src/tgba/Makefile.am, src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/Makefile.am, src/tgbaparse/Makefile.am: Remove $(VISIBILITY_CXXFLAGS) now that it is set globally.
-
Alexandre Duret-Lutz authored
If an installed header has an associated *.cc file (in the source tree), but does not declare any SPOT_API symbol, something is fishy. Either that header should not be installed, or it is missing the SPOT_API markers. * src/sanity/private.test: New test. * src/sanity/Makefile.am: Call it. * src/ltlast/Makefile.am: Do not install formula_tree.hh. * src/ltlvisit/Makefile.am: Do not install mark.hh. * src/tgbaalgos/Makefile.am: Do not intall weight.hh.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/Makefile.am: Add $(VISIBILITY_CXXFLAGS). * src/tgbaalgos/bfssteps.hh, src/tgbaalgos/compsusp.hh, src/tgbaalgos/cutscc.hh, src/tgbaalgos/cycles.hh, src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh, src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh, src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/explscc.hh, src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh, src/tgbaalgos/gv04.hh, src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.hh, src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh, src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh, src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh, src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh, src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh, src/tgbaalgos/safety.hh, src/tgbaalgos/save.hh, src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.hh, src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh, src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh: Mark public symbol with SPOT_API.
-
Alexandre Duret-Lutz authored
* src/tgba/Makefile.am: Use $(VISIBILITY_CXXFLAGS). * src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/formula2bdd.hh, src/tgba/futurecondcol.hh, src/tgba/state.hh, src/tgba/statebdd.hh, src/tgba/succiter.hh, src/tgba/succiterconcrete.hh, src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh, src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh, src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh: Mark exported symbols with SPOT_API. * src/tgba/public.hh: Mark the file as deprecated. * src/tgbaalgos/cutscc.hh: Adjust.
-
Alexandre Duret-Lutz authored
* src/misc/bddalloc.cc, src/misc/bddalloc.hh, src/misc/freelist.cc, src/misc/freelist.hh: Move ... * src/priv/bddalloc.cc, src/priv/bddalloc.hh, src/priv/freelist.cc, src/priv/freelist.hh: ... here. * src/misc/Makefile.am, src/priv/Makefile.am: Adjust. * src/tgba/bdddict.cc: Adjust include. * src/tgbaalgos/ltl2tgba_fm.cc: Remove useless include.
-
Alexandre Duret-Lutz authored
* README: Document it. * configure.ac: Generate src/priv/Makefile. * src/Makefile.am: Recurse into priv/. * src/priv/Makefile.am: New file. * src/misc/acccompl.cc, src/misc/acccompl.hh, src/misc/accconv.cc, src/misc/accconv.hh: Move to... * src/priv/acccompl.cc, src/priv/acccompl.hh, src/priv/accconv.cc, src/priv/accconv.hh: ... here. * src/misc/Makefile.am: Adjust. * src/tgbaalgos/scc.cc, src/tgbaalgos/simulation.cc: Adjust includes. * src/sanity/style.test: Make sure no public header file include a private one.
-
Alexandre Duret-Lutz authored
This follows from a discussion with Ernesto Posse. The semantics for the {...} operator we use in Spot comes from the cl(...) operator defined by Dax et al. (ATVA'09). This is slightly different from the the way the PSL spec interprets a SERE used in the context of a temporal formula (appendix B.3.1.1.2, item 7). cl({a;b}[*]) would match any infinite word that starts with a;b, while in PSL {a;b}[*] would match any infinite word that alternates a and b. Spot documents that {SERE} in a temporal formula is interpreted like cl(SERE) however it failed to ignore the empty prefix of SERE. So {{a;b}[*]} would match anything, because the empty word is a prefix of any word, and is also accepted by {a;b}[*]. Some trivial identities and basic rewritings were also wrongly considering these empty prefixes as well. This patch therefore fixes the translation and syntactic simplification rules, to really ignore these empty prefixes. In some future version it should probably be wise to rename this {...} operator as cl(...), and use {...} for the semantics given in appendix B.3.1.1.2 (item 7) of the PSL specs. * src/ltlast/unop.cc: Fix trivial identities. We have {[*0]} = 0 and !{[*0]} = 1. * src/ltlvisit/simplify.cc: Fix basic rewriting rules. {e[*]} = {e} and !{e[*]} = !{e}. * doc/tl/tl.tex: Adjust documentation. * doc/tl/tl.bib (dax.09.atva): New entry. * src/tgbaalgos/ltl2tgba_fm.cc: Do not accept any infinite word for {e[*]} just because the empty prefix is matched by e[*]. * src/tgbatest/ltl2tgba.test: Add a test case. * NEWS: Mention it. * THANKS: Add Ernesto.
-
- 23 Jul, 2013 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 20 Jul, 2013 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 19 Jun, 2013 1 commit
-
-
Alexandre Duret-Lutz authored
If all the acceptance set of an SCC but the first one were useless, the scc_filter() algorithm could abort with a BDD error because of a bug in the logic. * src/tgbaalgos/sccfilter.cc (scc_filter): Fix. * src/tgbatest/sccsimpl.test: Add a test case supplied by Étienne Renault.
-
- 09 Jun, 2013 2 commits
-
-
Alexandre Duret-Lutz authored
* doc/Doxyfile.in: Update to Doxygen 1.8.4 * doc/footer.html: Point to the mailing list. * doc/mainpage.dox: Point to spot::translator, and spot::kripke. * src/ta/tgta.hh: Do not use \emph. * src/tgba/succiter.hh: Fix rendering of example. * src/tgba/tgba.hh: Correct documentation. * src/tgbaalgos/cycles.hh: Improve rendering of documentation. * src/tgbaalgos/lbtt.hh, src/tgbaalgos/minimize.hh: Document missing arguments.
-
Alexandre Duret-Lutz authored
* src/ltlast/formula.hh, src/ltlvisit/contain.hh, src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh, src/ltlvisit/remove_x.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh, src/misc/minato.hh, src/misc/optionmap.hh, src/saba/sabacomplementtgba.hh, src/taalgos/emptinessta.hh, src/taalgos/minimize.hh, src/taalgos/tgba2ta.hh, src/tgba/tgbakvcomplement.hh, src/tgbaalgos/cycles.hh, src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gv04.hh, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.hh, src/tgbaalgos/minimize.hh, src/tgbaalgos/randomgraph.hh, src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh, src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03opt.hh: Surround verbatim blocks with /** ... */ instead of using /// on each line. Otherwise Doxygen will output the leading "///" tokens -- apparently this is a feature. * src/sanity/style.test: Strip multi-line comments before checking code style.
-
- 08 Jun, 2013 1 commit
-
-
Alexandre Duret-Lutz authored
Using \ingroup between \brief and the rest of the documentation causes Doxygen to concatenate the brief with the rest of the doc. * src/sanity/style.test: Warn when \ingroup is found on the line after \brief. * src/kripke/fairkripke.hh, src/kripke/kripke.hh, src/kripke/kripkeprint.hh, src/ltlast/atomic_prop.hh, src/ltlast/automatop.hh, src/ltlast/binop.hh, src/ltlast/bunop.hh, src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/multop.hh, src/ltlast/refformula.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh, src/ltlparse/ltlfile.hh, src/ltlvisit/clone.hh, src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh, src/ltlvisit/length.hh, src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.hh, src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh, src/ltlvisit/relabel.hh, src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh, src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh, src/misc/freelist.hh, src/misc/hash.hh, src/misc/ltstr.hh, src/misc/minato.hh, src/misc/modgray.hh, src/misc/optionmap.hh, src/misc/version.hh, src/saba/explicitstateconjunction.hh, src/saba/saba.hh, src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh, src/saba/sabasucciter.hh, src/sabaalgos/sabadotty.hh, src/sabaalgos/sabareachiter.hh, src/ta/ta.hh, src/ta/taproduct.hh, src/ta/tgta.hh, src/taalgos/reachiter.hh, src/taalgos/tgba2ta.hh, src/tgba/futurecondcol.hh, src/tgba/sba.hh, src/tgba/state.hh, src/tgba/succiter.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbakvcomplement.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh, src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh, src/tgbaalgos/bfssteps.hh, src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh, src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh, src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/neverclaim.hh, src/tgbaalgos/powerset.hh, src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh, src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh, src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh, src/tgbaalgos/save.hh, src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.hh: Move \ingroup before \brief.
-
- 22 May, 2013 1 commit
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/simulation.cc: Pass template arguments to base-class initializer to fix compilation with g++ < 4.5. Reported by Sonali Dutta.
-