1. 23 Nov, 2017 1 commit
    • Maximilien Colange's avatar
      Improve ltlsynt interface · 1da0afba
      Maximilien Colange authored
      To ease debugging and testing, ltlsynt can output the synthesized
      strategy as an automaton, not just an aiger circuit.
      Also, its exit code has been changed to something meaningful.
      * bin/ltlsynt.cc: Various improvements: options, exit code, code style
      * spot/twaalgos/aiger.hh, spot/twaalgos/aiger.cc,
        spot/twaalgos/Makefile.am: Move the aiger printer to separate files
      * tests/core/ltlsynt.test: Clean up and update test file
      * tests/Makefile.am: Add the test file to the test suite
      * NEWS: document the new aiger printer
      * doc/org/concepts.org: document the named property "synthesis-outputs",
        used by print_aiger
  2. 26 Sep, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      sanity: also check the 80-column limit in bin · a2cbf0af
      Alexandre Duret-Lutz authored
      * tests/sanity/80columns.test: Check bin sources.
      * bin/ltlsynt.cc: Fix it.
    • Alexandre Duret-Lutz's avatar
      ltlsynt: handle --algo with XARGMATCH · c473e4ca
      Alexandre Duret-Lutz authored
      * bin/ltlsynt.cc: Use XARGMATCH for better error handling.
    • Alexandre Duret-Lutz's avatar
      bin: make sure that all options are in a named section · 69daf9c2
      Alexandre Duret-Lutz authored
      This also fixes some empty lines and unsorted options
      that appeared in some tools.
      * tests/sanity/bin.test: Ensure this is done.
      * bin/README: Add a new paragraph about this.
      * bin/autcross.cc, bin/ltlcross.cc: Move the
      output options in their own section.
      * bin/common_color.cc: Assume color options are
      in group -15.
      * bin/common_finput.cc, bin/common_finput.hh:
      Add a headless variant.
      * bin/genltl.cc, bin/ltlfilt.cc, bin/ltlgrind.cc,
      bin/randaut.cc, bin/randltl.cc:  Do not force the
      children groups, so that the options are correctly sorted.
      * bin/ltlsynt.cc: Add missing groups.
  3. 25 Sep, 2017 4 commits
    • Thibaud Michaud's avatar
      ltlsynt: translate winning strategy to AIGER · d6ae7af5
      Thibaud Michaud authored
      * bin/ltlsynt.cc: Here.
      * doc/org/ltlsynt.org: Document it.
      * tests/core/ltlsynt.test: Test it.
    • Thibaud Michaud's avatar
      parity game: compute winning strategy · 601e1405
      Thibaud Michaud authored
      * spot/misc/game.cc, spot/misc/game.hh: Here.
      * bin/ltlsynt.cc: Realizability is now done by checking if the winning
      strategy contains the initial state.
    • Thibaud Michaud's avatar
      parity game: add Zielonka's recursive algorithm · f414e9f5
      Thibaud Michaud authored
      * spot/misc/game.cc, spot/misc/game.hh: Implement it.
      * bin/ltlsynt.cc: Use it.
      * doc/org/ltlsynt.org: Document it.
    • Thibaud Michaud's avatar
      add ltlsynt executable · 0821c97e
      Thibaud Michaud authored
      For now, ltlsynt only handles LTL realizability. It uses a reduction to
      parity game followed by Calude et al.'s reduction from parity game to
      reachability game.
      * bin/ltlsynt.cc, bin/Makefile.am, bin/man/ltlsynt.x,
      bin/man/Makefile.am, bin/.gitignore: New binary.
      * doc/org/arch.tex, doc/Makefile.am, doc/org/tools.org,
      doc/org/ltlsynt.org: Document it.
      * spot/misc/game.cc, spot/misc/game.hh, spot/misc/Makefile.am: Parity
      game wrapper for parity automata + reachability game interface from
      Calude et al.'s paper.