Commit graph

2257 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5046f6d9db * src/tgbaalgos/isweakscc.cc: Remove useless guards. 2013-07-23 10:32:15 +02:00
Alexandre Duret-Lutz
84c9f03767 neverpase: fix parsing of neverclaim produced by ltl2ba and ltl3ba
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.
2013-07-20 20:21:39 +02:00
Alexandre Duret-Lutz
365d0ead94 * src/tgbaalgos/reducerun.hh: Typos in documentation. 2013-07-20 20:18:26 +02:00
Alexandre Duret-Lutz
b26b910358 * src/bin/ltlcross.cc: Typo. 2013-07-20 20:16:51 +02:00
Alexandre Duret-Lutz
00bf8d1641 * doc/org/ioltl.org: Typos. 2013-07-09 21:08:28 +02:00
Alexandre Duret-Lutz
9bd49cfcfc * NEWS, configure.ac: Bump version to 1.1.3a. 2013-07-09 15:53:44 +02:00
Alexandre Duret-Lutz
026830d159 Release Spot 1.1.3.
* configure.ac, doc/org/tools.org, NEWS: Set version to 1.1.3.
2013-07-09 14:03:07 +02:00
Alexandre Duret-Lutz
a9a96ee4ff ltlcross: do not use f after it has been destroyed.
Reported by Joachim Klein.

* src/bin/ltlcross.cc: Here.
* NEWS, THANKS: Update.
2013-07-09 14:00:49 +02:00
Alexandre Duret-Lutz
168265bdf0 * NEWS: Summarize recent changes. 2013-07-09 13:59:04 +02:00
Alexandre Duret-Lutz
327bd2d621 Support reading the new style of neverclaim output by Spin 6.24+.
* src/neverparse/neverclaimparse.yy, src/neverparse/neverclaimscan.ll:
Allow transitions between do..od, recognize atomic and assert.
* src/neverparse/parsedecl.hh: Pass the error_list to the lexer.
* src/tgbatest/neverclaimread.test: Add a test case.
2013-07-09 06:25:44 +02:00
Alexandre Duret-Lutz
ff102d3d94 Fix non-standard use of the date command.
Reported by Étienne Renault.

* bench/spin13/run.sh: Here.
2013-06-25 10:36:55 +02:00
Alexandre Duret-Lutz
fc5d4e1a41 Fix "BDD Error" in scc_filter().
If all the acceptance set of an SCC but the first one were useless, the
scc_filter() algorithm could abort with a BDD error because of a bug in
the logic.

* src/tgbaalgos/sccfilter.cc (scc_filter): Fix.
* src/tgbatest/sccsimpl.test: Add a test case supplied by Étienne
Renault.
2013-06-19 21:21:16 +02:00
Alexandre Duret-Lutz
372a086cb7 Improve ltlfilt.org
* doc/org/ltlfilt.org: Mention that the --stutter-invariant check
use automata.  Fix a typo.
2013-06-09 18:55:57 +02:00
Alexandre Duret-Lutz
644b5f0152 * configure.ac, NEWS: Bump version to 1.1.2a. 2013-06-09 18:44:42 +02:00
Alexandre Duret-Lutz
424f04ca11 Release Spot 1.1.2.
* configure.ac, NEWS, doc/org/tools.org: Bump version to 1.1.2.
2013-06-09 18:05:20 +02:00
Alexandre Duret-Lutz
ecc8b8c79c * NEWS: Summarize recent changes. 2013-06-09 16:01:34 +02:00
Alexandre Duret-Lutz
178ba87681 Improve documentation here and there.
* doc/Doxyfile.in: Update to Doxygen 1.8.4
* doc/footer.html: Point to the mailing list.
* doc/mainpage.dox: Point to spot::translator,
and spot::kripke.
* src/ta/tgta.hh: Do not use \emph.
* src/tgba/succiter.hh: Fix rendering of example.
* src/tgba/tgba.hh: Correct documentation.
* src/tgbaalgos/cycles.hh: Improve rendering of
documentation.
* src/tgbaalgos/lbtt.hh, src/tgbaalgos/minimize.hh:
Document missing arguments.
2013-06-09 15:55:57 +02:00
Alexandre Duret-Lutz
1cd9b204ed Fix verbatim blocks of Doxygen comments.
* src/ltlast/formula.hh, src/ltlvisit/contain.hh,
src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh,
src/ltlvisit/remove_x.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh,
src/misc/minato.hh, src/misc/optionmap.hh,
src/saba/sabacomplementtgba.hh, src/taalgos/emptinessta.hh,
src/taalgos/minimize.hh, src/taalgos/tgba2ta.hh,
src/tgba/tgbakvcomplement.hh, src/tgbaalgos/cycles.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gv04.hh, src/tgbaalgos/ltl2taa.hh,
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
src/tgbaalgos/magic.hh, src/tgbaalgos/minimize.hh,
src/tgbaalgos/randomgraph.hh, src/tgbaalgos/se05.hh,
src/tgbaalgos/simulation.hh, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.hh: Surround verbatim blocks with /** ... */
instead of using /// on each line.  Otherwise Doxygen will output the
leading "///" tokens -- apparently this is a feature.
* src/sanity/style.test: Strip multi-line comments before checking
code style.
2013-06-09 15:55:03 +02:00
Alexandre Duret-Lutz
1ec9cebe58 Move \ingroup before \brief in all Doxygen comments.
Using \ingroup between \brief and the rest of the documentation causes
Doxygen to concatenate the brief with the rest of the doc.

* src/sanity/style.test: Warn when \ingroup is found
on the line after \brief.
* src/kripke/fairkripke.hh, src/kripke/kripke.hh,
src/kripke/kripkeprint.hh, src/ltlast/atomic_prop.hh,
src/ltlast/automatop.hh, src/ltlast/binop.hh, src/ltlast/bunop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/multop.hh,
src/ltlast/refformula.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh,
src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh,
src/ltlenv/environment.hh, src/ltlparse/ltlfile.hh,
src/ltlvisit/clone.hh, src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh, src/ltlvisit/lunabbrev.hh,
src/ltlvisit/mark.hh, src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.hh,
src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh,
src/ltlvisit/relabel.hh, src/ltlvisit/simpfg.hh,
src/ltlvisit/simplify.hh, src/ltlvisit/tunabbrev.hh,
src/ltlvisit/wmunabbrev.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh,
src/misc/freelist.hh, src/misc/hash.hh, src/misc/ltstr.hh,
src/misc/minato.hh, src/misc/modgray.hh, src/misc/optionmap.hh,
src/misc/version.hh, src/saba/explicitstateconjunction.hh,
src/saba/saba.hh, src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
src/saba/sabasucciter.hh, src/sabaalgos/sabadotty.hh,
src/sabaalgos/sabareachiter.hh, src/ta/ta.hh, src/ta/taproduct.hh,
src/ta/tgta.hh, src/taalgos/reachiter.hh, src/taalgos/tgba2ta.hh,
src/tgba/futurecondcol.hh, src/tgba/sba.hh, src/tgba/state.hh,
src/tgba/succiter.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbakvcomplement.hh,
src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh,
src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh,
src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh, src/tgbaalgos/bfssteps.hh,
src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/powerset.hh, src/tgbaalgos/projrun.hh,
src/tgbaalgos/randomgraph.hh, src/tgbaalgos/reachiter.hh,
src/tgbaalgos/reducerun.hh, src/tgbaalgos/replayrun.hh,
src/tgbaalgos/rundotdec.hh, src/tgbaalgos/save.hh,
src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.hh: Move \ingroup
before \brief.
2013-06-08 23:24:37 +02:00
Alexandre Duret-Lutz
0ec3f7843a simulation: fix compilation with g++ < 4.5.
* src/tgbaalgos/simulation.cc: Pass template arguments to base-class
initializer to fix compilation with g++ < 4.5.  Reported by Sonali
Dutta.
2013-05-22 20:06:26 +02:00
Alexandre Duret-Lutz
4c1a9fdb10 More files to ignore. 2013-05-17 11:11:19 +02:00
Alexandre Duret-Lutz
330b6ddac0 * src/bin/ltlcross.cc (statistics): Initialize all members. 2013-05-17 10:58:44 +02:00
Alexandre Duret-Lutz
57d25f0e21 * NEWS, configure.ac: Bump version to 1.1.1a. 2013-05-13 20:04:04 +02:00
Alexandre Duret-Lutz
27a18a0410 Release Spot 1.1.1
* NEWS, configure.ac, doc/org/tools.org: Bump version.
2013-05-13 16:20:29 +02:00
Alexandre Duret-Lutz
5a6b50acbb org: Augment the load-path.
* doc/org/init.el.in: Add emacs-goodies-el to the load-path, so that
org-mode has a better chance to find htmlize.
2013-05-13 16:12:32 +02:00
Alexandre Duret-Lutz
b457e78fb0 * doc/org/ltlfilt.org: Add an example with --stutter-invariant. 2013-05-13 16:10:09 +02:00
Alexandre Duret-Lutz
54b25b8c8e ltlcross: more documentation
* doc/org/ltlcross.org: Describe statistics, and mention --products=N.
2013-05-13 16:09:50 +02:00
Alexandre Duret-Lutz
9b82d7557c ltlcross: add a --products=N option
* 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.
2013-05-12 21:22:46 +02:00
Alexandre Duret-Lutz
b4670f85f1 bdddict: add an unregister_all_typed_variables() method
* src/tgba/bdddict.cc, src/tgba/bdddict.hh
(unregister_all_typed_variables): New method.
* src/tgbaalgos/degen.cc (degeneralize): Use it.
* NEWS: Mention it.
2013-05-12 21:05:05 +02:00
Alexandre Duret-Lutz
0c7c933805 simulation: Fix co-simulation and iterated simulations of BA automata
* 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.
2013-05-12 21:05:05 +02:00
Alexandre Duret-Lutz
372790a489 bin: Ignore empty lines on input.
* src/bin/common_finput.cc: Here.
* src/ltltest/ltlfilt.test: Test it.
* NEWS: Mention it.
2013-05-12 17:32:46 +02:00
Alexandre Duret-Lutz
9e589422d1 ltlcross: Add a --seed option.
* src/bin/ltlcross.cc: Here.
* NEWS: Mention it.
2013-05-12 17:28:09 +02:00
Alexandre Duret-Lutz
6b5b002ff9 Introduce scc_filter_states().
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.
2013-05-12 17:22:00 +02:00
Alexandre Duret-Lutz
2cab8197e5 ltlfilt: Fix handling --universal, --eventual, and --stutter-invariant.
* src/bin/ltlfilt.cc: Handle --universal and --eventual.  Match
only LTL formulas with --stutter-invariant.
* src/ltltest/ltlfilt.test: New file.
* src/ltltest/Makefile.am (TESTS): Add it.
* NEWS: Mention these bug fixes.
2013-05-11 11:24:38 +02:00
Alexandre Duret-Lutz
eed7e2df8f lbtt: improve the LBTT output
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.
2013-05-09 21:55:37 +02:00
Alexandre Duret-Lutz
e2378b4904 Fix genltl --gh-r
Reported by František Blahoudek.

* src/bin/genltl.cc (R_n): Really generate (GFp1 || FGp2), not
(GFp1 || GFp2).
* NEWS: Mention the bug.
* THANKS: Update.
2013-04-30 00:01:35 +02:00
Alexandre Duret-Lutz
b881c10155 * NEWS, configure.ac: Bump version to 1.1a. 2013-04-28 17:24:08 +02:00
Alexandre Duret-Lutz
556ba6df9e Release Spot 1.1
* configure.ac, doc/org/tools.org: Bump version number.
* NEWS: Likewise, plus some missing entries.
2013-04-28 16:31:20 +02:00
Alexandre Duret-Lutz
c5225a8295 * doc/Makefile.am (org-stamp): Depend on init.el.in, not init.el. 2013-04-28 16:31:18 +02:00
Alexandre Duret-Lutz
a2b98c6340 man: Fix installation and distribution of spot-x.7.
* src/bin/man/Makefile.am: Install spot-x.7 in $(man7dir),
and make sure we distribute spot-x.x.
2013-04-28 15:22:29 +02:00
Alexandre Duret-Lutz
66c77f587b cgi: improve documentation
* wrap/python/ajax/ltl2tgba.html: Augment and update tooltips to match
vocabulary in the Spin'13 paper.  Hide the compose obligation option
since it's a work in progress.
2013-04-28 12:36:35 +02:00
Alexandre Duret-Lutz
db006f6280 * Makefile.am (SUBDIRS): Build doc last. 2013-04-28 11:46:43 +02:00
Alexandre Duret-Lutz
c5d59523dc * AUTHORS: Add Étienne 2013-04-28 11:46:43 +02:00
Alexandre Duret-Lutz
5165fa2784 * src/tgba/tgbatba.hh: Mention degeneralize(). 2013-04-28 11:46:43 +02:00
Alexandre Duret-Lutz
ea3a66cace * doc/org/ltl2tgba.org: Typo. 2013-04-28 00:23:11 +02:00
Alexandre Duret-Lutz
fec939c1a6 ltlcross: count SCCs of various strenghts
* 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.
2013-04-27 20:33:51 +02:00
Alexandre Duret-Lutz
cb7cd868a5 isweakscc: cleanup interfaces and code
* 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.
2013-04-27 20:10:48 +02:00
Etienne Renault
450ec22bc3 Heuristics for SCC strength
Provides 3 heurisitics to compute the strength of an SCC:
inherent, structural and syntactic

* src/tgbaalgos/isweakscc.cc: implementation
* src/tgbaalgos/isweakscc.hh: definition
2013-04-27 18:41:13 +02:00
Etienne Renault
b4fbbc9562 Fix Warning GCC 4.8
* src/tgbatest/taatgba.cc: Remove unused typedef
2013-04-27 18:33:24 +02:00
Alexandre Duret-Lutz
9cd7500f26 * NEWS: Mention recent changes. 2013-04-27 17:39:52 +02:00