1. 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
  2. 18 Nov, 2009 1 commit
  3. 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
  4. 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
  5. 07 Nov, 2009 2 commits
  6. 28 Oct, 2009 1 commit
  7. 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
  8. 17 Oct, 2009 1 commit
  9. 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
  10. 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
  11. 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
  12. 30 Jul, 2009 1 commit
  13. 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
  14. 07 Jul, 2009 1 commit
  15. 11 Jun, 2009 1 commit
  16. 10 Jun, 2009 3 commits
  17. 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
  18. 31 May, 2009 1 commit
  19. 28 May, 2009 2 commits
  20. 26 Mar, 2009 1 commit
    • Damien Lefortier's avatar
      Add support for ELTL (AST & parser), and an adaptation of LaCIM · 2fbcd7e5
      Damien Lefortier authored
      for ELTL.  This is a new version of the work started in 2008 with
      LTL and ELTL formulae now sharing the same class hierarchy.
      
      * configure.ac: Adjust for src/eltlparse/ and src/eltltest/
      directories, and call AX_BOOST_BASE.
      * m4/boost.m4: New file defining AX_BOOST_BASE([MINIMUM-VERSION]).
      * src/Makefile.am: Add eltlparse and eltltest.
      * src/eltlparse/: New directory.  Contains the ELTL parser.
      * src/eltltest/: New directory.  Contains tests related to
      ELTL (parser and AST).
      * src/ltlast/Makefile.am: Adjust for ELTL AST files.
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh: New files.
      Represent automaton operators nodes used in ELTL ASTs.
      * src/ltlast/nfa.cc, src/ltlast/nfa.hh: New files.  Represent
      simple NFAs used internally by automatop nodes.
      * src/ltlast/allnode.hh, src/ltlast/predecl.hh,
      src/ltlast/visitor.hh: Adjust for automatop.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/dotty.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
      src/ltlvisit/tostring.cc: Because LTL and ELTL formulae share the
      same class hierarchy, LTL visitors need to handle automatop nodes
      to compile.  When it's meaningful the visitor applies on automatop
      nodes or simply assert(0) otherwise.
      * src/tgba/tgbabddconcretefactory.cc (create_anonymous_state),
      src/tgba/tgbabddconcretefactory.hh (create_anonymous_state): New
      function used by the LaCIM translation algorithm for ELTL.
      * src/tgbaalgos/Makefile.am: Adjust for eltl2tgba_lacim* files.
      * src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/eltl2tgba_lacim.hh: New files.  Implementation of
      the LaCIM translation algorithm for ELTL.
      * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc:
      Handle automatop nodes in the translation by an assert(0).
      * src/tgbatest/Makefile.am: Adjust for eltl2tgba.* files.
      * src/src/tgbatest/eltl2tgba.cc, src/tgbatest/eltl2tgba.test: New
      files
      2fbcd7e5
  21. 25 Mar, 2009 1 commit
  22. 23 Feb, 2009 2 commits
  23. 18 Feb, 2009 1 commit
  24. 19 Dec, 2008 1 commit
  25. 18 Dec, 2008 1 commit
  26. 20 Jun, 2008 1 commit