use a bibtex file to collect all references in Doxygen
* doc/tl/tl.bib: Move ... * doc/spot.bib: ... here, and augment it with all references that appeared verbatim in Doxygen comments. * doc/Makefile.am, doc/tl/Makefile.am doc/tl/tl.tex: Adjust for the move. * doc/Doxyfile.in: Point to spot.bib. * spot/gen/automata.hh, spot/gen/formulas.hh, spot/misc/game.hh, spot/misc/minato.hh spot/taalgos/emptinessta.hh, spot/taalgos/minimize.hh, spot/taalgos/tgba2ta.hh, spot/tl/formula.hh, spot/tl/remove_x.hh, spot/tl/simplify.hh, spot/tl/snf.hh, spot/twaalgos/cobuchi.hh, spot/twaalgos/cycles.hh, spot/twaalgos/dualize.hh, spot/twaalgos/gtec/gtec.hh, spot/twaalgos/gv04.hh, spot/twaalgos/ltl2taa.hh, spot/twaalgos/ltl2tgba_fm.hh, spot/twaalgos/magic.hh, spot/twaalgos/minimize.hh, spot/twaalgos/parity.hh, spot/twaalgos/powerset.hh, spot/twaalgos/randomgraph.hh, spot/twaalgos/se05.hh, spot/twaalgos/simulation.hh, spot/twaalgos/strength.hh, spot/twaalgos/stutter.hh, spot/twaalgos/tau03.hh, spot/twaalgos/totgba.hh, spot/twaalgos/toweak.hh: Use \cite instead of a verbatim bibtex entry.
This commit is contained in:
parent
d064b7dad2
commit
df326e032b
36 changed files with 966 additions and 1225 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2017-2019 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -58,18 +58,8 @@ namespace spot
|
|||
/// \brief Converts a nondet Streett-like aut. to a nondet. co-Büchi aut.
|
||||
///
|
||||
/// This function works in top of the augmented subset construction algorithm
|
||||
/// and is described in section 3.1 of:
|
||||
/** \verbatim
|
||||
@Article{boker.2011.fossacs,
|
||||
author = {Udi Boker and Orna Kupferman},
|
||||
title = {Co-Büching Them All},
|
||||
booktitle = {Foundations of Software Science and Computational
|
||||
Structures - 14th International Conference, FOSSACS 2011}
|
||||
year = {2011},
|
||||
pages = {184--198},
|
||||
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
|
||||
}
|
||||
\endverbatim */
|
||||
/// and is described in section 3.1 of \cite boker.2011.fossacs .
|
||||
///
|
||||
/// This implementation is quite different from the described algorithm. It
|
||||
/// is made to work with automaton with Street-like acceptance (including
|
||||
/// Büchi).
|
||||
|
|
@ -86,18 +76,7 @@ namespace spot
|
|||
///
|
||||
/// This function converts the Rabin-like automaton into a Strett-like
|
||||
/// automaton and then calls nsa_to_nca() on it. It is described in section
|
||||
/// 3.2 of:
|
||||
/** \verbatim
|
||||
@Article{boker.2011.fossacs,
|
||||
author = {Udi Boker and Orna Kupferman},
|
||||
title = {Co-Büching Them All},
|
||||
booktitle = {Foundations of Software Science and Computational
|
||||
Structures - 14th International Conference, FOSSACS 2011}
|
||||
year = {2011},
|
||||
pages = {184--198},
|
||||
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
|
||||
}
|
||||
\endverbatim */
|
||||
/// 3.2 of \cite boker.2011.fossacs .
|
||||
///
|
||||
/// \a aut The automaton to convert.
|
||||
/// \a named_states name each state for easier debugging.
|
||||
|
|
@ -122,18 +101,7 @@ namespace spot
|
|||
///
|
||||
/// This function calls first nsa_to_nca() in order to retrieve som
|
||||
/// information and then runs a breakpoint construction. The algorithm is
|
||||
/// described in section 4 of:
|
||||
/** \verbatim
|
||||
@Article{boker.2011.fossacs,
|
||||
author = {Udi Boker and Orna Kupferman},
|
||||
title = {Co-Büching Them All},
|
||||
booktitle = {Foundations of Software Science and Computational
|
||||
Structures - 14th International Conference, FOSSACS 2011}
|
||||
year = {2011},
|
||||
pages = {184--198},
|
||||
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
|
||||
}
|
||||
\endverbatim */
|
||||
/// described in section 4 of \cite boker.2011.fossacs .
|
||||
///
|
||||
/// \a aut The automaton to convert.
|
||||
/// \a named_states name each state for easier debugging.
|
||||
|
|
@ -144,18 +112,7 @@ namespace spot
|
|||
///
|
||||
/// This function calls first nra_to_nca() in order to retrieve som
|
||||
/// information and then runs a breakpoint construction. The algorithm is
|
||||
/// described in section 4 of:
|
||||
/** \verbatim
|
||||
@Article{boker.2011.fossacs,
|
||||
author = {Udi Boker and Orna Kupferman},
|
||||
title = {Co-Büching Them All},
|
||||
booktitle = {Foundations of Software Science and Computational
|
||||
Structures - 14th International Conference, FOSSACS 2011}
|
||||
year = {2011},
|
||||
pages = {184--198},
|
||||
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
|
||||
}
|
||||
\endverbatim */
|
||||
/// described in section 4 of \cite boker.2011.fossacs .
|
||||
///
|
||||
/// \a aut The automaton to convert.
|
||||
/// \a named_states name each state for easier debugging.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2012, 2013, 2014, 2015, 2018 Laboratoire de Recherche et
|
||||
// Copyright (C) 2012-2015, 2018-2019 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -28,20 +28,7 @@ namespace spot
|
|||
/// \brief Enumerate elementary cycles in a SCC.
|
||||
///
|
||||
/// This class implements a non-recursive version of the algorithm
|
||||
/// on page 170 of:
|
||||
/** \verbatim
|
||||
@Article{loizou.82.is,
|
||||
author = {George Loizou and Peter Thanisch},
|
||||
title = {Enumerating the Cycles of a Digraph: A New
|
||||
Preprocessing Strategy},
|
||||
journal = {Information Sciences},
|
||||
year = {1982},
|
||||
volume = {27},
|
||||
number = {3},
|
||||
pages = {163--182},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
/// on page 170 of \cite loizou.82.is .
|
||||
/// (the additional preprocessings described later in that paper are
|
||||
/// not implemented).
|
||||
///
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2017, 2018, 2019 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -43,17 +43,7 @@ namespace spot
|
|||
/// If the input automaton is existential, the output will be universal.
|
||||
/// If the input automaton is universal, the output will be existential.
|
||||
/// Finally, if the input automaton is alternating, the result is alternating.
|
||||
/// More can be found on page 22 (Definition 1.6) of:
|
||||
/** \verbatim
|
||||
@mastersthesis{loding.98.methodsfor
|
||||
author = {Christof Löding}
|
||||
title = {Methods for the Transformation of ω-Automata: Complexity
|
||||
and Connection to Second Order Logic}
|
||||
school = {Institute of Computer Science and Applied Mathematics
|
||||
Christian-Albrechts-University of Kiel}
|
||||
year = {1998}
|
||||
}
|
||||
\endverbatim */
|
||||
/// More can be found on page 22 (Definition 1.6) of \cite loding.98.msc .
|
||||
SPOT_API twa_graph_ptr
|
||||
dualize(const const_twa_graph_ptr& aut);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2008, 2013, 2014, 2015, 2016, 2018 Laboratoire de Recherche
|
||||
// Copyright (C) 2008, 2013-2016, 2018-2019 Laboratoire de Recherche
|
||||
// et Développement de l'Epita (LRDE).
|
||||
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
||||
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||
|
|
@ -34,24 +34,7 @@ namespace spot
|
|||
|
||||
/// \brief Check whether the language of an automate is empty.
|
||||
///
|
||||
/// This is based on the following paper.
|
||||
/** \verbatim
|
||||
@InProceedings{couvreur.99.fm,
|
||||
author = {Jean-Michel Couvreur},
|
||||
title = {On-the-fly Verification of Temporal Logic},
|
||||
pages = {253--271},
|
||||
editor = {Jeannette M. Wing and Jim Woodcock and Jim Davies},
|
||||
booktitle = {Proceedings of the World Congress on Formal Methods in
|
||||
the Development of Computing Systems (FM'99)},
|
||||
publisher = {Springer-Verlag},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {1708},
|
||||
year = {1999},
|
||||
address = {Toulouse, France},
|
||||
month = {September},
|
||||
isbn = {3-540-66587-0}
|
||||
}
|
||||
\endverbatim */
|
||||
/// This is based on \cite couvreur.99.fm .
|
||||
///
|
||||
/// A recursive definition of the algorithm would look as follows,
|
||||
/// but the implementation is of course not recursive.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Developpement
|
||||
// de l'Epita (LRDE).
|
||||
// Copyright (C) 2013, 2014, 2019 Laboratoire de Recherche et
|
||||
// Developpement de l'Epita (LRDE).
|
||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
|
|
@ -33,25 +33,9 @@ namespace spot
|
|||
/// \ingroup emptiness_check_algorithms
|
||||
/// \pre The automaton \a a must have at most one acceptance condition.
|
||||
///
|
||||
/// The original algorithm, coming from the following paper, has only
|
||||
/// been slightly modified to work on transition-based automata.
|
||||
/** \verbatim
|
||||
@InProceedings{geldenhuys.04.tacas,
|
||||
author = {Jaco Geldenhuys and Antti Valmari},
|
||||
title = {Tarjan's Algorithm Makes On-the-Fly {LTL} Verification
|
||||
More Efficient},
|
||||
booktitle = {Proceedings of the 10th International Conference on Tools
|
||||
and Algorithms for the Construction and Analysis of Systems
|
||||
(TACAS'04)},
|
||||
editor = {Kurt Jensen and Andreas Podelski},
|
||||
pages = {205--219},
|
||||
year = {2004},
|
||||
publisher = {Springer-Verlag},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {2988},
|
||||
isbn = {3-540-21299-X}
|
||||
}
|
||||
\endverbatim */
|
||||
/// The original algorithm, coming from \cite geldenhuys.04.tacas ,
|
||||
/// has only been slightly modified to work on transition-based
|
||||
/// automata.
|
||||
SPOT_API emptiness_check_ptr
|
||||
explicit_gv04_check(const const_twa_ptr& a, option_map o = option_map());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2009, 2010, 2013, 2014, 2015 Laboratoire de Recherche
|
||||
// Copyright (C) 2009, 2010, 2013-2015, 2019 Laboratoire de Recherche
|
||||
// et Développement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -27,21 +27,7 @@ namespace spot
|
|||
/// \ingroup twa_ltl
|
||||
/// \brief Build a spot::taa* from an LTL formula.
|
||||
///
|
||||
/// This is based on the following.
|
||||
/** \verbatim
|
||||
@techreport{HUT-TCS-A104,
|
||||
address = {Espoo, Finland},
|
||||
author = {Heikki Tauriainen},
|
||||
month = {September},
|
||||
note = {Doctoral dissertation},
|
||||
number = {A104},
|
||||
pages = {xii+229},
|
||||
title = {Automata and Linear Temporal Logic: Translations
|
||||
with Transition-Based Acceptance},
|
||||
type = {Research Report},
|
||||
year = {2006}
|
||||
}
|
||||
\endverbatim */
|
||||
/// This is based on \cite tauriainen.06.tr .
|
||||
///
|
||||
/// \param f The formula to translate into an automaton.
|
||||
/// \param dict The spot::bdd_dict the constructed automata should use.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2017 Laboratoire de
|
||||
// Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2019 Laboratoire de
|
||||
// Recherche et Développement de l'Epita (LRDE).
|
||||
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
||||
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||
|
|
@ -30,26 +30,11 @@
|
|||
namespace spot
|
||||
{
|
||||
/// \ingroup twa_ltl
|
||||
/// \brief Build a spot::twa_graph_ptr from an LTL formula.
|
||||
/// \brief Build a spot::twa_graph_ptr from an LTL or PSL formula.
|
||||
///
|
||||
/// This is based on the following paper.
|
||||
/** \verbatim
|
||||
@InProceedings{couvreur.99.fm,
|
||||
author = {Jean-Michel Couvreur},
|
||||
title = {On-the-fly Verification of Temporal Logic},
|
||||
pages = {253--271},
|
||||
editor = {Jeannette M. Wing and Jim Woodcock and Jim Davies},
|
||||
booktitle = {Proceedings of the World Congress on Formal Methods in the
|
||||
Development of Computing Systems (FM'99)},
|
||||
publisher = {Springer-Verlag},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {1708},
|
||||
year = {1999},
|
||||
address = {Toulouse, France},
|
||||
month = {September},
|
||||
isbn = {3-540-66587-0}
|
||||
}
|
||||
\endverbatim */
|
||||
/// This originally derived from an algorithm by Couvreur
|
||||
/// \cite couvreur.99.fm , but it has been improved in many
|
||||
/// ways \cite duret.14.ijccbs .
|
||||
///
|
||||
/// \param f The formula to translate into an automaton.
|
||||
///
|
||||
|
|
@ -68,25 +53,7 @@ namespace spot
|
|||
///
|
||||
/// \param branching_postponement When set, several transitions leaving
|
||||
/// from the same state with the same label (i.e., condition + acceptance
|
||||
/// conditions) will be merged. This corresponds to an optimization
|
||||
/// described in the following paper.
|
||||
/** \verbatim
|
||||
@InProceedings{ sebastiani.03.charme,
|
||||
author = {Roberto Sebastiani and Stefano Tonetta},
|
||||
title = {"More Deterministic" vs. "Smaller" B{\"u}chi Automata for
|
||||
Efficient LTL Model Checking},
|
||||
booktitle = {Proceedings for the 12th Advanced Research Working
|
||||
Conference on Correct Hardware Design and Verification
|
||||
Methods (CHARME'03)},
|
||||
pages = {126--140},
|
||||
year = {2003},
|
||||
editor = {G. Goos and J. Hartmanis and J. van Leeuwen},
|
||||
volume = {2860},
|
||||
series = {Lectures Notes in Computer Science},
|
||||
month = {October},
|
||||
publisher = {Springer-Verlag}
|
||||
}
|
||||
\endverbatim */
|
||||
/// conditions) will be merged. \cite sebastiani.03.charme
|
||||
///
|
||||
/// \param fair_loop_approx When set, a really simple characterization of
|
||||
/// unstable state is used to suppress all acceptance conditions from
|
||||
|
|
@ -100,43 +67,11 @@ namespace spot
|
|||
/// \param simplifier If this parameter is set, the LTL formulae
|
||||
/// representing each state of the automaton will be simplified
|
||||
/// before computing the successor. \a simpl should be configured
|
||||
/// for the type of reduction you want, see
|
||||
/// spot::tl_simplifier. This idea is taken from the
|
||||
/// following paper.
|
||||
/** \verbatim
|
||||
@InProceedings{ thirioux.02.fmics,
|
||||
author = {Xavier Thirioux},
|
||||
title = {Simple and Efficient Translation from {LTL} Formulas to
|
||||
{B\"u}chi Automata},
|
||||
booktitle = {Proceedings of the 7th International ERCIM Workshop in
|
||||
Formal Methods for Industrial Critical Systems (FMICS'02)},
|
||||
series = {Electronic Notes in Theoretical Computer Science},
|
||||
volume = {66(2)},
|
||||
publisher = {Elsevier},
|
||||
editor = {Rance Cleaveland and Hubert Garavel},
|
||||
year = {2002},
|
||||
month = jul,
|
||||
address = {M{\'a}laga, Spain}
|
||||
}
|
||||
\endverbatim */
|
||||
/// for the type of reduction you want, see spot::tl_simplifier.
|
||||
/// This idea is taken from \cite thirioux.02.fmics .
|
||||
///
|
||||
/// \param unambiguous When true, unambigous TGBA will be produced using
|
||||
/// the trick described in the following paper.
|
||||
/** \verbatim
|
||||
@InProceedings{ benedikt.13.tacas,
|
||||
author = {Michael Benedikt and Rastislav Lenhardt and James
|
||||
Worrell},
|
||||
title = {{LTL} Model Checking of Interval Markov Chains},
|
||||
booktitle = {19th International Conference on Tools and Algorithms for
|
||||
the Construction and Analysis of Systems (TACAS'13)},
|
||||
year = {2013},
|
||||
pages = {32--46},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {7795},
|
||||
editor = {Nir Piterman and Scott A. Smolka},
|
||||
publisher = {Springer}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \param unambiguous When true, unambigous TGBA will be produced
|
||||
/// using the trick described in \cite benedikt.13.tacas .
|
||||
///
|
||||
/// \return A spot::twa_graph that recognizes the language of \a f.
|
||||
SPOT_API twa_graph_ptr
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Developpement
|
||||
// de l'Epita (LRDE).
|
||||
// Copyright (C) 2013, 2014, 2019 Laboratoire de Recherche et
|
||||
// Developpement de l'Epita (LRDE).
|
||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
|
|
@ -79,19 +79,7 @@ namespace spot
|
|||
///
|
||||
/// This algorithm is an adaptation to TBA of the one
|
||||
/// (which deals with accepting states) presented in
|
||||
///
|
||||
/** \verbatim
|
||||
Article{ courcoubetis.92.fmsd,
|
||||
author = {Costas Courcoubetis and Moshe Y. Vardi and Pierre
|
||||
Wolper and Mihalis Yannakakis},
|
||||
title = {Memory-Efficient Algorithm for the Verification of
|
||||
Temporal Properties},
|
||||
journal = {Formal Methods in System Design},
|
||||
pages = {275--288},
|
||||
year = {1992},
|
||||
volume = {1}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite courcoubetis.92.fmsd .
|
||||
///
|
||||
/// \bug The name is misleading. Magic-search is the algorithm
|
||||
/// from \c godefroid.93.pstv, not \c courcoubetis.92.fmsd.
|
||||
|
|
@ -106,16 +94,7 @@ namespace spot
|
|||
///
|
||||
/// During the visit of \a a, the returned checker does not store explicitely
|
||||
/// the traversed states but uses the bit-state hashing technic presented in:
|
||||
///
|
||||
/** \verbatim
|
||||
@book{Holzmann91,
|
||||
author = {G.J. Holzmann},
|
||||
title = {Design and Validation of Computer Protocols},
|
||||
publisher = {Prentice-Hall},
|
||||
address = {Englewood Cliffs, New Jersey},
|
||||
year = {1991}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite Holzmann.91.book.
|
||||
///
|
||||
/// Consequently, the detection of an acceptence cycle is not ensured.
|
||||
///
|
||||
|
|
|
|||
|
|
@ -36,21 +36,7 @@ namespace spot
|
|||
/// determinized and minimized using the standard DFA construction
|
||||
/// as if all states were accepting states.
|
||||
///
|
||||
/// For more detail about monitors, see the following paper:
|
||||
/** \verbatim
|
||||
@InProceedings{ tabakov.10.rv,
|
||||
author = {Deian Tabakov and Moshe Y. Vardi},
|
||||
title = {Optimized Temporal Monitors for SystemC{$^*$}},
|
||||
booktitle = {Proceedings of the 10th International Conferance
|
||||
on Runtime Verification},
|
||||
pages = {436--451},
|
||||
year = 2010,
|
||||
volume = {6418},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
month = nov,
|
||||
publisher = {Spring-Verlag}
|
||||
}
|
||||
\endverbatim */
|
||||
/// For more detail about monitors, see \cite tabakov.10.rv .
|
||||
/// (Note: although the above paper uses Spot, this function did not
|
||||
/// exist in Spot at that time.)
|
||||
///
|
||||
|
|
@ -75,24 +61,7 @@ namespace spot
|
|||
///
|
||||
/// The construction is inspired by the following paper, however we
|
||||
/// guarantee that the output language is a subsets of the original
|
||||
/// language while they don't.
|
||||
/** \verbatim
|
||||
@InProceedings{ dax.07.atva,
|
||||
author = {Christian Dax and Jochen Eisinger and Felix Klaedtke},
|
||||
title = {Mechanizing the Powerset Construction for Restricted
|
||||
Classes of {$\omega$}-Automata},
|
||||
year = 2007,
|
||||
series = {Lecture Notes in Computer Science},
|
||||
publisher = {Springer-Verlag},
|
||||
volume = 4762,
|
||||
booktitle = {Proceedings of the 5th International Symposium on
|
||||
Automated Technology for Verification and Analysis
|
||||
(ATVA'07)},
|
||||
editor = {Kedar S. Namjoshi and Tomohiro Yoneda and Teruo Higashino
|
||||
and Yoshio Okamura},
|
||||
month = oct
|
||||
}
|
||||
\endverbatim */
|
||||
/// language while they don't. \cite dax.07.atva
|
||||
///
|
||||
/// If an \a output_aborter is given, the determinization is aborted
|
||||
/// whenever it would produce an automaton that is too large. In
|
||||
|
|
@ -104,25 +73,7 @@ namespace spot
|
|||
///
|
||||
/// This function attempts to minimize the automaton \a aut_f using the
|
||||
/// algorithm implemented in the minimize_wdba() function, and presented
|
||||
/// by the following paper:
|
||||
///
|
||||
/** \verbatim
|
||||
@InProceedings{ dax.07.atva,
|
||||
author = {Christian Dax and Jochen Eisinger and Felix Klaedtke},
|
||||
title = {Mechanizing the Powerset Construction for Restricted
|
||||
Classes of {$\omega$}-Automata},
|
||||
year = 2007,
|
||||
series = {Lecture Notes in Computer Science},
|
||||
publisher = {Springer-Verlag},
|
||||
volume = 4762,
|
||||
booktitle = {Proceedings of the 5th International Symposium on
|
||||
Automated Technology for Verification and Analysis
|
||||
(ATVA'07)},
|
||||
editor = {Kedar S. Namjoshi and Tomohiro Yoneda and Teruo Higashino
|
||||
and Yoshio Okamura},
|
||||
month = oct
|
||||
}
|
||||
\endverbatim */
|
||||
/// by \cite dax.07.atva .
|
||||
///
|
||||
/// Because it is hard to determine if an automaton corresponds
|
||||
/// to an obligation property, you should supply either the formula
|
||||
|
|
|
|||
|
|
@ -140,17 +140,7 @@ namespace spot
|
|||
///
|
||||
/// This implements an algorithm derived from the following article,
|
||||
/// but generalized to all types of parity acceptance.
|
||||
/** \verbatim
|
||||
@Article{carton.99.ita,
|
||||
author = {Olivier Carton and Ram{\'o}n Maceiras},
|
||||
title = {Computing the {R}abin index of a parity automaton},
|
||||
journal = {Informatique théorique et applications},
|
||||
year = {1999},
|
||||
volume = {33},
|
||||
number = {6},
|
||||
pages = {495--505}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite carton.99.ita
|
||||
///
|
||||
/// The kind of parity (min/max) is preserved, but the style
|
||||
/// (odd/even) may be altered to reduce the number of colors used.
|
||||
|
|
|
|||
|
|
@ -112,24 +112,8 @@ namespace spot
|
|||
/// determinized, and this procedure does not ensure that the
|
||||
/// produced automaton is equivalent to \a aut.
|
||||
///
|
||||
/// The construction is adapted from Section 3.2 of:
|
||||
/// \verbatim
|
||||
/// @InProceedings{ dax.07.atva,
|
||||
/// author = {Christian Dax and Jochen Eisinger and Felix Klaedtke},
|
||||
/// title = {Mechanizing the Powerset Construction for Restricted
|
||||
/// Classes of {$\omega$}-Automata},
|
||||
/// year = 2007,
|
||||
/// series = {Lecture Notes in Computer Science},
|
||||
/// publisher = {Springer-Verlag},
|
||||
/// volume = 4762,
|
||||
/// booktitle = {Proceedings of the 5th International Symposium on
|
||||
/// Automated Technology for Verification and Analysis
|
||||
/// (ATVA'07)},
|
||||
/// editor = {Kedar S. Namjoshi and Tomohiro Yoneda and Teruo Higashino
|
||||
/// and Yoshio Okamura},
|
||||
/// month = oct
|
||||
/// }
|
||||
/// \endverbatim
|
||||
/// The construction is adapted from Section 3.2 of
|
||||
/// \cite dax.07.atva
|
||||
/// only adapted to work on TBA rather than BA.
|
||||
///
|
||||
/// If \a threshold_states is non null, abort the construction
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2011, 2013, 2014, 2015 Laboratoire de Recherche et
|
||||
// Copyright (C) 2011, 2013-2015, 2019 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE).
|
||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
|
|
@ -55,21 +55,7 @@ namespace spot
|
|||
/// belongs to a single acceptance set.
|
||||
///
|
||||
/// This algorithms is adapted from the one in Fig 6.2 page 48 of
|
||||
/** \verbatim
|
||||
@TechReport{ tauriainen.00.a66,
|
||||
author = {Heikki Tauriainen},
|
||||
title = {Automated Testing of {B\"u}chi Automata Translators for
|
||||
{L}inear {T}emporal {L}ogic},
|
||||
address = {Espoo, Finland},
|
||||
institution = {Helsinki University of Technology, Laboratory for
|
||||
Theoretical Computer Science},
|
||||
number = {A66},
|
||||
year = {2000},
|
||||
url = {http://citeseer.nj.nec.com/tauriainen00automated.html},
|
||||
type = {Research Report},
|
||||
note = {Reprint of Master's thesis}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite tauriainen.00.tr .
|
||||
///
|
||||
/// Although the intent is similar, there are some differences
|
||||
/// between the above published algorithm and this implementation.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Developpement
|
||||
// de l'Epita (LRDE).
|
||||
// Copyright (C) 2013, 2014, 2019 Laboratoire de Recherche et
|
||||
// Developpement de l'Epita (LRDE).
|
||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6
|
||||
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||
// Pierre et Marie Curie.
|
||||
|
|
@ -84,19 +84,7 @@ namespace spot
|
|||
\endverbatim */
|
||||
///
|
||||
/// It is an adaptation to TBA of the one presented in
|
||||
/** \verbatim
|
||||
@techreport{SE04,
|
||||
author = {Stefan Schwoon and Javier Esparza},
|
||||
institution = {Universit{\"a}t Stuttgart, Fakult\"at Informatik,
|
||||
Elektrotechnik und Informationstechnik},
|
||||
month = {November},
|
||||
number = {2004/06},
|
||||
title = {A Note on On-The-Fly Verification Algorithms},
|
||||
year = {2004},
|
||||
url =
|
||||
{http://www.fmi.uni-stuttgart.de/szs/publications/info/schwoosn.SE04.shtml}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite schwoon.04.tr .
|
||||
///
|
||||
/// \sa spot::explicit_magic_search
|
||||
///
|
||||
|
|
@ -109,17 +97,8 @@ namespace spot
|
|||
/// it is a TBA).
|
||||
///
|
||||
/// During the visit of \a a, the returned checker does not store explicitely
|
||||
/// the traversed states but uses the bit-state hashing technic presented in:
|
||||
///
|
||||
/** \verbatim
|
||||
@book{Holzmann91,
|
||||
author = {G.J. Holzmann},
|
||||
title = {Design and Validation of Computer Protocols},
|
||||
publisher = {Prentice-Hall},
|
||||
address = {Englewood Cliffs, New Jersey},
|
||||
year = {1991}
|
||||
}
|
||||
\endverbatim */
|
||||
/// the traversed states but uses the bit-state hashing technic presented in
|
||||
/// \cite holzmann.91.book
|
||||
///
|
||||
/// Consequently, the detection of an acceptence cycle is not ensured.
|
||||
///
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2012, 2013, 2014, 2015, 2017 Laboratoire de Recherche et
|
||||
// Copyright (C) 2012-2015, 2017, 2019 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -33,24 +33,7 @@ namespace spot
|
|||
/// When the suffixes (letter and acceptance conditions) reachable
|
||||
/// from one state are included in the suffixes seen by another one,
|
||||
/// the former state can be merged into the latter. The algorithm is
|
||||
/// based on the following paper, but generalized to handle TωA
|
||||
/// directly.
|
||||
///
|
||||
/** \verbatim
|
||||
@InProceedings{ etessami.00.concur,
|
||||
author = {Kousha Etessami and Gerard J. Holzmann},
|
||||
title = {Optimizing {B\"u}chi Automata},
|
||||
booktitle = {Proceedings of the 11th International Conference on
|
||||
Concurrency Theory (Concur'00)},
|
||||
pages = {153--167},
|
||||
year = {2000},
|
||||
editor = {C. Palamidessi},
|
||||
volume = {1877},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
address = {Pennsylvania, USA},
|
||||
publisher = {Springer-Verlag}
|
||||
}
|
||||
\endverbatim */
|
||||
/// described in \cite babiak.13.spin .
|
||||
///
|
||||
/// Our reconstruction of the quotient automaton based on this
|
||||
/// suffix-inclusion relation will also improve determinism.
|
||||
|
|
@ -87,24 +70,7 @@ namespace spot
|
|||
///
|
||||
/// When the prefixes (letter and acceptance conditions) leading to
|
||||
/// one state are included in the prefixes leading to one, the former
|
||||
/// state can be merged into the latter.
|
||||
///
|
||||
/// Reverse simulation is discussed in the following paper,
|
||||
/// but generalized to handle TωA directly.
|
||||
/** \verbatim
|
||||
@InProceedings{ somenzi.00.cav,
|
||||
author = {Fabio Somenzi and Roderick Bloem},
|
||||
title = {Efficient {B\"u}chi Automata for {LTL} Formul{\ae}},
|
||||
booktitle = {Proceedings of the 12th International Conference on
|
||||
Computer Aided Verification (CAV'00)},
|
||||
pages = {247--263},
|
||||
year = {2000},
|
||||
volume = {1855},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
address = {Chicago, Illinois, USA},
|
||||
publisher = {Springer-Verlag}
|
||||
}
|
||||
\endverbatim */
|
||||
/// state can be merged into the latter. \cite babiak.13.spin .
|
||||
///
|
||||
/// Our reconstruction of the quotient automaton based on this
|
||||
/// prefix-inclusion relation will also improve codeterminism.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018 Laboratoire
|
||||
// de Recherche et Développement de l'Epita (LRDE)
|
||||
// Copyright (C) 2010-2011, 2013-2019 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE)
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
//
|
||||
|
|
@ -156,29 +156,10 @@ namespace spot
|
|||
/// an incorrect SCC number is supplied.
|
||||
///
|
||||
/// The definition are basically those used in the following paper,
|
||||
/// except that we extra the "inherently weak" part instead of the
|
||||
/// except that we extract the "inherently weak" part instead of the
|
||||
/// weak part because we can now test for inherent weakness
|
||||
/// efficiently enough (not enumerating all cycles as suggested in
|
||||
/// the paper).
|
||||
/** \verbatim
|
||||
@inproceedings{renault.13.tacas,
|
||||
author = {Etienne Renault and Alexandre Duret-Lutz and Fabrice
|
||||
Kordon and Denis Poitrenaud},
|
||||
title = {Strength-Based Decomposition of the Property {B\"u}chi
|
||||
Automaton for Faster Model Checking},
|
||||
booktitle = {Proceedings of the 19th International Conference on Tools
|
||||
and Algorithms for the Construction and Analysis of Systems
|
||||
(TACAS'13)},
|
||||
editor = {Nir Piterman and Scott A. Smolka},
|
||||
year = {2013},
|
||||
month = mar,
|
||||
pages = {580--593},
|
||||
publisher = {Springer},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = {7795},
|
||||
doi = {10.1007/978-3-642-36742-7_42}
|
||||
}
|
||||
\endverbatim */
|
||||
/// the paper). \cite renault.13.tacas
|
||||
///
|
||||
/// \param aut the automaton to decompose
|
||||
/// \param keep a string specifying the strengths/SCCs to keep
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2014-2017 Laboratoire de Recherche
|
||||
// Copyright (C) 2014-2017, 2019 Laboratoire de Recherche
|
||||
// et Développement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -30,22 +30,7 @@ namespace spot
|
|||
///
|
||||
/// Any letter that enters a state will spawn a copy of this state
|
||||
/// with a self-loop using the same letter. For more details
|
||||
/// about this function, see
|
||||
/** \verbatim
|
||||
@InProceedings{ michaud.15.spin,
|
||||
author = {Thibaud Michaud and Alexandre Duret-Lutz},
|
||||
title = {Practical Stutter-Invariance Checks for
|
||||
{$\omega$}-Regular Languages},
|
||||
booktitle = {Proceedings of the 22th International SPIN
|
||||
Symposium on Model Checking of Software (SPIN'15)},
|
||||
year = 2015,
|
||||
pages = {84--101},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = 9232,
|
||||
publisher = {Springer},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
/// about this function, see \cite michaud.15.spin .
|
||||
SPOT_API twa_graph_ptr
|
||||
sl(const_twa_graph_ptr aut);
|
||||
|
||||
|
|
@ -55,22 +40,7 @@ namespace spot
|
|||
///
|
||||
/// For any transition (s,d) labeled by a letter ℓ, we add a state x
|
||||
/// and three transitions (s,x), (x,x), (x,d) all labeled by ℓ.
|
||||
/// For more details about this function, see
|
||||
/** \verbatim
|
||||
@InProceedings{ michaud.15.spin,
|
||||
author = {Thibaud Michaud and Alexandre Duret-Lutz},
|
||||
title = {Practical Stutter-Invariance Checks for
|
||||
{$\omega$}-Regular Languages},
|
||||
booktitle = {Proceedings of the 22th International SPIN
|
||||
Symposium on Model Checking of Software (SPIN'15)},
|
||||
year = 2015,
|
||||
pages = {84--101},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = 9232,
|
||||
publisher = {Springer},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
/// For more details about this function, see \cite michaud.15.spin .
|
||||
///
|
||||
/// The inplace version of the function modifies the input
|
||||
/// automaton.
|
||||
|
|
@ -89,23 +59,7 @@ namespace spot
|
|||
/// a transition labeled by B, and (y,z) is a transition labeled by C,
|
||||
/// we add a transition (x,z) labeled by B∧C.
|
||||
///
|
||||
/// For more details about this function, see
|
||||
/** \verbatim
|
||||
@InProceedings{ michaud.15.spin,
|
||||
author = {Thibaud Michaud and Alexandre Duret-Lutz},
|
||||
title = {Practical Stutter-Invariance Checks for
|
||||
{$\omega$}-Regular Languages},
|
||||
booktitle = {Proceedings of the 22th International SPIN
|
||||
Symposium on Model Checking of Software (SPIN'15)},
|
||||
year = 2015,
|
||||
pages = {84--101},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = 9232,
|
||||
publisher = {Springer},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
///
|
||||
/// For more details about this function, see \cite michaud.15.spin .
|
||||
///
|
||||
/// The inplace version of the function modifies the input
|
||||
/// automaton.
|
||||
|
|
@ -133,22 +87,7 @@ namespace spot
|
|||
/// The prop_stutter_invariant() property of \a aut_f is set as a
|
||||
/// side-effect.
|
||||
///
|
||||
/// For more details about this function, see
|
||||
/** \verbatim
|
||||
@InProceedings{ michaud.15.spin,
|
||||
author = {Thibaud Michaud and Alexandre Duret-Lutz},
|
||||
title = {Practical Stutter-Invariance Checks for
|
||||
{$\omega$}-Regular Languages},
|
||||
booktitle = {Proceedings of the 22th International SPIN
|
||||
Symposium on Model Checking of Software (SPIN'15)},
|
||||
year = 2015,
|
||||
pages = {84--101},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = 9232,
|
||||
publisher = {Springer},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
/// For more details about this function, see \cite michaud.15.spin .
|
||||
SPOT_API bool
|
||||
is_stutter_invariant(formula f, twa_graph_ptr aut_f = nullptr);
|
||||
|
||||
|
|
@ -164,22 +103,7 @@ namespace spot
|
|||
/// The prop_stutter_invariant() property of \a aut_f is set as a
|
||||
/// side-effect.
|
||||
///
|
||||
/// For more details about this function, see
|
||||
/** \verbatim
|
||||
@InProceedings{ michaud.15.spin,
|
||||
author = {Thibaud Michaud and Alexandre Duret-Lutz},
|
||||
title = {Practical Stutter-Invariance Checks for
|
||||
{$\omega$}-Regular Languages},
|
||||
booktitle = {Proceedings of the 22th International SPIN
|
||||
Symposium on Model Checking of Software (SPIN'15)},
|
||||
year = 2015,
|
||||
pages = {84--101},
|
||||
series = {Lecture Notes in Computer Science},
|
||||
volume = 9232,
|
||||
publisher = {Springer},
|
||||
month = aug
|
||||
}
|
||||
\endverbatim */
|
||||
/// For more details about this function, see \cite michaud.15.spin .
|
||||
SPOT_API bool
|
||||
is_stutter_invariant(twa_graph_ptr aut_f,
|
||||
const_twa_graph_ptr aut_nf = nullptr,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement de
|
||||
// Copyright (C) 2013, 2014, 2019 Laboratoire de Recherche et Développement de
|
||||
// l'Epita (LRDE).
|
||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
|
|
@ -75,25 +75,7 @@ namespace spot
|
|||
end;
|
||||
\endverbatim */
|
||||
///
|
||||
/// This algorithm is the one presented in
|
||||
///
|
||||
/** \verbatim
|
||||
@techreport{HUT-TCS-A83,
|
||||
address = {Espoo, Finland},
|
||||
author = {Heikki Tauriainen},
|
||||
institution = {Helsinki University of Technology, Laboratory for
|
||||
Theoretical Computer Science},
|
||||
month = {December},
|
||||
number = {A83},
|
||||
pages = {132},
|
||||
title = {On Translating Linear Temporal Logic into Alternating and
|
||||
Nondeterministic Automata},
|
||||
type = {Research Report},
|
||||
year = {2003},
|
||||
url = {http://www.tcs.hut.fi/Publications/info/bibdb.HUT-TCS-A83.shtml}
|
||||
}
|
||||
\endverbatim */
|
||||
///
|
||||
/// This algorithm is the one presented in \cite tauriainen.03.tr .
|
||||
SPOT_API emptiness_check_ptr
|
||||
explicit_tau03_search(const const_twa_ptr& a, option_map o = option_map());
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2015, 2016, 2018 Laboratoire de Recherche et Développement
|
||||
// de l'Epita.
|
||||
// Copyright (C) 2015-2016, 2018-2019 Laboratoire de Recherche et
|
||||
// Développement de l'Epita.
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
//
|
||||
|
|
@ -87,18 +87,7 @@ namespace spot
|
|||
/// \brief Converts any DNF acceptance condition into Streett-like.
|
||||
///
|
||||
/// This function is an optimized version of the construction described
|
||||
/// by Lemma 4 and 5 of the paper below.
|
||||
/** \verbatim
|
||||
@Article{boker.2011.fossacs,
|
||||
author = {Udi Boker and Orna Kupferman},
|
||||
title = {Co-Büching Them All},
|
||||
booktitle = {Foundations of Software Science and Computational
|
||||
Structures - 14th International Conference, FOSSACS 2011}
|
||||
year = {2011},
|
||||
pages = {184--198},
|
||||
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
|
||||
}
|
||||
\endverbatim */
|
||||
/// by Lemma 4 and 5 of \cite boker.2011.fossacs .
|
||||
///
|
||||
/// In the described construction, as many copies as there are minterms in
|
||||
/// the acceptance condition are made and the union of all those copies is
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2017 Laboratoire de Recherche et Développement de
|
||||
// Copyright (C) 2017, 2019 Laboratoire de Recherche et Développement de
|
||||
// l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -31,30 +31,9 @@ namespace spot
|
|||
/// automaton is already weak, it will simply be copied.
|
||||
///
|
||||
/// For details about the algorithm used, see the following papers:
|
||||
/** \verbatim
|
||||
@article{kupferman.01.tocl,
|
||||
author = {Orna Kupferman and Moshe Y. Vardi},
|
||||
title = {Weak alternating automata are not that weak},
|
||||
journal = {ACM Transactions on Computational Logic (TOCL)},
|
||||
month = {July},
|
||||
year = 2001,
|
||||
pages = {408--429},
|
||||
volume = {2},
|
||||
number = {3},
|
||||
publisher = {ACM New York, NY, USA}
|
||||
}
|
||||
@article{kupferman.05.tcs,
|
||||
author = {Orna Kupferman and Moshe Y. Vardi},
|
||||
title = {From complementation to certification},
|
||||
journal = {Theoretical Computer Science},
|
||||
month = {November},
|
||||
year = 2005,
|
||||
pages = {83--100},
|
||||
volume = {345},
|
||||
number = {1},
|
||||
publisher = {Elsevier}
|
||||
}
|
||||
\endverbatim */
|
||||
/// \cite kupferman.01.tocl ,
|
||||
/// \cite kupferman.05.tcs .
|
||||
///
|
||||
/// Although at the end of the above paper there is a hint at an optimization
|
||||
/// that greatly reduces the number of transition in the resulting automaton,
|
||||
/// but in return makes the run of remove_alternation algorithm way slower.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue