#include "src/mc/mc_private.hpp"
#include "src/mc/mc_request.hpp"
#include "src/mc/mc_smx.hpp"
+#include "src/mc/mc_api.hpp"
#include <boost/range/algorithm.hpp>
#include <cstring>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_liveness, mc, "Logging specific to algorithms for liveness properties verification");
+using mcapi = simgrid::mc::mc_api;
+
/********* Static functions *********/
namespace simgrid {
std::shared_ptr<VisitedPair> LivenessChecker::insert_acceptance_pair(simgrid::mc::Pair* pair)
{
- std::shared_ptr<VisitedPair> new_pair = std::make_shared<VisitedPair>(
- pair->num, pair->automaton_state, pair->atomic_propositions,
- pair->graph_state);
+ auto new_pair =
+ std::make_shared<VisitedPair>(pair->num, pair->automaton_state, pair->atomic_propositions, pair->graph_state);
auto res = boost::range::equal_range(acceptance_pairs_, new_pair.get(), DerefAndCompareByActorsCountAndUsedHeap());
std::shared_ptr<Pair> LivenessChecker::create_pair(const Pair* current_pair, xbt_automaton_state_t state,
std::shared_ptr<const std::vector<int>> propositions)
{
- expanded_pairs_count_++;
- std::shared_ptr<Pair> next_pair = std::make_shared<Pair>(expanded_pairs_count_);
+ ++expanded_pairs_count_;
+ ++expanded_states_count_;
+ auto next_pair = std::make_shared<Pair>(expanded_pairs_count_);
next_pair->automaton_state = state;
- next_pair->graph_state = std::shared_ptr<State>(new State(++expanded_states_count_));
+ next_pair->graph_state = std::make_shared<State>(expanded_states_count_);
next_pair->atomic_propositions = std::move(propositions);
if (current_pair)
next_pair->depth = current_pair->depth + 1;
}
}
- smx_simcall_t req = MC_state_choose_request(current_pair->graph_state.get());
+ smx_simcall_t req = mcapi::get().mc_state_choose_request(current_pair->graph_state.get());
int req_num = current_pair->graph_state->transition_.argument_;
if (dot_output != nullptr) {