1. 08 Sep, 2013 3 commits
    • Alexandre Duret-Lutz's avatar
      postproc: Add option to output Complete automata. · 1ab46b08
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Tweak set_pref()
      to also accept Any|Complete, Small|Complete, or Deterministic|Complete.
      * src/bin/common_post.hh, src/bin/common_post.cc: Add option --complete
      and set comp.
      * src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc: Pass
      comp to set_pref().
      * src/tgbaalgos/complete.cc: Preserve state-based acceptance.
      * src/tgbatest/dstar.test, src/tgbatest/ltlcross2.test,
      src/tgbatest/nondet.test: Augment tests.
      * doc/org/dstar2tgba.org, doc/org/ltl2tgba.org, NEWS: Document.
      1ab46b08
    • Alexandre Duret-Lutz's avatar
      * NEWS: Summarize recent changes · b31facff
      Alexandre Duret-Lutz authored
      b31facff
    • Alexandre Duret-Lutz's avatar
      satmin: cleanup interfaces and minimization loops · fdb157bf
      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.
      fdb157bf
  2. 26 Aug, 2013 5 commits
    • Alexandre Duret-Lutz's avatar
      stats: add %r to display run-time · bfbe5b44
      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.
      bfbe5b44
    • Alexandre Duret-Lutz's avatar
      isdet: simplify is_deterministic(), add is_complete(). · 4dd8d802
      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.
      4dd8d802
    • Alexandre Duret-Lutz's avatar
      ltlcross: Complement deterministic automata. · 1029d08a
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Complement deterministic automata,
      and use them for additional intersection checks.
      * NEWS, doc/org/ltlcross.org, src/bin/man/ltlcross.x: Document it.
      1029d08a
    • Alexandre Duret-Lutz's avatar
      org: document dstar2tgba. · f704513b
      Alexandre Duret-Lutz authored
      * doc/org/dstar2tgba.org: New file.
      * doc/org/tools.org: Link to it.
      * doc/Makefile.am: Distribute it.
      * NEWS: Mention the generated web page.
      f704513b
    • Alexandre Duret-Lutz's avatar
      dstar: Improve conversion from DRA to BA. · d7027c34
      Alexandre Duret-Lutz authored
      Extended former conversion from DRA->DBA to handle
      the case where some SCC is not DBA-realizable.
      
      * src/dstarparse/dra2dba.cc: Rename as...
      * src/dstarparse/dra2ba.cc: ... this.
      (dra_to_dba, dra_to_dba_worker): Rename as...
      (dra_to_ba, dra_to_ba_worker): ... these and extend.
      * src/dstarparse/Makefile.am, src/dstarparse/public.hh,
      src/dstarparse/dstar2tgba.cc, src/dstarparse/nra2nba.cc: Adjust.
      * NEWS: Update the description of dstar2tgba accordingly.
      d7027c34
  3. 23 Aug, 2013 3 commits
    • Alexandre Duret-Lutz's avatar
      dstar2tgba: new command. · d3b81809
      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.
      d3b81809
    • Alexandre Duret-Lutz's avatar
      ltlcross: add support for ltl2dstar's output. · 337aeefc
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Add support for %D.
      * src/bin/man/ltlcross.x: Add example.
      * NEWS: Mention it.
      * src/tgbatest/ltl2dstar.test: New file.
      * src/tgbatest/Makefile.am: Add it.
      337aeefc
    • Alexandre Duret-Lutz's avatar
      degen: Improve when initial state is accepting without self-loop. · dfc5ff95
      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.
      dfc5ff95
  4. 29 Jul, 2013 8 commits
    • Alexandre Duret-Lutz's avatar
      ltlcross: give an example of accepted word for nonempty cross-products · e7522056
      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.
      e7522056
    • Alexandre Duret-Lutz's avatar
      tmpfile: Honor SPOT_TMPFILE and SPOT_TMPKEEP. · 4bafa4e1
      Alexandre Duret-Lutz authored
      * src/misc/tmpfile.cc: Check these environment variables.
      * src/bin/man/ltlcross.x, NEWS: Document them.
      4bafa4e1
    • Alexandre Duret-Lutz's avatar
      ltlcross: Add a --color option. · 5b0bf8ef
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Add a --color option.
      * NEWS: Mention it.
      5b0bf8ef
    • Alexandre Duret-Lutz's avatar
      Use the same location.hh and position.hh in all parsers. · 8c2d7fcb
      Alexandre Duret-Lutz authored
      * src/misc/location.hh, src/misc/position.hh: New files,
      from Bison 2.7.
      * src/misc/Makefile.am: Distribute them.
      * src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy,
      src/eltlparse/parsedecl.hh, src/eltlparse/public.hh,
      src/kripkeparse/Makefile.am, src/kripkeparse/kripkeparse.yy,
      src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
      src/ltlparse/Makefile.am, src/ltlparse/fmterror.cc,
      src/ltlparse/ltlparse.yy, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/neverparse/Makefile.am,
      src/neverparse/neverclaimparse.yy, src/neverparse/parsedecl.hh,
      src/neverparse/public.hh, src/tgbaparse/Makefile.am,
      src/tgbaparse/parsedecl.hh, src/tgbaparse/public.hh,
      src/tgbaparse/tgbaparse.yy: Adjust to use and include
      misc/location.hh.
      * NEWS: Mention this change.
      8c2d7fcb
    • Alexandre Duret-Lutz's avatar
      * NEWS: summarize recent changes · cbfbf142
      Alexandre Duret-Lutz authored
      cbfbf142
    • Alexandre Duret-Lutz's avatar
      Bump version to 1.1.4a. · 9ed2d7a1
      Alexandre Duret-Lutz authored
      * NEWS: Bump version.
      * configure.ac: Bump version, and add a banner
      about this being a development version at the end.
      9ed2d7a1
    • Alexandre Duret-Lutz's avatar
      Release Spot 1.1.4. · 9d6d53ed
      Alexandre Duret-Lutz authored
      * NEWS, configure.ac, doc/org/tools.org: Update version.
      9d6d53ed
    • Alexandre Duret-Lutz's avatar
      Fix interpretation of {e[*]} and !{e[*]}. · cb7bdf8c
      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.
      cb7bdf8c
  5. 25 Jul, 2013 1 commit
  6. 20 Jul, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      neverpase: fix parsing of neverclaim produced by ltl2ba and ltl3ba · 84c9f037
      Alexandre Duret-Lutz authored
      These translator may output guards such as (a) || (b), but with the
      changes in Spot 1.1.3 it would only work with ((a) || (b)).
      
      Furthermore when ltlcross would fail to parse a neverclaim containing
      such a guard, it would fail to parse all later neverclaims, because
      the lexer was not properly reset.
      
      * src/neverparse/neverclaimscan.ll: Scan (a) || (b) as a single
      token.
      (neverclaimyyopen): Reset the lexer.
      * src/tgbatest/neverclaimread.test: Add a test for (a) || (b).
      * NEWS: Update.
      84c9f037
  7. 09 Jul, 2013 4 commits
  8. 09 Jun, 2013 3 commits
  9. 13 May, 2013 2 commits
  10. 12 May, 2013 6 commits
    • Alexandre Duret-Lutz's avatar
      ltlcross: add a --products=N option · 9b82d755
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Implement the new option.  Average the product
      statistics on all products.
      * src/tgbatest/basimul.test, src/tgbatest/ltlcross.test,
      src/tgbatest/ltlcross2.test, bench/ltl2tgba/tools: Use the new option.
      * NEWS: Mention it.
      9b82d755
    • Alexandre Duret-Lutz's avatar
      bdddict: add an unregister_all_typed_variables() method · b4670f85
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.cc, src/tgba/bdddict.hh
      (unregister_all_typed_variables): New method.
      * src/tgbaalgos/degen.cc (degeneralize): Use it.
      * NEWS: Mention it.
      b4670f85
    • Alexandre Duret-Lutz's avatar
      simulation: Fix co-simulation and iterated simulations of BA automata · 0c7c9338
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/simulation.hh, src/tgbaalgos/simulation.cc
      (simulation_sba, cosimulation_sba, iterated_simulations_sba): New
      function.  Also speedup the existing functions by avoiding
      add_acceptince_conditions() and add_conditions().  Finally, use
      scc_filter_states() when dealing with degeneralized automata.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh (do_ba_simul):
      New method.  Use it after degeneralization.
      * src/tgba/tgbaexplicit.hh (get_transition, get_state): New methods.
      * src/tgbatest/basimul.test: New file.
      * src/tgbatest/Makefile.am (TESTS): Add it.
      * NEWS: Introduce the new function and summarize the bug.
      0c7c9338
    • Alexandre Duret-Lutz's avatar
      bin: Ignore empty lines on input. · 372790a4
      Alexandre Duret-Lutz authored
      * src/bin/common_finput.cc: Here.
      * src/ltltest/ltlfilt.test: Test it.
      * NEWS: Mention it.
      372790a4
    • Alexandre Duret-Lutz's avatar
      ltlcross: Add a --seed option. · 9e589422
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Here.
      * NEWS: Mention it.
      9e589422
    • Alexandre Duret-Lutz's avatar
      Introduce scc_filter_states(). · 6b5b002f
      Alexandre Duret-Lutz authored
      The main motivation is the upcoming patch that introduces
      simulation_sba() and requires this function.
      
      * src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccfilter.cc: Implement it.
      * src/tgbaalgos/postproc.cc: Use it for monitors, because we do not
      care about acceptance conditions.
      * NEWS: Mention it.
      6b5b002f
  11. 11 May, 2013 1 commit
  12. 09 May, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      lbtt: improve the LBTT output · eed7e2df
      Alexandre Duret-Lutz authored
      Provide a way to output automata with state-based acceptance.  Also
      print the guards using to_lbt_string() for consistency: as a
      consequence, atomic proposition that do not match p[0-9]+ are now
      double-quoted.
      
      * src/tgbaalgos/lbtt.hh (lbtt_reachable): Add a sba option.
      * src/tgbaalgos/lbtt.cc: Implement it, and use to_lbt_string().
      * src/ltlvisit/lbt.cc (is_pnum): Reject 'p' without number.
      * src/bin/ltl2tgba.cc: Activate the sba option of --ba was given.
      Add an option --lbtt=t to get the old behavior.
      * src/bin/man/ltl2tgba.x: Document the LBTT format we use with
      some links and examples.
      * src/tgbatest/lbttparse.test: More tests.
      * src/tgbatest/ltlcross2.test: Add a check with --lbtt --ba.
      * NEWS: Update.
      eed7e2df
  13. 30 Apr, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix genltl --gh-r · e2378b49
      Alexandre Duret-Lutz authored
      Reported by František Blahoudek.
      
      * src/bin/genltl.cc (R_n): Really generate (GFp1 || FGp2), not
      (GFp1 || GFp2).
      * NEWS: Mention the bug.
      * THANKS: Update.
      e2378b49
  14. 28 Apr, 2013 1 commit