Commit graph

2223 commits

Author SHA1 Message Date
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
Alexandre Duret-Lutz
9caa9ad134 Implement a favor_even_univ option in the rewriting rules.
The set of rules enabled by favor_even_univ try to "lift" the
subformulae that are both eventual and universal, so they appear
higher in the AST.  This is contrary to what we used to do (and still
do when the option is unset), were we try to postpone such subformulae
(by moving them down the AST).  It is still a bit experimental.

* src/ltlvisit/simplify.hh: Add option favor_event_univ.
* src/ltlvisit/simplify.cc: Implement new rewriting rules.
* doc/tl/tl.tex: Document them.
* src/tgbatest/ltl2tgba.cc: Add option -ra to enable them.
* src/tgbatest/spotlbtt.test: Test the translation with this option.
* src/ltltest/reduc.cc, src/ltltest/equals.cc: Add option
to enable the new rules.
* src/ltltest/eventuniv.test: New file to test them.
* src/ltltest/Makefile.am: Add it.
2013-04-27 17:39:52 +02:00
Alexandre Duret-Lutz
969d927145 Add the Spin'13 benchmark.
* bench/spin13/: New directory.
* bench/Makefile.am, README, configure.ac: Add it.
* bench/ltl2tgba/sum.py: Display smaller tables.
2013-04-27 17:39:52 +02:00
Alexandre Duret-Lutz
b6d4806dca translate: use compositional suspension on request
This has to be turned on using "-x comp-susp" and other
related options documented in spot-x (7).

* src/tgbaalgos/translate.hh, src/tgbaalgos/translate.cc:
Add support for calling composition-suspension, with
optional simulation, WDBA-minimization, and composition.
* src/bin/spot-x.cc: Document the new options.
* src/bin/man/spot-x.x: Add some bibliography.
* src/tgbatest/ltlcross2.test: Test it.
2013-04-27 10:52:49 +02:00
Alexandre Duret-Lutz
88cd376dff scc_filter: Improve selection of missing acceptance sets.
* src/tgbaalgos/sccfilter.cc: Reuse existing acceptance set as filler
in SCC sets that need less SCC sets than the other SCCs automaton.
* src/tgbatest/sccsimpl.test: Add more tests.
2013-04-27 10:52:49 +02:00
Alexandre Duret-Lutz
4c2791e042 postproc: Perform simulation on the BA in --high mode.
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Do simulation
on the BA produced in --high mode.
* src/bin/spot-x.cc: Document the ba-simul option that can be used
to disable it.
2013-04-27 10:52:49 +02:00
Alexandre Duret-Lutz
ce2bb052cb Add compositional suspension to the web interface.
* wrap/python/ajax/ltl2tgba.html, wrap/python/ajax/protocol.txt:
Add options for compositional suspension.
* wrap/python/ajax/spot.in: Implement them.
* wrap/python/spot.i: Export compsusp().
2013-04-27 10:52:49 +02:00
Alexandre Duret-Lutz
53c6923567 Introduce compositional suspension (SPIN'13)
* src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh: Add option
for suspended labels removal.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/spotlbtt.test: Test it.
2013-04-27 10:52:39 +02:00
Alexandre Duret-Lutz
ba6fe9e183 * doc/org/init.el.in: Disable org-publish-use-timestamps-flag. 2013-04-26 11:49:06 +02:00
Alexandre Duret-Lutz
11303a4620 * NEWS: Mention recent changes. 2013-04-15 15:31:43 +02:00
Alexandre Duret-Lutz
212cb835fc bench/ltl2tgba: Adjust to support different config files.
* bench/ltl2tgba/algorithms: Rename as...
* bench/ltl2tgba/tools: ... this.
* bench/ltl2tgba/README, bench/ltl2tgba/Makefile.am,
bench/ltl2tgba/defs.in, bench/ltl2tgba/big, bench/ltl2tgba/small,
bench/ltl2tgba/known: Adjust.
* bench/ltl2tgba/tools.sim: New file, extracted from ./algorithms.
2013-04-15 15:31:43 +02:00
Alexandre Duret-Lutz
c2e96387e4 * AUTHORS: Add Elie (recent patches) and Heikki (very old patch). 2013-04-15 15:31:43 +02:00
Elie Abi Saad
302bafc41f * bench/ltl2tgba/sum.py: Adjust. 2013-04-15 15:31:42 +02:00
Elie Abi Saad
2e5e5d1e3c Add inputs support.
* src/bin/ltlcross.cc: Update print_stats_json.
2013-04-15 15:31:42 +02:00
Alexandre Duret-Lutz
69dcff5ab0 org: Make sure ../../src/bin is searched first.
We used to set PATH in emacs, but because babel executes "sh" via
shell-command, the configuration of the main shell may supersedes ours.

* doc/org/ltl2tgba.org, doc/org/ltl2tgta.org, doc/org/ltlcross.org,
doc/org/ltlfilt.org, doc/org/randltl.org, doc/org/tools.org,
doc/org/genltl.org: Move all local-file variable to...
* doc/org/.dir-locals.el: ... here.  And also set the PATH
in org-babel-sh-command.
* doc/org/init.el.in: Set the PATH in org-babel-sh-command.
2013-04-11 19:02:45 +02:00
Alexandre Duret-Lutz
33ba8a78c5 * src/bin/man/ltlfilt.x: Add a bibliography section. 2013-04-09 17:25:27 +02:00
Alexandre Duret-Lutz
a7bfb42de7 remove_x: Implement detection of stutter-invariant LTL formulas.
* src/bin/ltlfilt.cc: Add options --remove-x and --stutter-invariant.
* src/ltlvisit/remove_x.cc, src/ltlvisit/remove_x.hh: New files.
* src/ltlvisit/Makefile.am: Add them.
* src/ltltest/remove_x.test: New file.
* src/ltltest/Makefile.am: Add it.
* NEWS: Mention the new algorithms.
2013-04-09 17:25:05 +02:00
Alexandre Duret-Lutz
8896c3d5da * src/tgba/bddprint.hh: Typo in Doxygen comment. 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
12d369fc30 * doc/Makefile.am: Add missing dependency on userdoc/ 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
9145515bb8 ltlscan: get rid of boost::lexical_cast
This is one less useless dependency on Boost.

* src/ltlparse/ltlscan.ll: Replace lexical_cast<unsigned>() by
strtoul().
* src/ltltest/parseerr.test: Add a test case.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
990ba837d3 * NEWS: mention doc/org/ and doc/userdoc/ 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
d5490c181b * HACKING: Document the use of emacs / org-mode. 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
19ca5a607d org: Add an org-deploy rule
* doc/Makefile.am: Here.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
1f4e035147 * doc/org/ioltl.org: Fix link to ltl2dstar. 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
e23203b819 org: batch-generate userdoc/ and distribute it
* doc/org/init.el.in, doc/org/syntax.css: New files.
* configure.ac: Generate init.el from init.el.in, and check for
emacs.
* doc/Makefile.am: Build userdoc/ from org/ and distribute userdoc/.
* README: Mention org/ and userdoc/.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
c24270bbf5 org: upgrade to 1.0.2
* doc/org/tools.org: Update to 1.0.2.
* doc/org/ltl2tgba.org: Mention monitors in the intro.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
d1ad744887 org: update for 1.0.1
* doc/org/ioltl.org: Mention ltl2dstar and the changes to the prefix
parser.
* doc/org/ltlcross.org: Mention bench/ltl2tgba/sum.py.
* doc/org/tools.org: Bump version number.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
152a46b961 Add a .dir-locals.el for org files.
* doc/org/.dir-locals.el: New files.
* doc/Makefile.am (EXTRA_DIST): Distribute it.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
345b8c5b14 doc: add org-mode documentation for user tools
* doc/org/.gitignore, doc/org/genltl.org, doc/org/ioltl.org,
doc/org/ltl2tgba.org, doc/org/ltl2tgta.org, doc/org/ltlcross.org,
doc/org/ltlfilt.org, doc/org/randltl.org, doc/org/tools.org: New files.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
2f5d961d10 * iface/dve2/Makefile.am: Add missing dependency. 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
9723738404 dve2: use the new translator class
* iface/dve2/dve2check.cc: Adjust.
* iface/dve2/README: Some (unrelated) typos.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
c5b7e8e1da Introduce a translator class.
This perform pre- and post-processings in addition to
the LTL-to-TGBA translation.

* src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/postproc.hh: Make the private part protected, so
that we can inherit from that in the translator class.
* src/bin/ltl2tgba.cc: Use the translator class to hide LTL
simplification, translation, and postprocessings.
* NEWS: Mention it.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
0edb2b7a17 * NEWS: Document recent changes. 2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
276f9108c6 ltl2tgta: Honor -x as well
* src/bin/ltl2tgta.cc: Honor -x.
* src/bin/man/ltl2tgta.x, src/bin/man/spot-x.x: Add cross references.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
d78670ad44 spot-x.7: new man page for common fine-tuning options
* src/bin/spot-x.cc, src/bin/man/spot-x.x: New files.
* src/bin/Makefile.am, src/bin/man/Makefile.am: Adjust.
* src/bin/man/ltl2tgba.x: Remove all fine-tuning options,
and make a reference spot spot-x (7).
* src/bin/common_setup.hh, src/bin/common_setup.cc: Add
a misc_argp_hidden version of the option, so that --help
and --version are not shown in the --help output used
by help2man to generate spot-x.7.
* src/bin/ltl2tgba.cc: Refer to spot-x.7.
2013-04-09 15:05:55 +02:00