1. 28 Nov, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Add an ltl2tgba option to read Kripke structure. · ba3108f9
      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.
      ba3108f9
  2. 27 Nov, 2011 1 commit
  3. 24 Nov, 2011 3 commits
    • Thomas Badie's avatar
      Add text I/O for Kripke structures. · bb5949f6
      Thomas Badie authored
      * src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/kripke/kripkeprint.cc, src/kripke/kripkeprint.hh: New files.
      * src/kripke/Makefile.am: Add them.
      * src/kripkeparse/fmterror.cc, src/kripkeparse/kripkeparse.yy,
      src/kripkeparse/kripkescan.ll, src/kripkeparse/parsedecl.hh,
      src/kripkeparse/public.hh, src/kripkeparse/scankripke.ll: New
      files.
      * src/kripkeparse/Makefile.am: Add them.
      * src/kripketest/bad_parsing.test, src/kripketest/defs.in,
      src/kripketest/kripke.test, src/kripketest/origin,
      src/kripketest/parse_print_test.cc: New files.
      * src/kripketest/Makefile.am: Add them.
      * src/Makefile.am (SUBDIRS): Add kripkeparse and kripketest.
      * README: Document src/kripketest/ and src/kripkeparse/.
      * configure.ac: Generate src/kripkeparse/Makefile,
      src/kripketest/Makefile, src/kripketest/defs.
      * iface/dve2/defs.in (run2): New function.
      * iface/dve2/dve2check.cc (syntax, main): Add option -gK.
      * iface/dve2/kripke.test: New file.
      * iface/dve2/Makefile.am (TESTS): Add kripke.test.
      bb5949f6
    • Alexandre Duret-Lutz's avatar
      Fix bench/emptchk/pml2tgba.pl for more recent Spin version. · 71d1a4fe
      Alexandre Duret-Lutz authored
      * bench/emptchk/pml2tgba.pl: Stop checking for version start lines
      depending on the Spin version.  This check was never always
      correct.  Reported by Étienne Renault.
      71d1a4fe
    • Alexandre Duret-Lutz's avatar
      Update formulae.ltl not to use uncommon operators. · fdf8878d
      Alexandre Duret-Lutz authored
      * bench/emptchk/formulae.ltl: Do not use + and * in the list of
      formulas.  Use | and & instead.  The * operator was removed on
      2010-01-30.  Reported by Étienne Renault.
      fdf8878d
  4. 23 Nov, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      More documentation. · fd98345c
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/randomgraph.hh: Document the fact that adding
      acceptance conditions to the graph may generate graphs that do not
      have any accepting cycle.
      fd98345c
  5. 17 Nov, 2011 2 commits
  6. 16 Nov, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Fully quote guards used by neverclaims. · ea6a1ffc
      Alexandre Duret-Lutz authored
      Especially with should write !(p0) and not !p0, because p0 is
      usually #define'd by the user and he may have forgotten to quote
      the value of the macro.  This issue was discovered by Kristin
      Yvonne Rozier and diagnosed by Gerard Holzmann.
      
      * src/tgbaalgos/neverclaim.cc (process_link): Call
      to_spin_string(..., true) to fully parentheses the string.
      * src/tgbatest/neverclaimread.test: Add a test.
      ea6a1ffc
  7. 11 Nov, 2011 1 commit
  8. 08 Nov, 2011 1 commit
  9. 26 Oct, 2011 1 commit
  10. 24 Oct, 2011 2 commits
  11. 23 Oct, 2011 3 commits
    • Alexandre Duret-Lutz's avatar
      Safra: Fix usage of multiple acceptance conditions and fix text output. · a4d1e18b
      Alexandre Duret-Lutz authored
      * src/tgba/tgbasafracomplement.cc
      (tgba_safra_complement::tgba_safra_complement)
      (tgba_safra_complement::succ_iter): Correct the declaration and
      use of multiple acceptance conditions.
      (state_complement::to_string): Output the L set, not U.  The previous
      code caused different states to share the same names, causing issues
      with the text-based output (state with identical names get merged).
      * src/tgba/tgbasafracomplement.hh
      (tgba_safra_complement::acceptance_cond_vec_): Adjust type to
      store BDDs.
      * src/tgbatest/complementation.cc: Implement a new "-b" option
      to output automata in Spot's syntax.
      * src/tgbatest/complementation.test: Add a test-case supplied
      by Martin Dieguez Lodeiro.
      * THANKS: Add Martin.
      a4d1e18b
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Improve the print_safra_automaton output. · 73d9f65d
      Alexandre Duret-Lutz authored
      * src/tgba/tgbasafracomplement.cc (print_safra_tree): Fix output in
      case of hash collision.  Use the actual states to get a number, not
      their hash value.
      (print_safra_automaton): Output a mapping of values to states names.
      (safra_tree_automaton::get_sba): New method, used by
      print_safra_automaton.
      73d9f65d
  12. 28 Aug, 2011 4 commits
    • Alexandre Duret-Lutz's avatar
      Fix errors reported by clang++-2.9. · 101b18b2
      Alexandre Duret-Lutz authored
      * src/evtgbaalgos/tgba2evtgba.cc (process_link): Fix prototype
      to match tgba_reachable_iterator::process_link.
      * src/ltlvisit/tunabbrev.hh: Add using super::visit, so that the
      other visit() method are in scope when we overload one.
      * src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc (start, end,
      process_link): Remove these empty methods.  The default
      implementations are empty too, and process_link had the
      wrong prototype.
      * src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc
      (start, end, process_link): Likewise.
      101b18b2
    • Alexandre Duret-Lutz's avatar
      * examples/adder/adder.cxx (test_vector): Add parentheses to · 92ef9d6e
      Alexandre Duret-Lutz authored
      remove a clang++-2.9 warning.
      92ef9d6e
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Improve SCC simplification by removing implied acceptance conditions. · d9fc75e9
      Alexandre Duret-Lutz authored
      Spot 0.7.1 used to need 190 acceptance conditions to translate the
      188 literature formulae.  With this patch we are down to 185.
      That's not an impressive, but there are only ~20 formulae that
      require more than 1 acceptance conditions; hence little room for
      improvement.
      
      * src/misc/bddlt.hh (bdd_hash): New function.
      * src/misc/accconv.hh, src/misc/accconv.cc: New files.
      * src/misc/Makefile.am: Add them.
      * src/tgbaalgos/scc.cc (scc_map::build_map): Adjust
      to record all combination of acceptance conditions occurring in a SCC.
      * src/tgbaalgos/scc.hh (scc_map::scc::useful_acc): Update description.
      * src/tgbaalgos/sccfilter.cc (scc_filter): Simplify acceptance
      conditions that are always implied by another acceptance
      conditions.  Previously, we only removed acceptance conditions
      that where always present in accepting SCCs.
      * src/tgbatest/sccsimpl.test: New file.
      * src/tgbatest/Makefile.am (TESTS): Add it.
      d9fc75e9
  13. 26 Aug, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Refine yesterday's change to the degeneralization. · 9d232af8
      Alexandre Duret-Lutz authored
      This avoids a small regression on the size of degeneralized
      automata of our usual list of literature formulae.
      
      * src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
      (tgba_tba_proxy::union_acceptance_conditions_of_original_state):
      New method.
      * src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): In accepting
      states, ignore only the last expected acceptance condition if its
      common to all outgoing transitions AND if it is not used by any
      outgoing transitions of the destination.
      9d232af8
  14. 25 Aug, 2011 3 commits
    • Alexandre Duret-Lutz's avatar
      Make sure the degeneralization is idempotent (up to renaming of · bc416fdb
      Alexandre Duret-Lutz authored
      states).
      
      * src/tgbaalgos/tgbatba.cc: When degeneralizing to SBA, remove the
      acceptance conditions that are common to all outgoing transitions
      of this state.  This helps to make the degeneralization
      idempotent.
      * src/tgbatest/degenid.test: New test case.
      * src/tgbatest/Makefile.am: Add it.
      bc416fdb
    • Alexandre Duret-Lutz's avatar
      Fix escaping of state name in save_reachable()'s output. · bf7b94e1
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/save.c (process_state): Escape quotes in the
      name of source and destination states.  This fixes a side bug
      in the upcoming degenid.test test case.
      bf7b94e1
    • Alexandre Duret-Lutz's avatar
      Running `ltl2tgba -R1q -R1t -N` would degeneralize before and · d8ba172e
      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.
      d8ba172e
  15. 17 Aug, 2011 3 commits
  16. 26 Jul, 2011 2 commits
  17. 26 Jun, 2011 2 commits
    • Alexandre Duret-Lutz's avatar
      Add some "drop shadow" in ltl2tgba.html. · 7aefc190
      Alexandre Duret-Lutz authored
      * wrap/python/ajax/ltl2tgba.html: Add shadow to all boxes.
      * wrap/python/ajax/css/ltl2tgba.css (.shadow): New class.
      7aefc190
    • Alexandre Duret-Lutz's avatar
      Revamp the ltl2tgba benchmark. · 1a823fea
      Alexandre Duret-Lutz authored
      * bench/ltl2tgba/algorithms: Reduce the number of Spot configuration
      tested.
      * bench/ltl2tgba/Makefile.am (run, small.txt, big.txt, known.txt):
      New rules.
      * bench/ltl2tgba/big, bench/ltl2tgba/small, bench/ltl2tgba/known:
      Add a 15min timeout to the lbtt configuration.
      * bench/ltl2tgba/defs.in: Adjust variable definitions to accept
      variable inderections.
      * bench/ltl2tgba/parseout.pl: Add an option to output the table in
      LaTeX.  Also consider all formulae, not just the positive
      formulae.
      * bench/ltl2tgba/README: Update.
      1a823fea
  18. 16 Jun, 2011 1 commit
  19. 14 Jun, 2011 1 commit
  20. 10 Jun, 2011 1 commit
  21. 09 Jun, 2011 2 commits
  22. 08 Jun, 2011 3 commits