mCRL2
|
The main LTS namespace. More...
Namespaces | |
namespace | detail |
A base class for the lts_dot labelled transition system. | |
Classes | |
class | action_label_lts |
A class containing the values for action labels for the .lts format. More... | |
class | action_label_string |
This class contains strings to be used as values for action labels in lts's. More... | |
struct | fsm_writer |
class | lts |
A class that contains a labelled transition system. More... | |
class | lts_aut_builder |
class | lts_aut_disk_builder |
class | lts_aut_t |
A simple labelled transition format with only strings as action labels. More... | |
struct | lts_builder |
class | lts_default_base |
class | lts_dot_builder |
class | lts_dot_t |
A class to contain labelled transition systems in graphviz format. More... | |
class | lts_fsm_builder |
class | lts_fsm_t |
The class lts_fsm_t contains labelled transition systems in .fsm format. More... | |
class | lts_lts_builder |
class | lts_lts_disk_builder |
class | lts_lts_t |
This class contains labelled transition systems in .lts format. More... | |
class | lts_none_builder |
class | probabilistic_lts |
A class that contains a labelled transition system. More... | |
class | probabilistic_lts_aut_t |
A simple labelled transition format with only strings as action labels. More... | |
class | probabilistic_lts_dot_t |
A class to contain labelled transition systems in graphviz format. More... | |
class | probabilistic_lts_fsm_t |
The class lts_fsm_t contains labelled transition systems in .fsm format. More... | |
class | probabilistic_lts_lts_t |
This class contains probabilistic labelled transition systems in .lts format. More... | |
class | probabilistic_state |
A class that contains a probabilistic state. More... | |
struct | refinement_statistics |
class | signature |
Base class for signature computation. More... | |
class | signature_bisim |
Class for computing the signature for strong bisimulation. More... | |
class | signature_branching_bisim |
Class for computing the signature for branching bisimulation. More... | |
class | signature_divergence_preserving_branching_bisim |
Class for computing the signature for divergence preserving branching bisimulation. More... | |
class | sigref |
Signature based reductions for labelled transition systems. More... | |
class | state_label_dot |
This class contains labels for states in dot format. More... | |
class | state_label_empty |
Contains empty state values, used for lts's without state valued. More... | |
class | state_label_fsm |
This class contains state labels for the fsm format. More... | |
class | state_label_lts |
This class contains state labels for an labelled transition system in .lts format. More... | |
struct | state_space_generator |
class | stochastic_lts_aut_builder |
struct | stochastic_lts_builder |
class | stochastic_lts_fsm_builder |
class | stochastic_lts_lts_builder |
class | stochastic_lts_none_builder |
class | trace |
This class contains a trace consisting of a sequence of (timed) actions possibly with intermediate states. More... | |
class | transition |
A class containing triples, source label and target representing transitions. More... | |
class | tree_set_store |
Typedefs | |
typedef std::pair< transition::size_type, transition::size_type > | outgoing_pair_t |
Type for exploring transitions per state. | |
typedef detail::indexed_sorted_vector_for_transitions< outgoing_pair_t > | outgoing_transitions_per_state_t |
typedef std::multimap< std::pair< transition::size_type, transition::size_type >, transition::size_type > | outgoing_transitions_per_state_action_t |
Type for exploring transitions per state and action. | |
typedef std::set< std::pair< std::size_t, std::size_t > > | signature_t |
A signature is a pair of an action label and a block. | |
Functions | |
std::string | pp (const action_label_string &l) |
template<typename T > | |
void | report_statistics (refinement_statistics< T > &stats) |
Print a message to debugging containing information about the given statistics. | |
template<typename LTS_TYPE > | |
std::pair< std::size_t, bool > | reduce (LTS_TYPE <s, const bool weak_reduction, const bool preserve_divergence, std::size_t l2_init) |
Preprocess the LTS for destructive refinement checking. | |
template<class LTS_TYPE , class COUNTER_EXAMPLE_CONSTRUCTOR = detail::dummy_counter_example_constructor> | |
bool | destructive_refinement_checker (LTS_TYPE &l1, LTS_TYPE &l2, const refinement_type refinement, const bool weak_reduction, const lps::exploration_strategy strategy, const bool preprocess=true, COUNTER_EXAMPLE_CONSTRUCTOR generate_counter_example=detail::dummy_counter_example_constructor()) |
This function checks using algorithms in the paper mentioned above whether transition system l1 is included in transition system l2, in the sense of trace inclusions, failures inclusion and divergence failures inclusion. | |
template<class LTS_TYPE > | |
void | scc_reduce (LTS_TYPE &l, const bool preserve_divergence_loops=false) |
lps::specification | transform_lts2lps (const lts_lts_t &l) |
transform an lts in lts format into a linear process. | |
lps::specification | transform_lts2lps (const lts_aut_t &l1, const data_specification &data, const process::action_label_list &action_labels, const variable_list &process_parameters) |
transform an lts in aut format into a linear process. | |
lps::specification | transform_lts2lps (const lts_fsm_t &l1, const data_specification &data, const process::action_label_list &action_labels, const variable_list &process_parameters) |
transform an lts in fsm format into a linear process. | |
template<class LTS_TYPE > | |
void | reduce (LTS_TYPE &l, lts_equivalence eq) |
Applies a reduction algorithm to this LTS. | |
template<class LTS_TYPE > | |
bool | destructive_compare (LTS_TYPE &l1, LTS_TYPE &l2, const lts_equivalence eq, const bool generate_counter_examples=false, const std::string &counter_example_file=std::string(), const bool structured_output=false) |
Checks whether this LTS is equivalent to another LTS. | |
template<class LTS_TYPE > | |
bool | compare (const LTS_TYPE &l1, const LTS_TYPE &l2, const lts_equivalence eq, const bool generate_counter_examples=false, const std::string &counter_example_file="", const bool structured_output=false) |
Checks whether this LTS is equivalent to another LTS. | |
template<class LTS_TYPE > | |
bool | destructive_compare (LTS_TYPE &l1, LTS_TYPE &l2, const lts_preorder pre, const bool generate_counter_example, const std::string &counter_example_file="", const bool structured_output=false, const lps::exploration_strategy strategy=lps::es_breadth, const bool preprocess=true) |
Checks whether this LTS is smaller than another LTS according to a preorder. | |
template<class LTS_TYPE > | |
bool | compare (const LTS_TYPE &l1, const LTS_TYPE &l2, const lts_preorder pre, const bool generate_counter_example, const std::string &counter_example_file="", const bool structured_output=false, const lps::exploration_strategy strategy=lps::es_breadth, const bool preprocess=true) |
Checks whether this LTS is smaller than another LTS according to a preorder. | |
template<class LTS_TYPE > | |
void | determinise (LTS_TYPE &l) |
Determinises this LTS. | |
template<class SL , class AL , class BASE > | |
bool | reachability_check (lts< SL, AL, BASE > &l, bool remove_unreachable=false) |
Checks whether all states in this LTS are reachable from the initial state and remove unreachable states if required. | |
template<class SL , class AL , class PROBABILISTIC_STATE , class BASE > | |
bool | reachability_check (probabilistic_lts< SL, AL, PROBABILISTIC_STATE, BASE > &l, bool remove_unreachable=false) |
Checks whether all states in a probabilistic LTS are reachable from the initial state and remove unreachable states if required. | |
template<class LTS_TYPE > | |
bool | is_deterministic (const LTS_TYPE &l) |
Checks whether this LTS is deterministic. | |
template<class LTS_TYPE > | |
void | merge (LTS_TYPE &l1, const LTS_TYPE &l2) |
Merge the second lts into the first lts. | |
lps::state | remove_time_stamp (const lps::state &s) |
Removes the last element from state s. | |
std::unique_ptr< lts_builder > | create_lts_builder (const lps::specification &lpsspec, const lps::explorer_options &options, lts_type output_format, const std::string &output_filename="") |
std::string | pp (const state_label_dot &l) |
Pretty print function for a state_label_dot. Only prints the label field. | |
lts_equivalence | parse_equivalence (std::string const &s) |
Determines the equivalence from a string. | |
std::istream & | operator>> (std::istream &is, lts_equivalence &eq) |
std::string | print_equivalence (const lts_equivalence eq) |
Gives the short name of an equivalence. | |
std::ostream & | operator<< (std::ostream &os, const lts_equivalence eq) |
std::string | description (const lts_equivalence eq) |
Gives a description of an equivalence. | |
std::string | pp (const state_label_fsm &label) |
Pretty print an fsm state label. | |
template<class LTS_TYPE > | |
void | load_lts (LTS_TYPE &result, const std::string &infilename, lts_type type, const data_file_type_t extra_data_file_type=none_e, const std::string &extra_data_file_name="") |
Loads an lts of the indicated type, transforms it to an lts of the form lts_lts_t using the additional data parameters. | |
void | load_lts_as_fsm_file (const std::string &path, lts_fsm_t &l) |
Read a labelled transition system and return it in fsm format. | |
atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, lts_lts_t <s) |
Read a (probabilistic) LTS from the given stream. | |
atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, probabilistic_lts_lts_t <s) |
atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const lts_lts_t <s) |
Write a (probabilistic) LTS to the given stream at once. | |
atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const probabilistic_lts_lts_t <s) |
void | write_lts_header (atermpp::aterm_ostream &stream, const data::data_specification &data, const data::variable_list ¶meters, const process::action_label_list &action_labels) |
Writes the start of an LTS stream. | |
void | write_transition (atermpp::aterm_ostream &stream, std::size_t from, const lps::multi_action &label, std::size_t to) |
Write a transition to the LTS stream. | |
void | write_transition (atermpp::aterm_ostream &stream, std::size_t from, const lps::multi_action &label, const probabilistic_lts_lts_t::probabilistic_state_t &to) |
void | write_state_label (atermpp::aterm_ostream &stream, const state_label_lts &label) |
Write a state label to the LTS stream. | |
void | write_initial_state (atermpp::aterm_ostream &stream, std::size_t index) |
Write the initial state to the LTS stream. | |
std::string | pp (const state_label_lts &label) |
Pretty print a state value of this LTS. | |
std::string | pp (const action_label_lts &l) |
Print the action label to string. | |
action_label_lts | parse_lts_action (const std::string &multi_action_string, const data::data_specification &data_spec, lps::multi_action_type_checker &typechecker) |
Parse a string into an action label. | |
lts_preorder | parse_preorder (std::string const &s) |
Determines the preorder from a string. | |
std::istream & | operator>> (std::istream &is, lts_preorder &eq) |
std::string | print_preorder (const lts_preorder pre) |
Gives the short name of a preorder. | |
std::ostream & | operator<< (std::ostream &os, const lts_preorder pre) |
std::string | description (const lts_preorder pre) |
Gives a description of a preorder. | |
lts_probabilistic_equivalence | parse_probabilistic_equivalence (const std::string &s) |
Determines the equivalence from a string. | |
std::istream & | operator>> (std::istream &is, lts_probabilistic_equivalence &eq) |
std::string | print_probabilistic_equivalence (const lts_probabilistic_equivalence &eq) |
Gives the short name of an equivalence. | |
std::ostream & | operator<< (std::ostream &os, const lts_probabilistic_equivalence &eq) |
std::string | description (const lts_probabilistic_equivalence &eq) |
Gives a description of an equivalence. | |
lts_probabilistic_preorder | parse_probabilistic_preorder (std::string const &s) |
Determines the probabilistic preorder from a string. | |
std::istream & | operator>> (std::istream &is, lts_probabilistic_preorder &eq) |
std::string | print_probabilistic_preorder (const lts_probabilistic_preorder &pre) |
Gives the short name of an preorder. | |
std::ostream & | operator<< (std::ostream &os, const lts_probabilistic_preorder &pre) |
std::string | description (const lts_probabilistic_preorder &pre) |
Gives a description of an preorder. | |
void | sort_transitions (std::vector< transition > &transitions, const std::set< transition::size_type > &hidden_label_set, transition_sort_style ts=src_lbl_tgt) |
Sorts the transitions using a sort style. | |
std::string | ptr (const transition t) |
Sorts the transitions on labels. Action with the tau label are put first. | |
void | group_transitions_on_label (const std::vector< transition >::iterator begin, const std::vector< transition >::iterator end, std::function< std::size_t(const transition &)> get_label, const std::size_t tau_label_index, std::vector< std::pair< std::size_t, std::size_t > > &count_sum_transitions_per_action, std::vector< std::size_t > &todo_stack) |
void | group_transitions_on_label (std::vector< transition > &transitions, std::function< std::size_t(const transition &)> get_label, const std::size_t number_of_labels, const std::size_t tau_label_index) |
void | group_transitions_on_label_tgt (std::vector< transition > &transitions, const std::size_t number_of_labels, const std::size_t tau_label_index, const std::size_t number_of_states) |
void | sort_transitions (std::vector< transition > &transitions, transition_sort_style ts=src_lbl_tgt) |
Sorts the transitions using a sort style. | |
std::size_t | label (const outgoing_pair_t &p) |
Label of a pair of a label and target state. | |
std::size_t | to (const outgoing_pair_t &p) |
Target state of a label state pair. | |
std::size_t | from (const outgoing_transitions_per_state_action_t::const_iterator &i) |
From state of an iterator exploring transitions per outgoing state and action. | |
std::size_t | label (const outgoing_transitions_per_state_action_t::const_iterator &i) |
Label of an iterator exploring transitions per outgoing state and action. | |
std::size_t | to (const outgoing_transitions_per_state_action_t::const_iterator &i) |
To state of an iterator exploring transitions per outgoing state and action. | |
outgoing_transitions_per_state_action_t | transitions_per_outgoing_state_action_pair (const std::vector< transition > &trans) |
Provide the transitions as a multimap accessible per from state and label. | |
outgoing_transitions_per_state_action_t | transitions_per_outgoing_state_action_pair (const std::vector< transition > &trans, const std::set< transition::size_type > &hide_label_set) |
Provide the transitions as a multimap accessible per from state and label. | |
outgoing_transitions_per_state_action_t | transitions_per_outgoing_state_action_pair_reversed (const std::vector< transition > &trans) |
Provide the transitions as a multimap accessible per from state and label, ordered backwardly. | |
outgoing_transitions_per_state_action_t | transitions_per_outgoing_state_action_pair_reversed (const std::vector< transition > &trans, const std::set< transition::size_type > &hide_label_set) |
Provide the transitions as a multimap accessible per from state and label, ordered backwardly. | |
void | parse_fsm_specification (std::istream &from, probabilistic_lts_fsm_t &result) |
void | parse_fsm_specification (const std::string &text, probabilistic_lts_fsm_t &result) |
template<class STATE , class PROBABILITY > | |
std::string | pp (const probabilistic_state< STATE, PROBABILITY > &l) |
template<class STATE , class PROBABILITY > | |
std::ostream & | operator<< (std::ostream &out, const probabilistic_state< STATE, PROBABILITY > &l) |
Pretty print to an outstream. | |
std::string | pp (const state_label_empty &) |
std::ostream & | operator<< (std::ostream &out, const lps::state &s) |
const lps::state & | first_state (const lps::state &s) |
const lps::state & | first_state (const lps::stochastic_state &s) |
std::unique_ptr< stochastic_lts_builder > | create_stochastic_lts_builder (const lps::stochastic_specification &lpsspec, const lps::explorer_options &options, lts_type output_format) |
atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const probabilistic_lts_lts_t::probabilistic_state_t &state) |
Converts a probabilistic state into an aterm that encodes it. | |
atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, probabilistic_lts_lts_t::probabilistic_state_t &state) |
Variables | |
static const std::size_t | const_tau_label_index =0 |
The main LTS namespace.
The namespace for traces.
This namespace contains all data structures and members of the LTS library.
The namespace trace contains all data structures and members of the trace library.
typedef std::pair<transition::size_type, transition::size_type> mcrl2::lts::outgoing_pair_t |
Type for exploring transitions per state.
Definition at line 593 of file lts_utilities.h.
typedef std::multimap<std::pair<transition::size_type, transition::size_type>, transition::size_type> mcrl2::lts::outgoing_transitions_per_state_action_t |
Type for exploring transitions per state and action.
Definition at line 614 of file lts_utilities.h.
typedef detail::indexed_sorted_vector_for_transitions< outgoing_pair_t > mcrl2::lts::outgoing_transitions_per_state_t |
Definition at line 595 of file lts_utilities.h.
typedef std::set<std::pair<std::size_t, std::size_t> > mcrl2::lts::signature_t |
Type for data files that contain extra information for an lts in .aut or .fsm format. Typically this is a data_specification (data_e), a linear process (lps_e) or an .mcrl2 file. The value none_e indicates that no information is available.
Enumerator | |
---|---|
none_e | |
data_e | |
lps_e | |
mcrl2_e |
LTS equivalence relations.
This enumerated type defines equivalence relations on LTSs. They can be used to reduce an LTS or decide whether two LTSs are equivalent.
Definition at line 33 of file lts_equivalence.h.
LTS preorder relations.
This enumerated type defines preorder relations on LTSs. They can be used to decide whether one LTS is behaviourally contained in another LTS.
Definition at line 31 of file lts_preorder.h.
LTS equivalence relations.
This enumerated type defines equivalence relations on LTSs. They can be used to reduce an LTS or decide whether two LTSs are equivalent.
Definition at line 31 of file lts_probabilistic_equivalence.h.
LTS preorder relations.
This enumerated type defines equivalence relations on LTSs. They can be used to reduce an LTS or decide whether two LTSs are equivalent.
Enumerator | |
---|---|
lts_probabilistic_pre_none | Unknown or no preorder |
Definition at line 136 of file lts_probabilistic_equivalence.h.
enum mcrl2::lts::lts_type |
The enumerated type lts_type contains an index for every type type of labelled transition system that is supported by the system.
Every type has an associated labelled transition format. E.g. for lts_lts the type of the lts is lts_lts_t. Similarly, lts_aut_t, etc. are available. Files in which the lts's are stored have the name file.lts, file.aut, etc.
Definition at line 36 of file lts_type.h.
|
strong |
Enumerator | |
---|---|
trace | |
failures | |
failures_divergence |
Definition at line 191 of file liblts_failures_refinement.h.
Transition sort styles.
This enumerated type defines sort styles for transitions. They can be used to sort the transitions of an LTS based on various criteria.
Definition at line 33 of file transition.h.
bool mcrl2::lts::compare | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
const lts_equivalence | eq, | ||
const bool | generate_counter_examples = false , |
||
const std::string & | counter_example_file = "" , |
||
const bool | structured_output = false |
||
) |
Checks whether this LTS is equivalent to another LTS.
The input labelled transition systems are duplicated in memory to carry out the comparison. When space efficiency is a concern, one can consider to use destructive_compare.
[in] | l1 | The first LTS to compare. |
[in] | l2 | The second LTS to compare. |
[in] | eq | The equivalence with respect to which the LTSs will be compared. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
true | if the LTSs are found to be equivalent. |
false | otherwise. |
Definition at line 850 of file lts_algorithm.h.
bool mcrl2::lts::compare | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
const lts_preorder | pre, | ||
const bool | generate_counter_example, | ||
const std::string & | counter_example_file = "" , |
||
const bool | structured_output = false , |
||
const lps::exploration_strategy | strategy = lps::es_breadth , |
||
const bool | preprocess = true |
||
) |
Checks whether this LTS is smaller than another LTS according to a preorder.
[in] | l1 | The first LTS to be compared. |
[in] | l2 | The second LTS to be compared. |
[in] | pre | The preorder with respect to which the LTSs will be compared. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
[in] | strategy | Choose breadth-first or depth-first for exploration strategy of the antichain algorithms. |
[in] | preprocess | Whether to allow preprocessing of the given LTSs. |
true | if this LTS is smaller than LTS l according to preorder pre. |
false | otherwise. |
Definition at line 865 of file lts_algorithm.h.
|
inline |
Definition at line 332 of file lts_builder.h.
|
inline |
Definition at line 308 of file stochastic_lts_builder.h.
|
inline |
Gives a description of an equivalence.
[in] | eq | The equivalence type. |
Definition at line 313 of file lts_equivalence.h.
|
inline |
Gives a description of a preorder.
[in] | pre | The preorder type. |
Definition at line 169 of file lts_preorder.h.
|
inline |
Gives a description of an equivalence.
[in] | eq | The equivalence type. |
Definition at line 116 of file lts_probabilistic_equivalence.h.
|
inline |
Gives a description of an preorder.
[in] | pre | The preorder type. |
Definition at line 206 of file lts_probabilistic_equivalence.h.
bool mcrl2::lts::destructive_compare | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const lts_equivalence | eq, | ||
const bool | generate_counter_examples = false , |
||
const std::string & | counter_example_file = std::string() , |
||
const bool | structured_output = false |
||
) |
Checks whether this LTS is equivalent to another LTS.
[in] | l1 | The first LTS that will be compared. |
[in] | l2 | The second LTS that will be compared. |
[in] | eq | The equivalence with respect to which the LTSs will be compared. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
true | if the LTSs are found to be equivalent. |
false | otherwise. |
Definition at line 69 of file lts_algorithm.h.
bool mcrl2::lts::destructive_compare | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const lts_preorder | pre, | ||
const bool | generate_counter_example, | ||
const std::string & | counter_example_file = "" , |
||
const bool | structured_output = false , |
||
const lps::exploration_strategy | strategy = lps::es_breadth , |
||
const bool | preprocess = true |
||
) |
Checks whether this LTS is smaller than another LTS according to a preorder.
[in] | l1 | The first LTS to be compared. |
[in] | l2 | The second LTS to be compared. |
[in] | pre | The preorder with respect to which the LTSs will be compared. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
[in] | strategy | Choose breadth-first or depth-first for exploration strategy of the antichain algorithms. |
[in] | preprocess | Whether to allow preprocessing of the given LTSs. |
true | if LTS l1 is smaller than LTS l2 according to preorder pre. |
false | otherwise. |
Definition at line 873 of file lts_algorithm.h.
bool mcrl2::lts::destructive_refinement_checker | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const refinement_type | refinement, | ||
const bool | weak_reduction, | ||
const lps::exploration_strategy | strategy, | ||
const bool | preprocess = true , |
||
COUNTER_EXAMPLE_CONSTRUCTOR | generate_counter_example = detail::dummy_counter_example_constructor() |
||
) |
This function checks using algorithms in the paper mentioned above whether transition system l1 is included in transition system l2, in the sense of trace inclusions, failures inclusion and divergence failures inclusion.
weak_reduction | Remove inert tau loops. |
strategy | Choose between breadth and depth first. |
preprocess | Uses (divergence preserving) branching bisimulation and tau scc reduction to reduce the input LTSs. |
generate_counter_example | If set, a labelled transition system is generated that can act as a counterexample. It consists of a trace, followed by outgoing transitions representing a refusal set. |
Definition at line 260 of file liblts_failures_refinement.h.
void mcrl2::lts::determinise | ( | LTS_TYPE & | l | ) |
Determinises this LTS.
Definition at line 1067 of file lts_algorithm.h.
|
inline |
Definition at line 28 of file state_space_generator.h.
|
inline |
Definition at line 34 of file state_space_generator.h.
|
inline |
From state of an iterator exploring transitions per outgoing state and action.
Definition at line 617 of file lts_utilities.h.
|
inline |
Definition at line 93 of file lts_utilities.h.
|
inline |
Definition at line 195 of file lts_utilities.h.
|
inline |
Definition at line 378 of file lts_utilities.h.
bool mcrl2::lts::is_deterministic | ( | const LTS_TYPE & | l | ) |
Checks whether this LTS is deterministic.
true | if this LTS is deterministic; |
false | otherwise. |
Definition at line 1000 of file lts_algorithm.h.
|
inline |
Label of a pair of a label and target state.
Definition at line 598 of file lts_utilities.h.
|
inline |
Label of an iterator exploring transitions per outgoing state and action.
Definition at line 623 of file lts_utilities.h.
|
inline |
Loads an lts of the indicated type, transforms it to an lts of the form lts_lts_t using the additional data parameters.
The file can refer to any file in lts, aut, fsm, or dot format. After reading it is is translated into .lts format. For this a file is read with the name extra_data_file, which is interpreted as a data specification if extra_data_file_type has type data_e, a linear process specification if it has value lps_e, and an mcrl2 file if it has value mcrl2_e.
[out] | result | The lts in which the transition system is put. |
[in] | infilename | The name of the file containing the lts. |
[in] | type | The type of the lts file, i.e. .lts, .fsm, .dot or .aut. |
[in] | extra_data_file_type | The type of the file containing extra information, such as a data specification. |
[in] | extra_data_file_name | The name of the file containing extra information. |
|
inline |
Read a labelled transition system and return it in fsm format.
The file can refer to any file in lts, aut, fsm, or dot format. After reading it is is attempted to translate it into fsm format.
[in] | path | A string with the name of the file. |
[out] | l | The lts in which the transition system is put. |
void mcrl2::lts::merge | ( | LTS_TYPE & | l1, |
const LTS_TYPE & | l2 | ||
) |
Merge the second lts into the first lts.
[in,out] | l1 | The transition system in which l2 is merged. |
[in] | l2 | The second transition system, which remains unchanged |
Definition at line 617 of file lts_algorithm.h.
atermpp::aterm_ostream & mcrl2::lts::operator<< | ( | atermpp::aterm_ostream & | stream, |
const lts_lts_t & | lts | ||
) |
Write a (probabilistic) LTS to the given stream at once.
Definition at line 439 of file liblts_lts.cpp.
atermpp::aterm_ostream & mcrl2::lts::operator<< | ( | atermpp::aterm_ostream & | stream, |
const probabilistic_lts_lts_t & | lts | ||
) |
Definition at line 445 of file liblts_lts.cpp.
atermpp::aterm_ostream & mcrl2::lts::operator<< | ( | atermpp::aterm_ostream & | stream, |
const probabilistic_lts_lts_t::probabilistic_state_t & | state | ||
) |
Converts a probabilistic state into an aterm that encodes it.
Definition at line 23 of file liblts_lts.cpp.
|
inline |
Definition at line 303 of file lts_equivalence.h.
|
inline |
Definition at line 158 of file lts_preorder.h.
|
inline |
Definition at line 106 of file lts_probabilistic_equivalence.h.
|
inline |
Definition at line 196 of file lts_probabilistic_equivalence.h.
|
inline |
Definition at line 22 of file state_space_generator.h.
|
inline |
Pretty print to an outstream.
Definition at line 356 of file probabilistic_state.h.
atermpp::aterm_istream & mcrl2::lts::operator>> | ( | atermpp::aterm_istream & | stream, |
lts_lts_t & | lts | ||
) |
Read a (probabilistic) LTS from the given stream.
Definition at line 427 of file liblts_lts.cpp.
atermpp::aterm_istream & mcrl2::lts::operator>> | ( | atermpp::aterm_istream & | stream, |
probabilistic_lts_lts_t & | lts | ||
) |
Definition at line 433 of file liblts_lts.cpp.
atermpp::aterm_istream & mcrl2::lts::operator>> | ( | atermpp::aterm_istream & | stream, |
probabilistic_lts_lts_t::probabilistic_state_t & | state | ||
) |
Definition at line 53 of file liblts_lts.cpp.
|
inline |
Definition at line 216 of file lts_equivalence.h.
|
inline |
Definition at line 107 of file lts_preorder.h.
|
inline |
Definition at line 69 of file lts_probabilistic_equivalence.h.
|
inline |
Definition at line 163 of file lts_probabilistic_equivalence.h.
|
inline |
Determines the equivalence from a string.
The following strings may be used:
[in] | s | The string specifying the equivalence. |
Definition at line 100 of file lts_equivalence.h.
|
inline |
|
inline |
|
inline |
Parse a string into an action label.
The string is typechecked against the data specification and list of declared actions. If parsing or type checking fails, an mcrl2::runtime_error is thrown.
[in] | multi_action_string | The string to be parsed. |
[in] | data_spec | The data specification used for parsing. |
[in] | act_decls | Action declarations. |
|
inline |
Determines the preorder from a string.
The following strings may be used:
[in] | s | The string specifying the preorder. |
Definition at line 57 of file lts_preorder.h.
|
inline |
Determines the equivalence from a string.
The following strings may be used:
[in] | s | The string specifying the equivalence. |
Definition at line 47 of file lts_probabilistic_equivalence.h.
|
inline |
Determines the probabilistic preorder from a string.
The following strings may be used:
[in] | s | The string specifying the equivalence. |
Definition at line 149 of file lts_probabilistic_equivalence.h.
|
inline |
|
inline |
Definition at line 193 of file action_label_string.h.
|
inline |
Definition at line 323 of file probabilistic_state.h.
|
inline |
Pretty print function for a state_label_dot. Only prints the label field.
|
inline |
Definition at line 57 of file state_label_empty.h.
|
inline |
|
inline |
Pretty print a state value of this LTS.
The label is printed as (t1,...,tn) if it consists of a single label. Otherwise the labels are printed with square brackets surrounding it.
[in] | label | The state value to pretty print. |
|
inline |
Gives the short name of an equivalence.
[in] | eq | The equivalence type. |
Definition at line 236 of file lts_equivalence.h.
|
inline |
Gives the short name of a preorder.
[in] | pre | The preorder type. |
Definition at line 128 of file lts_preorder.h.
|
inline |
Gives the short name of an equivalence.
[in] | eq | The equivalence type. |
Definition at line 89 of file lts_probabilistic_equivalence.h.
|
inline |
Gives the short name of an preorder.
[in] | pre | The preorder type. |
Definition at line 183 of file lts_probabilistic_equivalence.h.
|
inline |
Sorts the transitions on labels. Action with the tau label are put first.
This function is linear in time, but it uses that the labels have a limited range, i.e., it is also linear in time and space in the largest used index of a label. This function does not employ the hidden label set.
[in/out] | transitions A vector of transitions to be sorted. |
Definition at line 88 of file lts_utilities.h.
bool mcrl2::lts::reachability_check | ( | lts< SL, AL, BASE > & | l, |
bool | remove_unreachable = false |
||
) |
Checks whether all states in this LTS are reachable from the initial state and remove unreachable states if required.
Runs in O(num_states * num_transitions) time.
[in] | l | The LTS on which reachability is checked. |
[in] | remove_unreachable | Indicates whether all unreachable states should be removed from the LTS. This option does not influence the return value; the return value is with respect to the original LTS. |
true | if all states are reachable from the initial state; |
false | otherwise. |
Definition at line 341 of file lts_algorithm.h.
bool mcrl2::lts::reachability_check | ( | probabilistic_lts< SL, AL, PROBABILISTIC_STATE, BASE > & | l, |
bool | remove_unreachable = false |
||
) |
Checks whether all states in a probabilistic LTS are reachable from the initial state and remove unreachable states if required.
Runs in O(num_states * num_transitions) time.
[in] | l | The LTS on which reachability is checked. |
[in] | remove_unreachable | Indicates whether all unreachable states should be removed from the LTS. This option does not influence the return value; the return value is with respect to the original LTS. |
true | if all states are reachable from the initial state; |
false | otherwise. |
Definition at line 450 of file lts_algorithm.h.
void mcrl2::lts::reduce | ( | LTS_TYPE & | l, |
lts_equivalence | eq | ||
) |
Applies a reduction algorithm to this LTS.
[in] | l | A labelled transition system that must be reduced. |
[in] | eq | The equivalence with respect to which the LTS will be reduced. |
Definition at line 629 of file lts_algorithm.h.
std::pair< std::size_t, bool > mcrl2::lts::reduce | ( | LTS_TYPE & | lts, |
const bool | weak_reduction, | ||
const bool | preserve_divergence, | ||
std::size_t | l2_init | ||
) |
Preprocess the LTS for destructive refinement checking.
lts | The lts to preprocess. |
init | The initial state of the right LTS that was merged. |
Definition at line 226 of file liblts_failures_refinement.h.
|
inline |
Removes the last element from state s.
Definition at line 25 of file lts_builder.h.
void mcrl2::lts::report_statistics | ( | refinement_statistics< T > & | stats | ) |
Print a message to debugging containing information about the given statistics.
Definition at line 211 of file liblts_failures_refinement.h.
void mcrl2::lts::scc_reduce | ( | LTS_TYPE & | l, |
const bool | preserve_divergence_loops = false |
||
) |
Definition at line 362 of file liblts_scc.h.
|
inline |
Sorts the transitions using a sort style.
[in/out] | transitions A vector of transitions to be sorted. | |
[in] | hidden_label_set | A set that tells which actions are to be interpreted as being hidden. Sorting takes place after mapping hidden actions to zero. |
[in] | ts | The sort style to use. |
Definition at line 36 of file lts_utilities.h.
|
inline |
Sorts the transitions using a sort style.
[in/out] | transitions A vector of transitions to be sorted. | |
[in] | ts | The sort style to use. |
Definition at line 485 of file lts_utilities.h.
|
inline |
Target state of a label state pair.
Definition at line 604 of file lts_utilities.h.
|
inline |
To state of an iterator exploring transitions per outgoing state and action.
Definition at line 629 of file lts_utilities.h.
lps::specification mcrl2::lts::transform_lts2lps | ( | const lts_aut_t & | l1, |
const data_specification & | data, | ||
const process::action_label_list & | action_labels, | ||
const variable_list & | process_parameters | ||
) |
transform an lts in aut format into a linear process.
l1 | A labelled transition system in aut format. |
data | A separate data specification. |
action_labels | A list containing the action labels used in the lts. |
process_parameters | The process parameters of the current process. |
lps::specification mcrl2::lts::transform_lts2lps | ( | const lts_fsm_t & | l1, |
const data_specification & | data, | ||
const process::action_label_list & | action_labels, | ||
const variable_list & | process_parameters | ||
) |
transform an lts in fsm format into a linear process.
l1 | A labelled transition system in fsm format. |
data | A separate data specification. |
action_labels | A list containing the action labels used in the lts. |
process_parameters | The process parameters of the current process. XXXXX Is this needed???? |
lps::specification mcrl2::lts::transform_lts2lps | ( | const lts_lts_t & | l | ) |
|
inline |
Provide the transitions as a multimap accessible per from state and label.
Definition at line 635 of file lts_utilities.h.
|
inline |
Provide the transitions as a multimap accessible per from state and label.
Definition at line 647 of file lts_utilities.h.
|
inline |
Provide the transitions as a multimap accessible per from state and label, ordered backwardly.
Definition at line 661 of file lts_utilities.h.
|
inline |
Provide the transitions as a multimap accessible per from state and label, ordered backwardly.
Definition at line 673 of file lts_utilities.h.
void mcrl2::lts::write_initial_state | ( | atermpp::aterm_ostream & | stream, |
std::size_t | index | ||
) |
Write the initial state to the LTS stream.
Definition at line 496 of file liblts_lts.cpp.
void mcrl2::lts::write_lts_header | ( | atermpp::aterm_ostream & | stream, |
const data::data_specification & | data, | ||
const data::variable_list & | parameters, | ||
const process::action_label_list & | action_labels | ||
) |
Writes the start of an LTS stream.
Definition at line 451 of file liblts_lts.cpp.
void mcrl2::lts::write_state_label | ( | atermpp::aterm_ostream & | stream, |
const state_label_lts & | label | ||
) |
Write a state label to the LTS stream.
Definition at line 490 of file liblts_lts.cpp.
void mcrl2::lts::write_transition | ( | atermpp::aterm_ostream & | stream, |
std::size_t | from, | ||
const lps::multi_action & | label, | ||
const probabilistic_lts_lts_t::probabilistic_state_t & | to | ||
) |
Definition at line 474 of file liblts_lts.cpp.
void mcrl2::lts::write_transition | ( | atermpp::aterm_ostream & | stream, |
std::size_t | from, | ||
const lps::multi_action & | label, | ||
std::size_t | to | ||
) |
Write a transition to the LTS stream.
Definition at line 466 of file liblts_lts.cpp.
|
static |
Definition at line 27 of file transition.h.