|
| explorer (const Specification &lpsspec, const explorer_options &options_) |
|
| ~explorer ()=default |
|
const data::data_expression_list & | initial_state () const |
|
const data::rewriter & | get_rewriter () const |
|
std::list< transition > | out_edges (const state &s) |
|
std::list< transition > | out_edges (const state &s, const std::size_t summand_index) |
|
void | make_timed_state (state &result, const state &s, const data::data_expression &t) const |
|
state_type | make_state (const state &s) const |
|
const state_type & | make_state (const stochastic_state &s) const |
|
template<typename StateType , typename SummandSequence , typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename StartState = utilities::skip, typename FinishState = utilities::skip, typename DiscoverInitialState = utilities::skip> |
void | generate_state_space_thread (std::unique_ptr< todo_set > &todo, const std::size_t thread_index, std::atomic< std::size_t > &number_of_active_processes, std::atomic< std::size_t > &number_of_idle_processes, const SummandSequence ®ular_summands, const SummandSequence &confluent_summands, indexed_set_for_states_type &discovered, DiscoverState discover_state, ExamineTransition examine_transition, StartState start_state, FinishState finish_state, data::rewriter thread_rewr, data::mutable_indexed_substitution<> thread_sigma) |
|
template<typename StateType , typename SummandSequence , typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename StartState = utilities::skip, typename FinishState = utilities::skip, typename DiscoverInitialState = utilities::skip> |
void | generate_state_space (bool recursive, const StateType &s0, const SummandSequence ®ular_summands, const SummandSequence &confluent_summands, indexed_set_for_states_type &discovered, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), StartState start_state=StartState(), FinishState finish_state=FinishState(), DiscoverInitialState discover_initial_state=DiscoverInitialState()) |
|
template<typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename StartState = utilities::skip, typename FinishState = utilities::skip, typename DiscoverInitialState = utilities::skip> |
void | generate_state_space (bool recursive, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), StartState start_state=StartState(), FinishState finish_state=FinishState(), DiscoverInitialState discover_initial_state=DiscoverInitialState()) |
| Generates the state space, and reports all discovered states and transitions by means of callback functions.
|
|
std::vector< std::pair< lps::multi_action, state_type > > | generate_transitions (const state &d0, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator) |
| Generates outgoing transitions for a given state.
|
|
std::vector< std::pair< lps::multi_action, state_type > > | generate_transitions (const state &d0) |
| Generates outgoing transitions for a given state, using the global substitution, rewriter, enumerator and id_generator.
|
|
std::vector< std::pair< lps::multi_action, state > > | generate_transitions (const data::data_expression_list &init, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr) |
| Generates outgoing transitions for a given state.
|
|
std::vector< std::pair< lps::multi_action, state_type > > | generate_transitions (const data::data_expression_list &init, std::size_t i, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::data_expression &condition, state_type &d0, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator) |
| Generates outgoing transitions for a given state, reachable via the summand with index i.
|
|
template<typename SummandSequence , typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename TreeEdge = utilities::skip, typename BackEdge = utilities::skip, typename ForwardOrCrossEdge = utilities::skip, typename FinishState = utilities::skip> |
void | generate_state_space_dfs_recursive (const state &s0, std::unordered_set< state > gray, std::unordered_set< state > &discovered, const SummandSequence ®ular_summands, const SummandSequence &confluent_summands, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), TreeEdge tree_edge=TreeEdge(), BackEdge back_edge=BackEdge(), ForwardOrCrossEdge forward_or_cross_edge=ForwardOrCrossEdge(), FinishState finish_state=FinishState()) |
|
template<typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename TreeEdge = utilities::skip, typename BackEdge = utilities::skip, typename ForwardOrCrossEdge = utilities::skip, typename FinishState = utilities::skip> |
void | generate_state_space_dfs_recursive (bool recursive, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), TreeEdge tree_edge=TreeEdge(), BackEdge back_edge=BackEdge(), ForwardOrCrossEdge forward_or_cross_edge=ForwardOrCrossEdge(), FinishState finish_state=FinishState()) |
|
template<typename SummandSequence , typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename TreeEdge = utilities::skip, typename BackEdge = utilities::skip, typename ForwardOrCrossEdge = utilities::skip, typename FinishState = utilities::skip> |
void | generate_state_space_dfs_iterative (const state &s0, std::unordered_set< state > &discovered, const SummandSequence ®ular_summands, const SummandSequence &confluent_summands, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), TreeEdge tree_edge=TreeEdge(), BackEdge back_edge=BackEdge(), ForwardOrCrossEdge forward_or_cross_edge=ForwardOrCrossEdge(), FinishState finish_state=FinishState()) |
|
template<typename DiscoverState = utilities::skip, typename ExamineTransition = utilities::skip, typename TreeEdge = utilities::skip, typename BackEdge = utilities::skip, typename ForwardOrCrossEdge = utilities::skip, typename FinishState = utilities::skip> |
void | generate_state_space_dfs_iterative (bool recursive, DiscoverState discover_state=DiscoverState(), ExamineTransition examine_transition=ExamineTransition(), TreeEdge tree_edge=TreeEdge(), BackEdge back_edge=BackEdge(), ForwardOrCrossEdge forward_or_cross_edge=ForwardOrCrossEdge(), FinishState finish_state=FinishState()) |
|
void | abort () override |
| Abort the state space generation.
|
|
const indexed_set_for_states_type & | state_map () const |
| Returns a mapping containing all discovered states.
|
|
const std::vector< explorer_summand > & | regular_summands () const |
|
const std::vector< explorer_summand > & | confluent_summands () const |
|
const std::vector< data::variable > & | process_parameters () const |
|
data::data_expression_list | process_parameter_values (data::mutable_indexed_substitution<> &sigma) const |
|
data::data_expression_list | process_parameter_values () const |
| Process parameter values for use in a single thread.
|
|
void | set_process_parameter_values (const data::data_expression_list &values, data::mutable_indexed_substitution<> &sigma) |
|
void | set_process_parameter_values (const data::data_expression_list &values) |
|
virtual void | abort ()=0 |
|
|
Specification | preprocess (const Specification &lpsspec) |
|
bool | less_equal (const data::data_expression &t0, const data::data_expression &t1, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr) const |
|
template<typename SummandSequence > |
state | find_representative (state &u0, const SummandSequence &summands, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator) |
|
template<typename DataExpressionSequence > |
void | compute_state (state &result, const DataExpressionSequence &v, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr) const |
|
template<typename DataExpressionSequence > |
void | compute_stochastic_state (stochastic_state &result, const stochastic_distribution &distribution, const DataExpressionSequence &next_state, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::enumerator_algorithm<> &enumerator) const |
|
lps::multi_action | rewrite_action (const lps::multi_action &a, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr) const |
| Rewrite action a, and put it back in place.
|
|
void | check_enumerator_solution (const data::data_expression &p_expression, const explorer_summand &summand, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr) const |
|
template<typename SummandSequence , typename ReportTransition = utilities::skip> |
void | generate_transitions (const explorer_summand &summand, const SummandSequence &confluent_summands, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::data_expression &condition, state_type &s1, atermpp::aterm key, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator, ReportTransition report_transition=ReportTransition()) |
|
template<typename SummandSequence > |
std::list< transition > | out_edges (const state &s, const SummandSequence ®ular_summands, const SummandSequence &confluent_summands, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator) |
|
template<typename SummandSequence > |
std::vector< state > | generate_successors (const state &s0, const SummandSequence &summands, data::mutable_indexed_substitution<> &sigma, data::rewriter &rewr, data::enumerator_algorithm<> &enumerator, data::enumerator_identifier_generator &id_generator, const SummandSequence &confluent_summands=SummandSequence()) |
|
std::set< data::function_symbol > | add_real_operators (std::set< data::function_symbol > s) const |
|
std::unique_ptr< todo_set > | make_todo_set (const state &init) |
|
template<typename ForwardIterator > |
std::unique_ptr< todo_set > | make_todo_set (ForwardIterator first, ForwardIterator last) |
|
data::rewriter | construct_rewriter (const Specification &lpsspec, bool remove_unused_rewrite_rules) |
|
bool | is_confluent_tau (const multi_action &a) |
|
template<bool Stochastic, bool Timed, typename Specification>
class mcrl2::lps::explorer< Stochastic, Timed, Specification >
Definition at line 447 of file explorer.h.