X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/01c96c4bc37fc4aac70e6b5fe3ff6992a9736c04..394c1a744abaf32ddcc2c594c2208c30932f885a:/src/mc/checker/SafetyChecker.hpp diff --git a/src/mc/checker/SafetyChecker.hpp b/src/mc/checker/SafetyChecker.hpp index 235c8a9073..1377934919 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-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,37 +7,38 @@ #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; public: - SafetyChecker(Session& session); - ~SafetyChecker(); + explicit SafetyChecker(Session& session); + ~SafetyChecker() = 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: - bool checkNonTermination(simgrid::mc::State* current_state); + void check_non_termination(simgrid::mc::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; + simgrid::mc::VisitedStates visited_states_; + std::unique_ptr visited_state_; + unsigned long expanded_states_count_ = 0; }; }