1. 14 Jan, 2022 7 commits
  2. 11 Jan, 2022 1 commit
  3. 10 Jan, 2022 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: add support for controllable-AP · 8c33f959
      Alexandre Duret-Lutz authored
      * doc/spot.bib (perez.19.hoa): New entry.
      * spot/parseaut/public.hh: Mention it.
      * spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll: Learn to parse
      the controllable-AP header.
      * spot/twaalgos/hoa.cc: Print it.
      * tests/core/ltlsynt.test, tests/core/parseaut.test,
      tests/core/readsave.test, tests/python/_synthesis.ipynb,
      tests/python/except.py, tests/python/games.ipynb,
      tests/python/mealy.py, tests/python/synthesis.py: Adjust or augment
      test cases.
      8c33f959
  4. 07 Jan, 2022 1 commit
    • Philipp Schlehuber's avatar
      Fixes #495 · 7cefe30d
      Philipp Schlehuber authored
      Monitors can now be split AND completed at the same time.
      Split can be called on games without providing
      "synthesis-outputs" - relying on named prop.
      
      * spot/twaalgos/synthesis.cc,
      spot/twaalgos/synthesis.hh: Here
      * tests/python/_synthesis.ipynb: Testing
      7cefe30d
  5. 17 Dec, 2021 2 commits
    • Alexandre Duret-Lutz's avatar
      introduce the original-classes named property · 20bcc216
      Alexandre Duret-Lutz authored
      * doc/org/concepts.org, NEWS: Document it.
      * spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh,
      spot/twaalgos/sbacc.cc, spot/twaalgos/sbacc.hh: Use it.
      * spot/twa/twagraph.cc: Update it on defrag.
      * spot/twa/twa.cc (copy_named_properties_of): Copy it.
      * tests/python/det.py: New file.
      * tests/Makefile.am: Add it.
      * python/spot/impl.i (get_original_states, get_original_classes): New
      methods, to help with the tests.
      20bcc216
    • Alexandre Duret-Lutz's avatar
      complement: fix a regression with 2.9.8 · d8f245a7
      Alexandre Duret-Lutz authored
      Reported by Reuben Rowe.
      
      * spot/twaalgos/complement.cc (complement): Remove the hard-coded
      simul=0 option on automata with >32 states.  In 2.10 simul=0 now
      implies det-simul=0, causing the regression, and most importantly it
      is not needed anymore, because we have other threashold like simul-max
      and simul-trans-pruning in place.
      * tests/core/complement.test: Add Reuben's automaton as test case.
      * NEWS: Mention the fix.
      d8f245a7
  6. 16 Dec, 2021 2 commits
  7. 13 Dec, 2021 1 commit
  8. 10 Dec, 2021 3 commits
  9. 02 Dec, 2021 1 commit
  10. 22 Nov, 2021 1 commit
    • Jérôme Dubois's avatar
      build: fix multiple Clang13 warnings · 81f146f6
      Jérôme Dubois authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * spot/kripke/kripkegraph.hh, spot/misc/hash.hh, spot/twa/taatgba.cc,
        spot/twa/twagraph.hh, tests/core/ngraph.cc: Replace subtraction of
        pointeur minus nullptr by an explicit cast to size_t.
      * spot/twa/acc.hh: Add explicit default copy assignment operator for
        rs_pair.
      81f146f6
  11. 19 Nov, 2021 1 commit
  12. 18 Nov, 2021 3 commits
    • Alexandre Duret-Lutz's avatar
      sbacc: define original-states · 58b349d3
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sbacc.cc (sbacc): Define the original-states
      property on the created automaton.
      * spot/twaalgos/sbacc.hh: Improve documentation.
      * tests/python/sbacc.py: Update test cases.
      58b349d3
    • Alexandre Duret-Lutz's avatar
      formula: catch min/max overflows at construction · afdd3827
      Alexandre Duret-Lutz authored
      For issue #485.
      
      * spot/tl/formula.cc, spot/tl/formula.hh: Catch min/max overflow
      when the operators are constructed.  Also disable travial
      simplification rules that would create such overflow.
      For instance x[*200][*2] will not become x[*400] anymore.
      * python/spot/impl.i: Catch std::overflow_error.
      * tests/core/equals.test, tests/python/except.py: Add test cases.
      afdd3827
    • Alexandre Duret-Lutz's avatar
      tl: diagnose repetitions that do not fit in uint_8 · 81375d7a
      Alexandre Duret-Lutz authored
      For issue #485.
      
      * spot/parsetl/parsetl.yy: Add a diagnostic.
      * tests/core/parseerr.test: Test it.
      81375d7a
  13. 16 Nov, 2021 1 commit
  14. 15 Nov, 2021 1 commit
    • Alexandre Duret-Lutz's avatar
      ltsmin-pml: work around newer jupyter versions · 186d2063
      Alexandre Duret-Lutz authored
      Newer Jupyter version are able to capture the system's stdout and
      stderr to display it in the notebook.  This is done asynchronously,
      with a thread polling those file descriptor.  While this will help us
      debug (finaly we can see the tracing code we put in C++) this causes
      two issues for testing.  One is the asynchronous behaviour, which
      makes it very hard to reproduce notebooks.  The second issue is that
      older version of Jupyter used to hide some of the prints from the
      notebook, so it is hard to accommodate both.
      
      In the case of the ltsmin-pml notebook, loading the PML file from
      a filename used to trigger a compilation silently (with output on the
      console, but not in the notebook).  The newer version had the output
      of that compilation spread into two cells.
      
      * python/spot/ltsmin.i: Work around the issue by triggering the
      compilation from Python, and capturing its output explicitly, so it
      work with all Jupyter versions.  Also adjust to use the more recent
      and simpler subprocess.run() interface, available since Python 3.5.
      * tests/python/ltsmin-pml.ipynb: Adjust expected output.
      * tests/python/ipnbdoctest.py (canonicalize): Adjust patterns.
      186d2063
  15. 12 Nov, 2021 2 commits
  16. 11 Nov, 2021 1 commit
    • Philipp Schlehuber's avatar
      Renaming and clean up · 98ebbea1
      Philipp Schlehuber authored
      "Strategy" was used for mealy machines and game strategies a like.
      Introduced the notion of mealy machine in three different flavors:
      mealy machine: twa_graph with synthesis-outputs
      separated mealy machine: mealy machine and all transitions
      have conditions of the form (bdd over inputs)&(bdd over outputs)
      split mealy machine: mealy machine that alternates between
      env and player states. Needs state-players
      
      * bin/ltlsynt.cc: renaming
      * python/spot/impl.i: Add vector for const_twa_graph_ptr
      * spot/twaalgos/aiger.cc,
      spot/twaalgos/aiger.hh: Adapting functions
      * spot/twaalgos/mealy_machine.cc,
      spot/twaalgos/mealy_machine.hh: Add test functions and
      propagate properties correctly. Adjust for names
      * spot/twaalgos/synthesis.cc,
      spot/twaalgos/synthesis.hh: Removing unnecessary functions
      and adapt to new names
      * tests/python/aiger.py,
      tests/python/_mealy.ipynb,
      tests/python/mealy.py,
      tests/python/synthesis.ipynb: Adjust
      98ebbea1
  17. 10 Nov, 2021 2 commits
  18. 06 Nov, 2021 1 commit
    • Florian Renkin's avatar
      Notebooks: correct typos · d4967f20
      Florian Renkin authored
      * tests/python/acc_cond.ipynb, tests/python/contains.ipynb,
      tests/python/decompose.ipynb, tests/python/games.ipynb,
      tests/python/randltl.ipynb, tests/python/synthesis.ipynb,
      tests/python/testingaut.ipynb: here.
      d4967f20
  19. 05 Nov, 2021 1 commit
  20. 04 Nov, 2021 3 commits
  21. 03 Nov, 2021 2 commits
    • Alexandre Duret-Lutz's avatar
      aiger: improve parse errors and test them · 553381bd
      Alexandre Duret-Lutz authored
      * spot/twaalgos/aiger.cc, spot/twaalgos/aiger.hh (parse_aag_impl_): Do
      not display source filename in user facing errors.  Use GNU-style
      "file:line: " prefixes for locations.  Adjust all sscanf() calls
      to check for ignored trailing data.  Add some missing checks about the
      order of input and output names, checks that output names do no
      intersect input names.  Fix incorrect line number for unexpected
      input variable number, and avoid using std::stoi as that throws
      an std::invalid_argument on parse error.
      * tests/python/aiger.py: Add test cases for each error message.
      553381bd
    • Florian Renkin's avatar
      Aiger parser: correct input and output names · aff04c22
      Florian Renkin authored
      * spot/twaalgos/aiger.cc: here.
      * tests/python/aiger.py: add tests
      * tests/python/synthesis.ipynb: correct notebook
      aff04c22
  22. 02 Nov, 2021 1 commit
    • Florian Renkin's avatar
      Synthesis: rewrite bypass · 8aa9da7f
      Florian Renkin authored
      * spot/twaalgos/synthesis.cc: here
      * spot/twaalgos/synthesis.hh: introduce a realizability_code
      * bin/ltlsynt.cc, spot/twaalgos/aiger.cc: use this enum
      * tests/core/ltlsynt.test: update tests
      8aa9da7f
  23. 29 Oct, 2021 1 commit
    • Alexandre Duret-Lutz's avatar
      print_dot: improve aiger rendering · 3be79ea4
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Improve the aiger printer by using a more
      traditional dot syntax, indenting the output, adding some hard-coded
      colors, fixing a bug in the negation of latch inputs, and rotating the
      triangles for horizontal output.
      * tests/python/synthesis.ipynb: Adjust expected output, and add
      an example of horizontal layout.
      3be79ea4