X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2807fde4fd1f59c230d69a934634c5dfb77905f2..fc416b3a5a1ebce58eb7a6cabb1895f3d68be5fa:/src/mc/checker/LivenessChecker.cpp?ds=sidebyside diff --git a/src/mc/checker/LivenessChecker.cpp b/src/mc/checker/LivenessChecker.cpp index cf35963776..5875f8071d 100644 --- a/src/mc/checker/LivenessChecker.cpp +++ b/src/mc/checker/LivenessChecker.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2011-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -15,7 +15,6 @@ #include #include -#include #include #include @@ -32,7 +31,6 @@ #include "src/mc/remote/Client.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_liveness, mc, "Logging specific to algorithms for liveness properties verification"); -extern std::string _sg_mc_property_file; /********* Static functions *********/ @@ -204,7 +202,7 @@ void LivenessChecker::replay() } /** - * \brief Checks whether a given pair has already been visited by the algorithm. + * @brief Checks whether a given pair has already been visited by the algorithm. */ int LivenessChecker::insertVisitedPair(std::shared_ptr visited_pair, simgrid::mc::Pair* pair) { @@ -253,7 +251,7 @@ void LivenessChecker::purgeVisitedPairs() } } -LivenessChecker::LivenessChecker(Session& session) : Checker(session) +LivenessChecker::LivenessChecker(Session& s) : Checker(s) { } @@ -347,8 +345,8 @@ void LivenessChecker::backtrack() void LivenessChecker::run() { - XBT_INFO("Check the liveness property %s", _sg_mc_property_file.c_str()); - MC_automaton_load(_sg_mc_property_file.c_str()); + XBT_INFO("Check the liveness property %s", _sg_mc_property_file.get().c_str()); + MC_automaton_load(_sg_mc_property_file.get().c_str()); XBT_DEBUG("Starting the liveness algorithm"); simgrid::mc::session->initialize(); @@ -448,8 +446,9 @@ void LivenessChecker::run() // For each enabled transition in the property automaton, push a // (application_state, automaton_state) pair to the exploration stack: - for (int cursor = xbt_dynar_length(current_pair->automaton_state->out) - 1; cursor >= 0; cursor--) { - xbt_automaton_transition_t transition_succ = (xbt_automaton_transition_t)xbt_dynar_get_as(current_pair->automaton_state->out, cursor, xbt_automaton_transition_t); + for (int i = xbt_dynar_length(current_pair->automaton_state->out) - 1; i >= 0; i--) { + xbt_automaton_transition_t transition_succ = (xbt_automaton_transition_t)xbt_dynar_get_as( + current_pair->automaton_state->out, i, xbt_automaton_transition_t); if (evaluate_label(transition_succ->label, *prop_values)) explorationStack_.push_back(this->newPair( current_pair.get(), transition_succ->dst, prop_values)); @@ -461,9 +460,9 @@ void LivenessChecker::run() simgrid::mc::session->logState(); } -Checker* createLivenessChecker(Session& session) +Checker* createLivenessChecker(Session& s) { - return new LivenessChecker(session); + return new LivenessChecker(s); } }