X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2807fde4fd1f59c230d69a934634c5dfb77905f2..7f0516d66943c1fa8f64946cf159eb37bc7ef41f:/src/mc/checker/SafetyChecker.hpp diff --git a/src/mc/checker/SafetyChecker.hpp b/src/mc/checker/SafetyChecker.hpp index 0a45e48a13..9a934a88ea 100644 --- a/src/mc/checker/SafetyChecker.hpp +++ b/src/mc/checker/SafetyChecker.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2017. The SimGrid Team. +/* Copyright (c) 2008-2022. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,41 +7,40 @@ #ifndef SIMGRID_MC_SAFETY_CHECKER_HPP #define SIMGRID_MC_SAFETY_CHECKER_HPP +#include "src/mc/VisitedState.hpp" +#include "src/mc/checker/Checker.hpp" +#include "src/mc/mc_safety.hpp" + #include #include #include #include -#include "src/mc/VisitedState.hpp" -#include "src/mc/checker/Checker.hpp" -#include "src/mc/mc_forward.hpp" -#include "src/mc/mc_safety.hpp" - namespace simgrid { namespace mc { class XBT_PRIVATE SafetyChecker : public Checker { - simgrid::mc::ReductionMode reductionMode_ = simgrid::mc::ReductionMode::unset; + ReductionMode reductionMode_ = ReductionMode::unset; + public: - explicit SafetyChecker(Session& session); - ~SafetyChecker() = default; + explicit SafetyChecker(Session* session); void run() override; - RecordTrace getRecordTrace() override; - std::vector getTextualTrace() override; - void logState() override; + RecordTrace get_record_trace() override; + std::vector get_textual_trace() override; + void log_state() override; + private: - void checkNonTermination(simgrid::mc::State* current_state); + void check_non_termination(const State* current_state); void backtrack(); - void restoreState(); + void restore_state(); /** Stack representing the position in the exploration graph */ - std::list> stack_; - simgrid::mc::VisitedStates visitedStates_; - std::unique_ptr visitedState_; - unsigned long expandedStatesCount_ = 0; + std::list> stack_; + VisitedStates visited_states_; + std::unique_ptr visited_state_; }; -} -} +} // namespace mc +} // namespace simgrid #endif