1. 20 Jan, 2010 2 commits
    • Damien Lefortier's avatar
      When iterating a hash_map, be careful not to delete i->first · 04827ef4
      Damien Lefortier authored
      before doing ++i to avoid memory issues.
      
      * src/tgba/taatgba.cc, src/tgba/taatgba.hh,
      src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Fix them.
      04827ef4
    • Damien Lefortier's avatar
      Minor fixes to compile with GCC 3.3 · 0d6fd322
      Damien Lefortier authored
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh: Rename nfa as
      get_nfa to avoid a name clash with the `nfa' class.
      * src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/tostring.cc, src/tgbaalgos/eltl2tgba_lacim.cc: Use
      get_nfa instead of nfa.
      * src/tgba/tgbasafracomplement.cc: Don't use a
      const_reverse_iterator.
      0d6fd322
  2. 18 Jan, 2010 1 commit
  3. 17 Jan, 2010 1 commit
  4. 16 Jan, 2010 1 commit
    • Damien Lefortier's avatar
      Introduce taa_tgba_labelled<label> so that we can build · 7c20d8ae
      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.
      7c20d8ae
  5. 18 Dec, 2009 1 commit
  6. 27 Nov, 2009 1 commit
    • Guillaume Sadegh's avatar
      Rename the class taa as taa_tgba. · f00aa49d
      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.
      f00aa49d
  7. 23 Nov, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      Specialize scc_filter when handling tgba_explicit_formula automata. · 81e0872b
      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.
      81e0872b
  8. 20 Nov, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      Strip useless acceptance conditions in scc_filter(). · dfb9c662
      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.
      dfb9c662
  9. 18 Nov, 2009 1 commit
  10. 10 Nov, 2009 2 commits
    • Damien Lefortier's avatar
      * src/tgba/taa.cc, src/tgba/taa.hh: Fix it. · 1d8b115b
      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.
      1d8b115b
    • Alexandre Duret-Lutz's avatar
      Introduce tgba_explicit_labelled<label> so that we can build · 4e22bb8b
      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.
      4e22bb8b
  11. 09 Nov, 2009 2 commits
    • Alexandre Duret-Lutz's avatar
      Deprecate ltl::destroy(f) in favor of f->destroy() · 77df39b4
      Alexandre Duret-Lutz authored
      * src/ltlast/formula.cc, src/ltlast/formula.hh (formula::clone):
      Transform this static function into a member function.
      * src/ltlvisit/destroy.hh (destroy): Document and declare as
      deprecated.
      * bench/split-product/cutscc.cc, iface/gspn/ltlgspn.cc,
      src/eltlparse/eltlparse.yy, src/eltltest/acc.cc,
      src/evtgbaalgos/tgba2evtgba.cc, src/evtgbatest/ltl2evtgba.cc,
      src/ltlast/automatop.cc, src/ltlast/binop.cc,
      src/ltlast/multop.cc, src/ltlast/unop.cc, src/ltlenv/declenv.cc,
      src/ltlenv/declenv.hh, src/ltlparse/ltlparse.yy,
      src/ltltest/equals.cc, src/ltltest/randltl.cc,
      src/ltltest/readltl.cc, src/ltltest/reduc.cc,
      src/ltltest/syntimpl.cc, src/ltltest/tostring.cc,
      src/ltlvisit/destroy.cc src/ltlvisit/basicreduce.cc,
      src/ltlvisit/contain.cc, src/ltlvisit/reduce.cc,
      src/ltlvisit/syntimpl.cc, src/tgba/bdddict.cc,
      src/tgba/bddprint.cc, src/tgba/taa.cc,
      src/tgba/tgbabddconcretefactory.cc, src/tgba/tgbaexplicit.cc,
      src/tgba/tgbafromfile.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/complementation.cc, src/tgbatest/eltl2tgba.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
      src/tgbatest/mixprod.cc, src/tgbatest/randtgba.cc,
      src/tgbatest/reductgba.cc, wrap/python/cgi/ltl2tgba.in,
      wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py,
      wrap/python/tests/ltlsimple.py: Adjust destroy() usage, and remove
      the #include "destroy.hh" when appropriate.
      77df39b4
    • Alexandre Duret-Lutz's avatar
      Deprecate ltl::clone(f) in favor of f->clone(). · 48fb19ea
      Alexandre Duret-Lutz authored
      * src/ltlvisit/clone.hh (clone): Document and declare as deprecated.
      * src/ltlast/formula_tree.cc, src/ltlvisit/basicreduce.cc,
      src/ltlvisit/clone.cc, src/ltlvisit/contain.cc,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/reduce.cc,
      src/ltlvisit/syntimpl.cc, src/tgba/bdddict.cc,
      src/tgba/formula2bdd.cc, src/tgba/tgbabddconcretefactory.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbatest/complementation.cc, wrap/python/tests/ltlsimple.py:
      Adjust clone() usage, and remove the #include "clone.hh" when
      appropriate.
      48fb19ea
  12. 07 Nov, 2009 2 commits
  13. 28 Oct, 2009 1 commit
  14. 22 Oct, 2009 1 commit
    • Damien Lefortier's avatar
      Improve ltl_to_taa. · 7ce27ef9
      Damien Lefortier authored
      * src/tgba/taa.cc, src/tgba/taa.hh: taa_succ_iterator is not
      on-the-fly anymore allowing some redundant transitions to be
      removed. Also a new function to output a TAA.
      * src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh: Add the
      refined rules from Tauriainen.
      * src/tgbatest/ltl2tgba.cc: Use -c to activate refined rules in
      ltl_to_taa.
      * src/tgbatest/spotlbtt.test: More tests.
      7ce27ef9
  15. 17 Oct, 2009 1 commit
  16. 16 Oct, 2009 2 commits
    • Damien Lefortier's avatar
      Minor fixes. · 84060b49
      Damien Lefortier authored
      * src/misc/bddop.hh, src/tgba/taa.hh, src/tgbaalgos/ltl2taa.hh:
      Fix sanity (incorrect include guard).
      * src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh:
      Copyright 2009.
      * src/tgbaalgos/eltl2tgba_lacim.cc: Use abbreviations.
      * src/tgbatest/taa.cc: Fix it.
      84060b49
    • Damien Lefortier's avatar
      Add a class to represent Transition-based Alternating Automata (TAA). · 20c1f01e
      Damien Lefortier authored
      * misc/Makefile.am, misc/bbop.cc, misc/bddop.hh: Factorize some
      code on BDDs to compute all_acceptance_conditions from
      neg_acceptance_condition.
      * src/tgba/Makefile.am, src/tgbatest/Makefile.am: Adjust.
      * src/tgba/taa.cc, src/tgba/taa.hh: The TAA class.
      * src/tgba/tgbaexplicit.hh: Use the factorized code in bddop.hh.
      * src/tgbatest/taa.cc, src/tgbatest/taa.test: Some test cases.
      20c1f01e
  17. 01 Oct, 2009 5 commits
    • Guillaume Sadegh's avatar
      The sgba proxy adds an acceptance condition to every states when · 44ab903b
      Guillaume Sadegh authored
      the original automaton has no acceptance condition.
      
      * src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh: New option:
      when the original automaton has no accepting condition, it
      explicitly considers that every state is accepting.
      44ab903b
    • Guillaume Sadegh's avatar
      * src/tgba/tgbacomplement.cc: Move functions related to · 6d18623e
      Guillaume Sadegh authored
      shared_ptr on states...
      * src/tgba/state.hh: ... here.
      * src/tgbatest/complementation.test: Do not apply some tests on
      the new algorithm because it takes to much time to run.
      6d18623e
    • Guillaume Sadegh's avatar
      A new complementation construction based on ranking. · d6e22c06
      Guillaume Sadegh authored
      * src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh: The
      construction.
      * src/tgbatest/Makefile.am: Adjust.
      * src/tgbatest/complementation.cc: Add options to support this
      construction in addition to Safra construction.
      * src/tgba/Makefile.am: Adjust.
      * src/tgbatest/complementation.test: Adjust to test also this
      complementation.
      d6e22c06
    • Guillaume Sadegh's avatar
      A wrapper around tgba to produce state-labeled automata. · 8f5f0354
      Guillaume Sadegh authored
      * src/tgba/tgbasgba.hh, src/tgba/tgbasgba.hh: Here.
      * src/tgbatest/ltl2tgba.cc: New option `-lS' for state-labeled
      automata.
      * src/tgba/Makefile.am: Adjust and sort files in tgba_HEADERS
      and libtgba_la_SOURCES.
      8f5f0354
    • Guillaume Sadegh's avatar
      Rename files related to Safra complementation. · 9775dd97
      Guillaume Sadegh authored
      * src/tgba/tgbacomplement.cc, src/tgba/tgbacomplement.hh: Rename
      as...
      * src/tgba/tgbasafracomplement.cc,
      src/tgba/tgbasafracomplement.hh: ... these, and adjust class name.
      * src/tgba/Makefile.am, src/tgbatest/Makefile.am: Adjust.
      * src/tgbatest/complementation.cc: Adjust.
      9775dd97
  18. 07 Sep, 2009 1 commit
    • Damien Lefortier's avatar
      Add an algorithm (from Couvreur) working on BDDs to reduce the · edd4b2b5
      Damien Lefortier authored
      size of TGBAs represented as BDDs by deleting unaccepting SCCs.
      
      * src/eltlparse/eltlparse.yy: Remove a warning.
      * src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh: Add a
      new function delete_unaccepting_scc in both classes.
      * src/tgbatest/eltl2tgba.cc, src/tgbatest/spotlbtt.test: Use this
      new function in LaCIM for ELTL and bench it.
      * src/tgbatest/defs.in: Fix it.
      * bench/ltl2tgba/algorithms, bench/ltl2tgba/defs.in: Add LaCIM for
      ELTL in benchs.
      edd4b2b5
  19. 30 Jul, 2009 1 commit
  20. 08 Jul, 2009 2 commits
    • Guillaume Sadegh's avatar
      fd9ec017
    • Flix Abecassis's avatar
      Add 2 benchmarks directories. · 414956c5
      Flix Abecassis authored
      Add an algorithm to split an automaton in several automata.
      
      * bench/scc-stats: New directory.  Contains input files and test
      program for computing statistics.
      * bench/split-product: New directory.  Contains test program for
      synchronised product on splitted automata.
      * bench/split-product/models: New directory.  Contains Promela
      files and LTL formulae that should be verified by the models.
      * src/tgba/tgbafromfile.cc, src/tgba/tgbafromfile.hh:
      New files.  Small class to avoid long initializations with numerous
      constants when translating to TGBA many LTL formulae from a
      given file.
      * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh:
      New file.  From a single automaton, create, at most,
      X sub automata.
      * src/tgbaalgos/scc.cc, src/tgbaalgos/scc.hh:
      Adjust to compute self-loops count.
      414956c5
  21. 07 Jul, 2009 1 commit
  22. 11 Jun, 2009 1 commit
  23. 10 Jun, 2009 3 commits
  24. 05 Jun, 2009 2 commits
    • Guillaume Sadegh's avatar
      Add an algorithm to complement Büchi automata. · c5f8eafb
      Guillaume Sadegh authored
      	* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc: New
      	files. The complementation algorithm.
      	* src/tgba/Makefile.am: Adjust.
      	* src/tgbatest/complementation.test,
      	src/tgbatest/complementation.cc: New files. Test suite for the
      	complementation algorithm.
      	* src/tgbatest/Makefile.am: Adjust.
      	* src/tgbaalgos/Makefile.am: Reformat the header using 80
      	columns.
      c5f8eafb
    • Damien Lefortier's avatar
      Modify the ELTL parser to be able to support PSL operators. Add a · e48338e8
      Damien Lefortier authored
      new keyword in the ELTL format: finish, which applies to an
      automaton operator and tells whether it just completed.
      
      * src/eltlparse/eltlparse.yy: Clean it. Add finish.
      * src/eltlparse/eltlscan.ll: Add finish.
      * src/formula_tree.cc, src/formula_tree.hh: New files. Define a
      small AST representing formulae where atomic props are unknown
      which is used in the ELTL parser.
      * src/ltlast/automatop.cc, ltlast/automatop.hh, ltlast/nfa.cc,
      ltlast/nfa.hh: Adjust.
      * src/ltlast/unop.cc, src/ltlast/unop.hh: Finish is an unop.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
      src/ltlvisit/tostring.cc, src/ltlvisit/tunabbrev.cc,
      src/tgba/formula2bdd.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc: Handle finish in switches.
      * src/tgbaalgos/eltl2tgba_lacim.cc: Translate finish.
      * src/tgbatest/eltl2tgba.test: More tests.
      e48338e8
  25. 31 May, 2009 1 commit
  26. 28 May, 2009 2 commits