slights documentation changes around direct simulation

* src/tgbaalgos/simulation.hh: Mention the fact that this is
a "direct" simulation.
* wrap/python/ajax/ltl2tgba.html: Likewise, and change the key
to "ds".
* wrap/python/ajax/protocol.txt, wrap/python/ajax/spot.in: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2012-04-27 15:51:20 +02:00
parent cdd576458c
commit 7ba4ab7931
4 changed files with 15 additions and 16 deletions

View file

@ -30,20 +30,19 @@ namespace spot
/// \addtogroup tgba_reduction /// \addtogroup tgba_reduction
/// @{ /// @{
/// \brief Tries to reduce the automaton by merging states whose /// \brief Attempt to reduce the automaton by direct simulation
/// recognizes similar language.
/// ///
/// When the language recognized by one state is included in the /// When the language recognized by one state is included in the
/// language recognized by an another one, the first one is merged /// language recognized by an another one, the first one is merged
/// with the second. The algorithm is based on the following /// with the second. The algorithm is based on the following
/// paper: /// paper, but generalized to handled TGBA directly.
/// ///
/// \verbatim /// \verbatim
/// @InProceedings{ etessami.00.concur, /// @InProceedings{ etessami.00.concur,
/// author = {Kousha Etessami and Gerard J. Holzmann}, /// author = {Kousha Etessami and Gerard J. Holzmann},
/// title = {Optimizing {B\"u}chi Automata}, /// title = {Optimizing {B\"u}chi Automata},
/// booktitle = {Proceedings of the 11th International Conference on /// booktitle = {Proceedings of the 11th International Conference on
/// Concurrency Theory (Concur'00)}, /// Concurrency Theory (Concur'00)},
/// pages = {153--167}, /// pages = {153--167},
/// year = {2000}, /// year = {2000},
/// editor = {C. Palamidessi}, /// editor = {C. Palamidessi},
@ -54,9 +53,9 @@ namespace spot
/// } /// }
/// \endverbatim /// \endverbatim
/// ///
/// \param automaton The automaton to simulate. /// \param automaton the automaton to simulate.
/// \return a new automaton which is at worst a copy of the received /// \return a new automaton which is at worst a copy of the received
/// one. /// one
tgba* simulation(const tgba* automaton); tgba* simulation(const tgba* automaton);
/// @} /// @}

View file

@ -445,8 +445,8 @@ an identifier: <span class="formula">aUb</span> is an atomic proposition, unlike
<INPUT type="checkbox" name="as" value="wd"> <INPUT type="checkbox" name="as" value="wd">
minimize obligation properties minimize obligation properties
</label><br> </label><br>
<label class="rtip" title="<b>Direct Simulation</b> tries to reduce the automaton with simulation reduction."> <label class="rtip" title="Attempt to reduce the automaton by using <b>direct simulation</b>. This might also improve the determinism as a side effect.">
<INPUT type="checkbox" name="as" value="rs"> <INPUT type="checkbox" name="as" value="ds">
direct simulation direct simulation
</label><br> </label><br>

View file

@ -71,4 +71,4 @@ Automaton simplifications (pick many)
as=ps Prune SCC as=ps Prune SCC
as=wd WDBA minimiztion as=wd WDBA minimiztion
as=rs Simulation reduction as=ds Direct Simulation reduction

View file

@ -411,14 +411,14 @@ if output_type == 'm':
# Automaton simplifications # Automaton simplifications
prune_scc = False prune_scc = False
wdba_minimize = False wdba_minimize = False
simul_minimize = False direct_simul = False
for s in form.getlist('as'): for s in form.getlist('as'):
if s == 'ps': if s == 'ps':
prune_scc = True prune_scc = True
elif s == 'wd': elif s == 'wd':
wdba_minimize = True wdba_minimize = True
elif s == 'rs': elif s == 'ds':
simul_minimize = True direct_simul = True
if output_type == 'a': if output_type == 'a':
buchi_type = form.getfirst('af', 't') buchi_type = form.getfirst('af', 't')
@ -450,9 +450,9 @@ if wdba_minimize:
minimized = 0 minimized = 0
degen = False # No need to degeneralize anymore degen = False # No need to degeneralize anymore
issba = True issba = True
simul_minimize = False # No need to simulate anymore direct_simul = False # No need to simulate anymore
if simul_minimize: if direct_simul:
automaton = spot.simulation(automaton) automaton = spot.simulation(automaton)
if degen or neverclaim: if degen or neverclaim: