No description
Find a file
Alexandre Duret-Lutz a6677c2984 Do not output a counterexample by default in ltl2tgba, introduce
options -C and -CR for that.

* src/tgbatest/ltl2tgba.cc: Add option -C and -CR to control
whether we want the accepting run to be printed or replayed.
* src/tgbatest/dfs.test, src/tgbatest/eltl2tgba.test,
src/tgbatest/emptchk.test, src/tgbatest/emptchke.test,
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlcounter.test: Use -CR.
2010-11-06 15:38:00 +01:00
bench * bench/emptchk/pml2tgba.pl: Adjust to work with Spin 5.2.5. 2010-11-06 09:21:37 +01:00
buddy Revert inlining of bdd_addref() and bdd_delref(). 2010-01-22 15:55:08 +01:00
doc * doc/Makefile.am ($(srcdir)/stamp): Do not depend on dot 2010-01-31 21:48:29 +01:00
iface Check for missing Copyright blurbs, and add them. 2010-01-30 16:32:13 +01:00
lbtt [lbtt] Accept W and M in lbtt-translate --spot. 2010-04-12 16:39:57 +02:00
m4 Fix the --enable-optimizations check. 2010-05-20 17:16:59 +02:00
src Do not output a counterexample by default in ltl2tgba, introduce 2010-11-06 15:38:00 +01:00
tools * configure.ac: Switch from Libtool 1.5.x to Libtool 2.x, and 2009-09-02 10:41:15 +02:00
wrap * wrap/python/cgi-bin/ltl2tgba.in: Document W and M operators. 2010-04-12 16:40:42 +02:00
.cvsignore * m4/pypath.m4: New file. 2003-04-30 12:35:22 +00:00
.gitignore more files to ignore 2010-01-30 17:32:46 +01:00
AUTHORS more authors 2009-10-07 18:04:43 +02:00
ChangeLog Do not output a counterexample by default in ltl2tgba, introduce 2010-11-06 15:38:00 +01:00
configure.ac Cleanup neverclaim support. 2010-11-06 14:35:31 +01:00
COPYING * COPYING: New file. 2003-11-21 15:54:25 +00:00
HACKING * HACKING: Bison 2.4.2 has a bugfix we rely on. 2010-04-15 10:59:26 +02:00
lrde-upload.sh lrde-upload.sh: Add support for git branches 2010-03-03 12:42:11 +01:00
Makefile.am * src/tgbaalgos/emptiness_stats.hh: Make sure depth() >= 0. 2005-01-28 23:55:33 +00:00
NEWS * NEWS: Typo. 2010-04-16 13:45:03 +02:00
README Cleanup neverclaim support. 2010-11-06 14:35:31 +01:00
THANKS Hide the safra_tree_automaton type from the public interface. 2010-10-07 15:17:18 +02:00

Keeping in touch
================

If you have questions regarding Spot, a bug reports, please send them
to <spot@lrde.epita.fr>.  This is a public mailing list which you may
subscribe to at https://www.lrde.epita.fr/mailman/listinfo/spot but you
should feel free to post without subscribing.

We also run an extremely low traffic list for announcements of
new releases of Spot.  You may subscribe to that list at
https://www.lrde.epita.fr/mailman/listinfo/spot-announce


Installation
============

Requirements
------------

Spot requires a complete installation of Python (version 2.0 or
later).  Especially, Python's headers files should be installed.

Spot also uses modified versions of BuDDy (a binary decision diagram),
and LBTT (an LTL to Büchi test bench).  You do not need to install
these yourself, they are included in this package (directories buddy/
and lbtt/), and will built and installed alongside of Spot.


Building and installing
-----------------------

Spot follows the traditional `./configure && make && make check &&
make install' process.  People unfamiliar with the GNU Build System
should read the file INSTALL for generic instructions.

In additions to its usual options, ./configure will accept some
flags specific to Spot:

  --with-gspn=DIR
    Turns on GreatSPN support.  DIR should designate the root of
    GreatSPN source tree.  (./configure will then run
    DIR/SOURCES/contrib/version.sh to find the GreatSPN build tree.)

    GreatSPN had to be modified in order to be used as a library
    (thanks Soheib Baarir and Yann Thierry-Mieg for this work), and
    presently these modifications are only available on the GreatSPN
    CVS repository hosted by the Università di Torino.

  --with-included-buddy
  --with-included-lbtt
    After you have installed Spot the first time, LBTT and a modified
    version of BuDDy will be installed.  The next time you reconfigure
    Spot, configure will detect that these versions are already
    installed, and will attempt to use these installed versions
    directly (this is in case you had to modify one of these yourself
    for another purpose).  These two options will *force* the use,
    build, and installation of the included versions of these package,
    even when compatible versions are already installed.

  --enable-devel
    Enable debugging symbols, turn off aggressive optimizations, and
    turn on assertions.  This option is effective by default in
    development versions (version numbers ending with a letter).
    It is equivalent to
      --enable-debug
      --enable-warnings
      --enable-assert
      --enable-optimizations=-O
  --disable-devel
    Disable development options.  This is the case by default in
    releases (version numbers NOT ending with a letter).
    It is equivalent to
      --disable-debug
      --disable-warnings
      --disable-assert
      --enable-optimizations

Here are the meaning of the fine-tuning options, in case
enable/disable-devel is not enough.

  --disable-assert
  --enable-assert
    Control assertion checking.

  --disable-warnings
  --enable-warnings
    Whether warnings should be output.  Note that during development
    we consider warnings to be errors.

  --disable-debug
  --enable-debug
    Whether to compile extra debugging code.

  --enable-optimizations
  --enable-optimizations=FLAGS
  --disable-optimizations
    Whether the compilation should be optimized.  When FLAGS are
    given, use these as optimization flags.  Otherwise, pick working
    flags from a built-in list.


Layout of the source tree
=========================

Core directories
----------------

src/              Sources for libspot.
   kripke/        Kripke Structure interface.
   ltlast/        LTL abstract syntax tree (including nodes for ELTL).
   ltlenv/        LTL environments.
   ltlparse/      Parser for LTL formulae.
   ltlvisit/      Visitors of LTL formulae.
   ltltest/       Tests for ltlast/, ltlenv/, ltlparse/, and ltlvisit/.
   misc/          Miscellaneous support files.
   tgba/          TGBA objects and cousins.
   tgbaalgos/     Algorithms on TGBA.
      gtec/       Couvreur's Emptiness-Check.
   tgbaparse/     Parser for explicit TGBA.
   tgbatest/      Tests for tgba/, tgbaalgos/, and tgbaparse/.
   evtgba*/       Ignore these for now.
   eltlparse/     Parser for ELTL formulae.
   eltltest/      Tests for ELTL nodes in ltlast/ and eltlparse/.
   saba/          SABA (State-labeled Alternating Büchi Automata) objects.
   sabaalgos/     Algorithms on SABA.
   sabatest/      Tests for saba/, sabaalgos/.
   neverparse/    Parser for SPIN never claims.
   sanity/        Sanity tests for the whole project.
doc/              Documentation for libspot.
   spot.html/     HTML reference manual.
   spot.latex/    Sources for the PDF manual. (Not distributed, can be rebuilt.)
   spotref.pdf    PDF reference manual.
bench/            Benchmarks for ...
   emptchk/       ... emptiness-check algorithms,
   gspn-ssp/      ... various symmetry-based methods with GreatSPN,
   ltl2tgba/      ... LTL-to-Büchi translation algorithms,
   ltlcounter/    ... translation of a class of LTL formulae,
   scc-stats/     ... SCC statistics after translation of LTL formulae,
   split-product/ ... parallelizing gain after splitting LTL automata.
wrap/             Wrappers for other languages.
   python/        Python bindings for Spot and BuDDy
      tests/      Tests for these bindings
      cgi-bin/    Python-based CGI script (ltl-to-tgba translator)
iface/            Interfaces to other libraries.
   gspn/          GreatSPN interface.
      examples/   Supporting models used by the test cases.
   nips/          NIPS interface (to use Promela models).
      nipstest/   Tests for NIPS.

Third party software
--------------------

buddy/            A patched version of BuDDy 2.3 (a BDD library).
lbtt/             lbtt 1.2.1 (an LTL to Büchi automata test bench).
iface/            Interfaces to other libraries.
   nips/          NIPS interface (to use Promela models).
      nips_vm/    NIPS VM 1.2.7 (New Implementation of Promela Semantics
                  Virtual Machine).

Build-system stuff
------------------

m4/      M4 macros used by configure.ac.
tools/   Helper scripts used during the build.

-------------------------------------------------------------------------------
Local Variables:
mode: text
End:

 LocalWords:  Python's BuDDy LBTT LTL Büchi lbtt gspn DIR GreatSPN Soheib Yann
 LocalWords:  Baarir Thierry Mieg CVS Università di Torino devel src libspot ac
 LocalWords:  ltlast ltlenv ltlparse ltlvisit ltltest misc tgba TGBA tgbaalgos
 LocalWords:  gtec Tarjan tgbaparse tgbatest doc html PDF spotref pdf cgi ELTL
 LocalWords:  CGI ltl iface BDD Couvreur's evtgba emptchk kripke Kripke saba vm
 LocalWords:  eltlparse eltltest SABA sabaalgos sabatest ssp ltlcouter scc SCC
 LocalWords:  Promela nipstest VM