Commit graph

1947 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
8cb68d76b5 * NEWS, buddy/src/bddop.c, m4/valgrind.m4: s/wether/whether/. 2012-08-22 13:53:59 +02:00
Alexandre Duret-Lutz
2ea652d32c Cleanup ltl2tgba.cc.
* src/tgbatest/ltl2tgba.cc: Fix some typos, and factor the second
call to scc_filter when simulations are used.
2012-08-21 16:38:49 +02:00
Alexandre Duret-Lutz
74bd671350 Add cosimulation and iterated_simulations to the web interface.
* wrap/python/spot.i (cosimulation, iterated_simulations): Declare.
* wrap/python/ajax/spot.in, wrap/python/ajax/protocol.txt,
wrap/python/ajax/ltl2tgba.html: Add options to trigger these two
optimizations.
2012-08-21 16:26:28 +02:00
Alexandre Duret-Lutz
84b6240aa9 * src/tgbaalgos/simulation.hh: Improve documentation. 2012-08-21 15:34:18 +02:00
Thomas Badie
25b8d50cf0 Optimize the use of -RRS with -R3.
* src/tgbatest/ltl2tgba.cc: Change the order of the call to the
simulation and the cosimulation.
Call scc_filter when cosimulation is called with -R3.
Call scc_filter when simulation is called with -R3.
2012-08-21 14:31:23 +02:00
Thomas Badie
0b74f54912 * src/tgbaalgos/simulation.cc: Fix a bug in the simulation. 2012-08-21 14:31:23 +02:00
Thomas Badie
bd9e42dd68 * bench/ltl2tgba/lbtt2csv.pl: Fix a bug when using big.log. 2012-08-21 14:31:23 +02:00
Thomas Badie
a0cce10512 Create the iterated simulations.
* src/tgbaalgos/simulation.cc: Create the iterated_simulations.
(direct_simulation) Add an attribute "stat" that represents the
number of states and transitions of the resulting automaton.
* src/tgbaalgos/simulation.hh: Declare the iterated_simulations.
* src/tgbatest/spotlbtt.test: Test the iterated_simulations.
* src/tgbatest/ltl2tgba.cc: Associate the option -RIS to the
iterated_simulations.
2012-08-21 14:31:23 +02:00
Thomas Badie
242386b19a Add missing dependencies to the ltl2tgba benchmark Makefile.
* bench/ltl2tgba/Makefile.am (run): Remove wfair.txt.
(small.txt, big.txt, known.txt) Add a dependency to ltl2tgba.
2012-08-21 14:31:23 +02:00
Thomas Badie
387bace98b Create the cosimulation.
* src/tgbaalgos/simulation.cc: Add the cosimulation:
(acc_compl_automaton) Add a template parameter.
(acc_compl_automaton::process_link) Add a swap source destination.
(direct_simulation) Add a template parameter.
(direct_simulation::compute_sig) Add a flag in the signature to
know if the state is initial.
(direct_simulation::build_result) Remove the flag before reading
the signature.
Swap source and destination when building the new automaton.
* src/tgbaalgos/simulation.hh: Declare and document the
Cosimulation.
* src/tgbatest/ltl2tgba.cc: Associate the cosimulation with the -RRS
option.
* src/tgbatest/spotlbtt.test: Add a test on the cosimulation.
2012-08-21 14:31:23 +02:00
Alexandre Duret-Lutz
aa230d1f8b 80 columns.
* src/ltlvisit/apcollect.hh, src/taalgos/minimize.cc,
src/taalgos/tgba2ta.cc, src/tgbatest/ltl2tgba.cc: Here.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
173e100a41 ltl2tgba.html: Draw a run by default, don't print it.
* wrap/python/ajax/ltl2tgba.html, wrap/python/ajax/spot.in: Here.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
ebf48d4fa4 * wrap/python/ajax/ltl2tgba.html: Remember killed blocks. 2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
8d2d9be39c ltl2tgba.html: Add a warning.
* wrap/python/ajax/spot.in: Warn about formulae that don't look
stuttering insensitive.
2012-08-21 14:21:31 +02:00
Ala-Eddine Ben-Salem
e30b92327a Set is_accepting_state to false in GTA
* src/taalgos/tgba2ta.cc: Set is_accepting_state to false in GTA.
* src/tgbatest/ltl2tgba.cc: Call tgta_explicit.get_ta() to avoid
segfault.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
941cb0b57b Fix tgta_explicit not to inherit from ta_explicit to please clang++.
* src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh: Use a ta_explicit
attribute instead of inheriting from it.
(get_ta): New method.
* src/taalgos/minimize.cc, src/taalgos/minimize.hh,
src/taalgos/tgba2ta.cc, src/tgbatest/ltl2tgba.cc: Adjust usage.
* wrap/python/spot.i (as_ta): Remove, now that we have get_ta.
* wrap/python/ajax/spot.in: Use get_ta instead of as_ta.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
d4130f15bf Clean up dotty output of TAs.
* src/taalgos/dotty.cc: Clean up output of TAs.
* src/tgbatest/ltl2tgba.cc: Fix memory management, and use the TA
printer for TGTA.
* wrap/python/spot.i (as_ta): New function to convert a tgta_explicit
into a TA.
* wrap/python/ajax/spot.in: Use this new function to display automata.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
852cd0d553 ltl2tgba.html: Add testing automata options.
* wrap/python/ajax/ltl2tgba.html, wrap/python/ajax/protocol.txt,
wrap/python/ajax/spot.in: Here.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
27a2de331f ltl2tgba.html: Preliminary support for TA
* wrap/python/spot.i: Add wrapper the new TA algorithms.
* wrap/python/ajax/ltl2tgba.html: Add a testing automaton tab.
* wrap/python/ajax/protocol.txt, wrap/python/ajax/spot.in: Support it.
2012-08-21 14:21:31 +02:00
Alexandre Duret-Lutz
20c3f9f8ba Simplify the construction of TA.
* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh: Add a version
that builds a BDD.
* src/tgbatest/ltl2tgba.cc: Use it.
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
8e1438c98f Don't always delete the tgba used in ta_explicit.
* src/ta/taexplicit.hh (ta_explicit): Take a boolean to tell whether
the tgba is owned.
* src/ta/taexplicit.cc, src/ta/tgtaexplicit.cc,
src/ta/tgtaexplicit.hh: Likewise.
* src/ta/taexplicit.cc (~ta_explicit): Adjust destruction.
* src/tgbatest/ltl2tgba.cc: Adjust usage.
* src/taalgos/minimize.cc: Likewise.
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
be6071184e Fix ta/ and taalgos/ include path for VPATH builds.
* src/ta/Makefile.am, src/taalgos/Makefile.am: Add -I..
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
20c7f1e8cf Don't use -Rm for two different things.
* src/tgbatest/ltl2tgba.cc: Introduce -RT to turn on bisimulation on
TA instead of hijacking -Rm.
* src/tgbatest/ltl2ta.test: Adjust.
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
6bd905c63e Fix, run, and distribute ltl2ta.test.
* src/tgbatest/ltl2ta.test: Adjust expected values.
* src/tgbatest/Makefile.am (TESTS): Add ltl2ta.test.
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
2462a3d570 Post-rebase fixup.
* src/taalgos/tgba2ta.cc: Adjust to use the sba base class.
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
67bbe6a6c7 Fixes to pass sanity checks.
* src/ta/taproduct.cc, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh,
src/taalgos/emptinessta.cc, src/tgbatest/ltl2ta.test: 80 columns.
* src/ta/tgta.hh, src/ta/tgtaproduct.hh, src/taalgos/emptinessta.hh,
src/taalgos/tgba2ta.hh: Fix include gards.
* src/taalgos/tgba2ta.hh: Remove superfluous includes.
* src/taalgos/tgba2ta.cc: Add missing include.
* src/tgbatest/ltl2tgba.cc: Fix use of bdd_true().
2012-08-21 14:21:30 +02:00
Alexandre Duret-Lutz
dcc809ff4a Post rebase fixups.
* src/ltltest/randltl.cc: Document the -wf option.  Declare formula*
as const.  Simplify GF_n().
* src/tgbatest/ltl2tgba.cc: Suppress unused variable.
2012-08-21 14:21:30 +02:00
Ala-Eddine Ben-Salem
84b1d24e8f Update the description of the commands options (-TA,-lv,-sp,-in,-TGTA)
* src/tgbatest/ltl2tgba.cc: update the description of the options for
the different kinds of Testing Automata: TA, STA, GTA, SGTA and TGTA.
2012-08-21 14:21:30 +02:00
Ala-Eddine Ben-Salem
9319b0ca25 Changes in order to pass sanity tests
* src/tgbatest/ltl2tgba.cc, src/ta/Makefile.am, README: code style
2012-08-21 14:21:30 +02:00
Ala-Eddine Ben-Salem
618146c157 Changes to pass sanity tests
* src/ta/taexplicit.hh, src/ta/taexplicit.cc, src/taalgos/minimize.cc,
src/taalgos/tgba2ta.cc, src/tgbatest/ltl2tgba.cc: correct the code style
in order to respect the sanity rules
2012-08-21 14:21:30 +02:00
Ala-Eddine Ben-Salem
5a706300b0 Stable version of TGTA approach implementation (automaton + product)
* src/ta/tgta.hh, src/ta/tgta.cc, src/ta/tgtaexplicit.hh,
src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.hh, src/ta/tgtaproduct.cc,
src/taalgos/minimize.cc, src/taalgos/minimize.hh,
src/taalgos/emptinessta.hh, src/taalgos/emptinessta.hh,
src/taalgos/emptinessta.cc, src/taalgos/tgba2ta.hh,
src/taalgos/tgba2ta.cc: rename tgbta to tgta
in this source files.
* src/ta/tgbtaexplicit.hh, src/ta/tgbtaproduct.hh,  src/ta/tgbta.cc,
src/ta/tgbtaproduct.cc, src/ta/tgbta.hh, src/ta/tgbtaexplicit.cc:
Rename as...
* src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/ta/taproduct.cc,
src/ta/taproduct.hh, src/ta/tgtaexplicit.cc: ... these.
* src/taalgos/sba2ta.hh, src/taalgos/sba2ta.cc: deleted because
the implementation of all the transformations beteween TGBA and
the different forms of TA are new implemented in src/taalgos/tgba2ta.hh
 and src/taalgos/tgba2ta.cc.
* src/tgbatest/ltl2tgba.cc: rename the options of commands that build
the different forms of TA.
* src/ta/ta.hh: BUG Fix
* src/ta/Makefile.am, src/tgbatest/ltl2ta.test: impacts of this renaming
2012-08-21 14:21:07 +02:00
Ala-Eddine Ben-Salem
c76e651bad Doxygen comments.
* src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.hh,
src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgbtaexplicit.cc,
src/ta/taexplicit.cc, src/ta/tgbtaproduct.cc,
src/taalgos/emptinessta.cc, src/taalgos/emptinessta.hh,
src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh,
src/tgbatest/ltl2ta.test, src/tgbatest/ltl2tgba.cc: Add Doxygen
comments.
2012-08-21 11:43:52 +02:00
Ala-Eddine Ben-Salem
a13d2c8fc7 BUG FIX in TA construction and minimization
* src/taalgos/tgba2ta.cc: BUG FIX in TA construction
* src/taalgos/minimize.cc: BUG FIX in TA minimization (did_split Flag)
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
4a1d6dd67c STA and TGTA optimisations
* src/taalgos/tgba2ta.cc: the transformations of TGBA
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
4eaa7b24df Improving the construction of TGTA
* src/taalgos/tgba2ta.hh, src/taalgos/tgba2ta.cc:
optimization of the TGTA automaton obtained from a TGBA.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
db2fcfa97a Cleaning code of TA Product and Emptiness-check
* src/ta/taproduct.cc, src/taalgos/emptinessta.cc:
remove unused (commented) code.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
d64b40452c STA: the artificial livelock state becomes the first successor
* src/taalgos/tgba2ta.cc: improves the STA (Single-pass TA) by adding
the  artificial livelock state as the first successor.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
ed27dab306 Add an implementation of TGTA minimization
* src/ta/taexplicit.cc, src/ta/taexplicit.hh: Bug fix TGTA
* src/taalgos/minimize.cc,src/taalgos/minimize.hh: TGTA minimization
* src/taalgos/tgba2ta.cc: add a TGTA minimization command (uses -Rm)
* src/taalgos/minimize.cc, src/taalgos/minimize.hh
(minimize_tgbta): New function.
* src/taalgos/tgba2ta.cc: Set livelock-accepting flag of TGTA states
to false so they can be merged with other states.
* src/ta/taexplicit.cc (hash): Use id.
* src/ta/taexplicit.hh: Cosmetics.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
c882eadda6 New Automata: TGTA (Transition-based Generalized TA)
* src/ta/Makefile.am, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
src/ta/taproduct.cc, src/ta/tgbta.cc, src/ta/tgbta.hh,
src/ta/tgbtaexplicit.cc, src/ta/tgbtaexplicit.hh,
src/ta/tgbtaproduct.cc, src/ta/tgbtaproduct.hh,
src/taalgos/emptinessta.cc, src/taalgos/emptinessta.hh,
src/taalgos/sba2ta.cc, src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh,
src/tgbatest/ltl2tgba.cc: Implementation of TGTA, a new kind of automata
combining ideas from TGBA and TA.
2012-07-15 18:10:01 +02:00
Alexandre Duret-Lutz
1f0bf0b1cf Remove statement with no effect, to please GCC 4.6.
* src/taalgos/emptinessta.cc (ta_check::check): Remove statement
with no effect, to please GCC 4.6.
2012-07-15 18:10:01 +02:00
Alexandre Duret-Lutz
29ee11cfd3 Remove unused argument in constructor.
* src/taalgos/tgba2ta.cc, src/ta/taexplicit.hh (state_ta_explicit):
Remove unused argument in constructor.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
422bb842bf Properly free memory and print logs
* src/tgbatest/ltl2tgba.cc: Properly free memory
* src/taalgos/tgba2ta.cc, src/taalgos/emptinessta.cc: print logs
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
83e7f0fa18 GTA (Generalized Testing Automata) implementation
* src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc,
src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/taproduct.hh,
src/taalgos/Makefile.am, src/taalgos/dotty.cc,
src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
src/taalgos/minimize.hh, src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh,
src/tgbatest/ltl2tgba.cc: changes introduced to add a new form of TA
called GTA (Generalized Testing Automata). GTA is a TA with acceptance-
conditions added on transitions.
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
c7f4b8e262 Single-pass Testing Automata (STA) optimizations
* src/taalgos/sba2ta.cc, src/taalgos/emptinessta.cc: STA optimizations
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
782ba0010b Add a new form of TA with a Single-pass emptiness check (STA)
* src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc,
src/ta/taexplicit.hh, src/ta/taproduct.cc,src/ta/taproduct.hh,
src/taalgos/dotty.cc, src/taalgos/emptinessta.cc,
src/taalgos/emptinessta.hh, src/taalgos/minimize.cc,
src/taalgos/reachiter.cc, src/taalgos/sba2ta.cc, src/taalgos/sba2ta.hh,
src/tgbatest/ltl2ta.test, src/tgbatest/ltl2tgba.cc: Impacts of the
implementation of a new variant of TA, called STA, which involve a
Single-pass emptiness check. The new options (-in and -lv) added to
build the new variants of TA allow to add two artificial states:
1- an initial artificial state to have an unique initial state (-in)
2- a livelock artificial state which has no successors in order to
obtain the new form of TA which requires only a Single-pass emptiness-
check: STA (-lv).
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
310973f88c Improvement of TA Product/Minimisation and of WFair generation
* src/ta/taproduct.hh, src/ta/taproduct.cc: improvement of TA Product
* src/ltltest/randltl.cc: improvement of WFair Formulas generation
* src/taalgos/minimize.cc: improvement of TA minimization
2012-07-15 18:10:01 +02:00
Ala-Eddine Ben-Salem
2aad5b10d2 TA Product optimization and WFair Formulas generation
* src/ta/taproduct.cc: TA Product optimization
* src/ltltest/randltl.cc: WFair Formulas generation
2012-07-15 18:10:01 +02:00
Alexandre Duret-Lutz
c774ba141d Use downcast when appropriate.
* src/taalgos/sba2ta.cc, src/ta/ta.cc, src/ta/taexplicit.cc,
src/ta/taproduct.cc, src/taalgos/emptinessta.cc: Use downcast
and cleanup whitespace.
2012-07-15 18:10:00 +02:00
Ala Eddine
bf01501e15 Impacts of the new method state.destroy()
* src/ta/taexplicit.cc, src/ta/taproduct.cc,
src/taalgos/minimize.cc, src/taalgos/sba2ta.cc:
changes to use the new method destroy() added to state.hh
2012-07-15 18:10:00 +02:00
Ala Eddine
cd04d9acf3 Add TA minimization: merge bisimulating states
* src/taalgos/minimize.hh, src/taalgos/minimize.cc: implements a
minimization of TA by merging bisimular states.
* src/taalgos/statessetbuilder.hh, src/taalgos/statessetbuilder.cc:
returns the set of reachable states of a TA (used in minimize.cc).
* src/taalgos/Makefile.am: add them.
* src/tgbatest/ltl2tgba.cc: add commands to test TA minimization
2012-07-15 18:10:00 +02:00