1. 23 Aug, 2013 2 commits
  2. 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
  3. 25 Jul, 2013 1 commit
  4. 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
  5. 09 Jul, 2013 4 commits
  6. 09 Jun, 2013 3 commits
  7. 13 May, 2013 2 commits
  8. 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
  9. 11 May, 2013 1 commit
  10. 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
  11. 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
  12. 28 Apr, 2013 2 commits
  13. 27 Apr, 2013 3 commits
    • Alexandre Duret-Lutz's avatar
      ltlcross: count SCCs of various strenghts · fec939c1
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Implement the counters.
      * doc/org/ltlcross.org: Update the documentation.
      * bench/ltl2tgba/sum.py: Do not assume a fixed column for the time.
      * NEWS: Update.
      fec939c1
    • Alexandre Duret-Lutz's avatar
      isweakscc: cleanup interfaces and code · cb7cd868
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/isweakscc.cc, src/tgbaalgos/isweakscc.hh: Do not pass
      automata since they are known from the scc.  Avoid several dynamic
      casts.  Try to match the established vocabulary wrt "weak" and
      "inherently weak".  The old is_weak_scc() that used to enumerate cycles
      is therefore renamed to is_inherently_weak_scc(), while the new
      is_weak_scc() will should ensure all transitions are fully accepting.
      * NEWS: Mention the new interface.
      cb7cd868
    • Alexandre Duret-Lutz's avatar
      * NEWS: Mention recent changes. · 9cd7500f
      Alexandre Duret-Lutz authored
      9cd7500f
  14. 15 Apr, 2013 1 commit
  15. 09 Apr, 2013 4 commits