- 17 Jan, 2010 1 commit
-
-
Damien Lefortier authored
speed up a little the translation. * src/tgbaalgos/ltl2taa.cc: Adjust. Also fix a bug with acceptance conditions in all_n_tuples. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Adjust.
-
- 16 Jan, 2010 1 commit
-
-
Damien Lefortier authored
taa_tgba instances labelled by other objects than strings in the same way Alexandre did for tgba_explicit. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Split taa_tgba in two levels: taa_tgba with no label and taa_tgba_labelled templated by the type of the label. Define taa_tgba_string (with the interface of the former taa_tgba class) and taa_tgba_formula for future use in ltl2taa.cc. * src/tgbaalgos/ltl2taa.cc, src/tgbatest/taatgba.cc: Adjust to use taa_tgba_string.
-
- 06 Jan, 2010 1 commit
-
-
Damien Lefortier authored
* src/eltlparse/eltlscan.ll: Fix a typo.
-
- 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.
-
- 18 Dec, 2009 1 commit
-
-
Damien Lefortier authored
* src/tgbatest/spotlbtt.test: Use the above function with LaCIM for ELTL which greatly reduce the size of the automata!
-
- 11 Dec, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 09 Dec, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
by previous patch.
-
Alexandre Duret-Lutz authored
Inline bdd_addref() and bdd_delref() to speedup BDD operations. * src/kernel.c, src/kernel.h (bdd_addref, bdd_delref): Move these functions and there associated global variables... * src/bdd.c (bdd_error): ... and this function ... * src/bdd.h (bdd_addref, bdd_delref, bdd_error): ...here so that they can be inlined.
-
- 30 Nov, 2009 2 commits
-
-
Guillaume Sadegh authored
* src/saba/sabacomplementtgba.hh, src/saba/sabacomplementtgba.cc: New. The algorithm. * src/saba/Makefile.am: Adjust. * src/sabatest/sabacomplementtgba.cc, src/sabatest/Makefile.am, src/sabatest/defs.in: New. Test the algorithm. * configure.ac, src/Makefile.am: Adjust to the new directory `sabatest'.
-
Guillaume Sadegh authored
Automata (SABA). * src/saba/saba.hh, src/saba/saba.cc, src/saba/sabastate.hh, src/saba/sabasucciter.hh: New. Interface for SABA (State-labeled Alternating Büchi Automata). * src/saba/explicitstateconjunction.cc, src/saba/explicitstateconjunction.hh: New. Default implementation for a conjunction of states. * src/saba/Makefile.am: New. * src/Makefile.am, configure.ac: Adjust. * src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh: New. Iterate over all reachable states of a spot::saba. * src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh: New. Print reachable states in dot format. * src/sabaalgos/Makefile.am: New.
-
- 27 Nov, 2009 1 commit
-
-
Guillaume Sadegh authored
* src/tgba/taa.cc, src/tgba/taa.hh: Rename as ... * src/tgba/taatgba.cc, src/tgba/taatgba.hh: ... these, and rename the class taa as taa_tgba. * src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/Makefile.am: Adjust. * src/tgbatest/ltl2tgba.cc, src/tgbatest/Makefile.am: Adjust. * src/tgbatest/taa.test: Rename as ... * src/tgbatest/taatgba.test ... this. * src/tgbatest/taa.cc: Rename as ... * src/tgbatest/taatgba.cc ... this, and adjust.
-
- 26 Nov, 2009 3 commits
-
-
Alexandre Duret-Lutz authored
reductions by simulation.
-
Alexandre Duret-Lutz authored
latest function added to BuDDy.
-
Alexandre Duret-Lutz authored
Fix generation of random formulae on 64bits systems. * src/main.cc (testLoop): Generate random short ints between 0 and SHRT_MAX, not between 0 and LONG_MAX. On systems where long ints are 64bits, LRAND(0,LONG_MAX) was returning a value with the lower 32 bits set to 0, and the latter truncation to short int always yielded the value 0. Consequently all generated formulae were identical...
-
- 25 Nov, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
* src/Configuration.cc (registerAlgorithm): Do not complain about a missing path for disabled algorithms.
-
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.
-
- 23 Nov, 2009 4 commits
-
-
Alexandre Duret-Lutz authored
the same node twice when dealing with loops.
-
Alexandre Duret-Lutz authored
* src/misc/minato.cc (minato_isop::minato_isop): Call bdd_satprefix. (minato_isop::next): Avoid useless intermediate variables. * src/misc/minato.hh: Typo in comments.
-
Alexandre Duret-Lutz authored
Introduce bdd_satprefix, to speedup spot::minato(). * src/bdd.h (bdd_satprefix): New function. * src/bddop.c (bdd_satprefix, bdd_sat_prefixrec): New functions.
-
Alexandre Duret-Lutz authored
If the input is a tgba_explicit_formula we can output a tgba_explicit_formula too, and we want to do that because it is more space efficient. * src/tgba/tgbaexplicit.hh (get_label): New method. * src/tgbaalgos/sccfilter.cc (create_transition): New function, to handle tgba_explicit_formula and tgba_explicit_string output differently. (filter_iter): Template it on the output tgba type, and adjust to call create_transition. (scc_filter): Use filter_iter<tgba_explicit_formula> or filter_iter<tgba_explicit_string> depending on the input tgba type.
-
- 20 Nov, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
A useless acceptance conditions is one that is always implied by another. * src/misc/bddop.hh, src/misc/bddop.cc (compute_neg_acceptance_conditions): New function. * src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc (set_acceptance_conditions): New function. * src/tgbaalgos/scc.cc (build_map, build_scc_stats, dump_scc_dot): Keep track of useful acceptance conditions. (useful_acc_of): New function. * src/tgbaalgos/scc.hh (scc_stats, scc_map::scc::useful_scc): New attributes. * src/tgbaalgos/sccfilter.cc (filter_iter): Adjust to filter useless acceptance conditions. (scc_filter): Compute useful acceptance conditions and pass them to filter_iter.
-
Alexandre Duret-Lutz authored
after removing acceptance conditions.
-
- 18 Nov, 2009 5 commits
-
-
Alexandre Duret-Lutz authored
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh (prune_scc, prune_acc, remove_component, compute_scc, remove_acc, is_not_accepting, delete_scc, is_terminal, remove_scc, display_scc): Remove anything related to the simplification of SCCs.
-
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().
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccfilter.cc: New files. * src/tgbaalgos/Makefile.am: Add them.
-
Alexandre Duret-Lutz authored
Also compute useless SCCs. * src/tgbaalgos/scc.cc (scc_map::scc::trivial): New field. (scc_stats::useless_scc_map): New field. * src/tgbaalgos/scc.cc (scc_map::build_map): Mark SCCs that are not trivial. (scc_map::accepting): Always return false for trivial SCC. (build_scc_stats): Fill in useless_scc_map.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/reachiter.hh (tgba_reachable_iterator::want_state): New method. * src/tgbaalgos/reachiter.cc (tgba_reachable_iterator::want_state): Implement it. (tgba_reachable_iterator::run): Call want_state before processing a state.
-
- 17 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
of by pointer. * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh: Fix copyright header.
-
- 13 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
counter updated each time we create a new (unique) formula. Doing so saves a lot of memory during the translation of the ltlcounter formulae, because the formulae are quite big and storing a string representation of each formula on its node was a bad idea. For instance with n=12, the translation now uses 40MB where it used 290MB. (Note: in both cases, 20MB is being used by the BDD cache.) * src/ltlast/formula.hh (hash_key_): Rename as ... (count_): ... this. (hash): Adjust. (max_count): New static variable to count the number of formulae created. (formula): Update max_count and set count_. (dump): Make it a virtual pure method. (set_key_): Remove. (formula_ptr_less_than): Speed up and return false when the two formula pointer are equal. * src/ltlast/formula.cc (set_key_, dump): Remove. * src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, src/ltlast/automatop.cc, src/ltlast/automatop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc, src/ltlast/constant.hh, src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh: Empty the constructor (do not precompute the dump_ anymore), and add a dump() implementation.
-
- 12 Nov, 2009 3 commits
-
-
Alexandre Duret-Lutz authored
* bench/ltl2tgba/algorithms: Use -l for all LaCIM invocations. * src/tgbatest/dupexp.test, src/tgbatest/emptchk.test, src/tgbatest/spotlbtt.test: Likewise.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc (syntax): Reorganize the help text, so that we can find options without resorting to grep... Also cleanup the program name if it is a libtool wrapper.
-
Alexandre Duret-Lutz authored
translation. It still is the default translation. (opt_fm, opt_taa): Replace these two variables by ... (translation): ... this enum. And use a switch to call the correct translation.
-
- 11 Nov, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
* wrap/python/spot.i: Do not include clone.hh and destroy.hh.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Fix a typo introduced three patches ago in the handling of unobserved events.
-
- 10 Nov, 2009 5 commits
-
-
Alexandre Duret-Lutz authored
much time when the formula is large, and it is useless when the purpose is model-checking with Spin. * src/tgbaalgos/neverclaim.hh (never_claim_reachable): Add the comments option. * src/tgbaalgos/neverclaim.cc (never_claim_bfs, never_claim_reachable): Honor the comment option. * src/tgba/tests/ltl2tgba.cc (-N): Do not comment states. (-NN) New option to output a commented never claim.
-
Damien Lefortier authored
* src/tgbaalgos/ltl2taa.cc: Do NOT use the same bdd_dict for both the translation and the language containment checker. * src/tgbatest/spotlbtt.test: Update TAA related tests.
-
Alexandre Duret-Lutz authored
This gives a nice speedup (>1.4) in the ltlcounter benchmark, because we no longer have to generate a copy the string representations of the LTL formulae. * src/tgbaalgos/ltl2tgba_fm.cc: Adjust. Also get rid of the formulae_seen map, since we can now ask the tgba_explicit_formula if it knows the state.
-
Alexandre Duret-Lutz authored
* src/tgbatest/ltl2tgba.cc: Dump all LTLinstances with their reference count.
-
Alexandre Duret-Lutz authored
tgba_explicit instances labelled by other objects than strings. * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Split tgba_explicit in two levels: tgba_explicit with unlabelled states, and tgba_explicit_labelled templated by the type of the label. Define tgba_explicit_string (with the interface of the former tgba_explicit class) and tgba_explicit_formula for future use in ltl2tgba.cc. * src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh, src/tgbaalgos/cutscc.cc, src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/randomgraph.cc, src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy, src/tgbatest/explicit.cc, src/tgbatest/ltl2tgba.cc: Adjust to use tgba_explicit_string when appropriate.
-