X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/90319766c67d84542aace23dac42b74a63b1c707..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/mc/checker/SafetyChecker.hpp?ds=sidebyside diff --git a/src/mc/checker/SafetyChecker.hpp b/src/mc/checker/SafetyChecker.hpp index f5b3de4fd5..0d08f13846 100644 --- a/src/mc/checker/SafetyChecker.hpp +++ b/src/mc/checker/SafetyChecker.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2016. The SimGrid Team. +/* Copyright (c) 2008-2021. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,40 +7,42 @@ #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/mc_forward.hpp" -#include "src/mc/checker/Checker.hpp" -#include "src/mc/VisitedState.hpp" - namespace simgrid { namespace mc { class XBT_PRIVATE SafetyChecker : public Checker { - simgrid::mc::ReductionMode reductionMode_ = simgrid::mc::ReductionMode::unset; + ReductionMode reductionMode_ = ReductionMode::unset; + public: - SafetyChecker(Session& session); - ~SafetyChecker(); + explicit SafetyChecker(); + ~SafetyChecker() override = default; 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(); -private: + 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_; + unsigned long expanded_states_count_ = 0; }; -} -} +} // namespace mc +} // namespace simgrid #endif