Commit graph

6176 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
4dc6bb08a2 org: update mailman urls
* doc/org/index.org, tests/python/bdditer.py: Here.
2021-12-13 10:08:34 +01:00
philipp
4babe8db75 Fixing state reorder bug for mealy minimization
Isomorph but different machines were created
depending on ARM vs Intel

* spot/twaalgos/mealy_machine.cc: Fix here
* tests/python/_synthesis.ipynb: Test here
2021-12-10 12:48:09 +01:00
Philipp Schlehuber
929ffc4176 Adapt ltlsynt
Using the new flexibility for solving and converting
of mealy machines and aiger circuits

* bin/ltlsynt.cc: here
2021-12-10 12:44:36 +01:00
Philipp Schlehuber
5b6e2a210a Making solved game to mealy more flexible
* spot/twaalgos/synthesis.cc,
spot/twaalgos/synthesis.hh: Solved game to mealy
now also supports the other mealy formats
* tests/python/_synthesis.ipynb: Test
* tests/Makefile.am: Test
2021-12-10 12:44:36 +01:00
Philipp Schlehuber
488efee7b3 aiger accepts splitted mealy machines
* spot/twaalgos/aiger.cc,
  spot/twaalgos/aiger.hh: Here
* tests/python/synthesis.ipynb: Tests
2021-12-10 12:44:36 +01:00
Alexandre Duret-Lutz
88356645b4 * spot/parsetl/scantl.ll: Avoid strtoul for short delays. 2021-12-06 17:01:22 +01:00
Alexandre Duret-Lutz
216db3aa10 * NEWS, configure.ac: Bump version to 2.10.2.dev. 2021-12-03 08:57:33 +01:00
Alexandre Duret-Lutz
6eabc517ad Release Spot 2.10.2
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.10.2.
2021-12-03 08:54:57 +01:00
Alexandre Duret-Lutz
4d2262600e formula: is_literal should be const
Reported by Ayrat Khalimov.

* spot/tl/formula.hh (is_literal): Mark as const.
2021-12-02 17:42:59 +01:00
Alexandre Duret-Lutz
8ffd06e9a6 catch overflow in SVA delays during parsing
* spot/parsetl/scantl.ll: Diagnose delays (##n) larger than
unbounded().  Remove all checks for delays with 1 or 2 characters.
* tests/core/parseerr.test: Add a test case.
* NEWS: Mention this fix.
2021-12-02 14:36:23 +01:00
Alexandre Duret-Lutz
6b46401d36 * doc/org/install.org: Stable Debian packages are for Bullseye. 2021-11-23 10:22:23 +01:00
Jérôme Dubois
81f146f648 build: fix multiple Clang13 warnings
* 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.
2021-11-22 10:29:15 +01:00
Alexandre Duret-Lutz
2a408bbed1 sched_getcpu() and pthread_setaffinity_np() are non-portable
Reported by Yuri Victorovich, on FreeBSD.

* configure.ac: Test for them.
* spot/mc/mc_instanciator.hh: Only use them if they are present.
* NEWS: Mention the fix.
2021-11-22 10:24:52 +01:00
Alexandre Duret-Lutz
5f49209caf twagraph: remove bddfalse edges in purge_dead_states
* spot/twa/twagraph.cc (purge_dead_states): Be bddfalse-aware!
* spot/twa/twagraph.hh, NEWS: Document this.
* tests/python/alternating.py, tests/python/twagraph.py: Add some
test cases.
2021-11-19 22:13:20 +01:00
Alexandre Duret-Lutz
59690dd041 * NEWS, configure.ac: Bump version to 2.10.1.dev. 2021-11-19 09:48:07 +01:00
Alexandre Duret-Lutz
1782af3924 Release Spot 2.10.1
* NEWS, configure.ac, doc/org/setup.org: Update for release.
2021-11-19 09:46:12 +01:00
Alexandre Duret-Lutz
58b349d3ca sbacc: define original-states
* 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.
2021-11-18 22:03:47 +01:00
Alexandre Duret-Lutz
afdd38277d formula: catch min/max overflows at construction
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.
2021-11-18 22:03:23 +01:00
Alexandre Duret-Lutz
59b361babd fix some unused variable warning in mingw
* spot/twaalgos/mealy_machine.cc (is_split_mealy_specialization): Hide
spl in NDEBUG.
* spot/twaalgos/synthesis.cc (apply_strategy): sp is not always used.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
81375d7a93 tl: diagnose repetitions that do not fit in uint_8
For issue #485.

* spot/parsetl/parsetl.yy: Add a diagnostic.
* tests/core/parseerr.test: Test it.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
f82d26b625 fix configure --help
Fixes #488.

* configure.ac: Fix --enable-doxygen's help text, and add
one for --enable-warnings.
2021-11-18 13:24:53 +01:00
Alexandre Duret-Lutz
6013023794 tests: add missing dependency on libbddx in ltsmin tests
* tests/Makefile.am (ltsmin_modelcheck_LDADD,
ltsmin_testconvert_LDADD): Add libbddx as a dependecy.
2021-11-16 23:28:16 +01:00
Alexandre Duret-Lutz
ce18a7896b Work around issue with inttypes.h macros
* python/Makefile.am: Define __STDC_FORMAT_MACROS.
2021-11-16 23:28:16 +01:00
Florian Renkin
51636bc9e3 ltlsynt.cc: Correct help
* bin/ltlsynt.cc: Change "sd" to "lar" as default algorithm in the doc.
2021-11-16 10:02:47 +01:00
Alexandre Duret-Lutz
5dfa039a48 * doc/org/compile.org: Fix instructions to uses -std=c++17. 2021-11-16 09:56:37 +01:00
Alexandre Duret-Lutz
a5f080338c Python 3.5 is now needed
* NEWS, README, HACKING, doc/org/install.org, m4/pypath.m4: Adjust.
2021-11-16 09:51:59 +01:00
Alexandre Duret-Lutz
bc063b13f3 * spot/bricks/brick-hash: Add missing include. 2021-11-16 09:47:42 +01:00
Alexandre Duret-Lutz
186d206302 ltsmin-pml: work around newer jupyter versions
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.
2021-11-15 23:37:08 +01:00
Alexandre Duret-Lutz
aeb05f0ff0 * doc/org/index.org: Fix link to zlktree.html. 2021-11-14 22:17:15 +01:00
Alexandre Duret-Lutz
dd8373e788 * NEWS, configure.ac: Bump version to 2.10.0.dev. 2021-11-13 21:43:57 +01:00
Alexandre Duret-Lutz
37de3470b8 Release Spot 2.10
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2021-11-13 21:43:57 +01:00
Alexandre Duret-Lutz
0706887e62 * doc/Makefile.am (svgo): preserve the IDs in oaut-dot4.svg. 2021-11-13 21:43:57 +01:00
Alexandre Duret-Lutz
8d91aa4267 * doc/org/index.org: Advertise more features. 2021-11-13 11:08:12 +01:00
Alexandre Duret-Lutz
9d81e9cf8f * tests/python/split.py: Simplify. 2021-11-12 22:44:56 +01:00
Alexandre Duret-Lutz
1443d45ac7 synthesis: minor typos
* spot/twaalgos/game.cc, spot/twaalgos/mealy_machine.cc,
spot/twaalgos/synthesis.cc, spot/twaalgos/synthesis.hh: Here.
2021-11-12 22:44:08 +01:00
Alexandre Duret-Lutz
6555af1f44 python: fix support for std::vector<const_twa_graph_ptr>
* spot/twaalgos/aiger.hh, spot/twaalgos/aiger.cc: Fix prototypes, as
well as several error messages.
* python/spot/impl.i: Implement an ad-hoc conversion for
std::vector<const_twa_graph_ptr>.
* tests/python/synthesis.ipynb: Use it to simplify the example.
Adjust some comments.
2021-11-12 22:38:37 +01:00
philipp
98ebbea17e Renaming and clean up
"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
2021-11-11 00:38:14 +01:00
philipp
6ebe3d7447 Use generic split after obtaining direct strategy
* bin/ltlsynt.cc: Here
2021-11-11 00:38:14 +01:00
Alexandre Duret-Lutz
75b89db5ac zlktree: fix colored output of acd_transform_sbacc()
* spot/twaalgos/zlktree.cc (acd_transform_sbacc): Fix the
acceptance condition when colored is true.
* tests/python/zlktree.py: Add test case.
2021-11-10 15:51:13 +01:00
Alexandre Duret-Lutz
2f528c7190 * tests/python/streett_totgba.py: Remove superfluous comment. 2021-11-10 15:28:08 +01:00
Florian Renkin
d4967f20e9 Notebooks: correct typos
* 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.
2021-11-06 11:56:05 +01:00
Alexandre Duret-Lutz
c72c285552 * doc/spot.bib: Add entries for multi-core emptiness-checks. 2021-11-05 17:06:20 +01:00
Alexandre Duret-Lutz
3c5928d216 tl: fix AST rendering of Star/FStar nodes
* spot/tl/dot.cc: Show the min/max argument for Star/FStar nodes.
* tests/python/formulas.ipynb: Adjust test.
2021-11-05 12:17:32 +01:00
Alexandre Duret-Lutz
9097eca81d * spot/twaalgos/ltl2tgba_fm.cc: Update some comments. 2021-11-05 12:17:32 +01:00
philipp
540b31dbd7 [buddy] Improve bdd_have_common_assignment
* src/bddop.c: Improve here
* src/bddtest.cxx: Tests here
2021-11-05 09:23:57 +01:00
philipp
c5a61da22b [buddy] Fix is_cube() and add tests
* src/bddop.c: Fix is_cube with bddtrue as input
* src/bddtest.cxx: Add tests here
2021-11-05 09:23:57 +01:00
Alexandre Duret-Lutz
ece7631e8c [buddy] fix a spurious failure
* examples/bddtest/bddtest.cxx: reset some global BDDs to avoid
issues when they are destroyed after BuDDy.
2021-11-04 23:19:31 +01:00
Alexandre Duret-Lutz
7ade97943b * NEWS: Some cleanup, in preparation for the release. 2021-11-04 17:37:20 +01:00
Alexandre Duret-Lutz
5a9c8aad0d [buddy] execute some of the tests during "make check"
* examples/bddtest/Makefile.am, src/Makefile.am (TESTS):
Add this variable.
* examples/bddtest/bddtest.cxx: Return non-zero on error.
2021-11-04 15:24:10 +01:00
Alexandre Duret-Lutz
f99ddef787 bin: use regexes to detect shorthands, and add support for owl-21.0
Fixes #480.

* bin/common_trans.cc (shorthands_ltl, shorthands_autproc): Write
those lists using regexes.  Add entries for Owl 21.0.
(show_shorthands, tool_spec): Adjust to use those regexes.
* doc/org/autcross.org, doc/org/ltlcross.org, doc/org/ltldo.org:
Update the list of shorthands.
* tests/core/ltldo.test: Add a couple of tests.
* NEWS: Mention this new feature.
2021-11-04 15:24:10 +01:00