]> AND Public Git Repository - simgrid.git/blobdiff - src/mc/SafetyChecker.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move the stack as field of SafetyChecker and CommDetChecker
[simgrid.git] / src / mc / SafetyChecker.hpp
index 597af14be370a65946ae12b7d00dfe3f53efc28c..b2aa1387cca1f5801e30e468b22d42dfb94fa5cd 100644 (file)
@@ -7,6 +7,8 @@
 #ifndef SIMGRID_MC_SAFETY_CHECKER_HPP
 #define SIMGRID_MC_SAFETY_CHECKER_HPP
 
+#include <list>
+
 #include "src/mc/mc_forward.hpp"
 #include "src/mc/Checker.hpp"
 
@@ -14,10 +16,20 @@ namespace simgrid {
 namespace mc {
 
 class SafetyChecker : public Checker {
+  simgrid::mc::ReductionMode reductionMode_ = simgrid::mc::ReductionMode::unset;
 public:
   SafetyChecker(Session& session);
   ~SafetyChecker();
   int run() override;
+  RecordTrace getRecordTrace() override;
+  std::vector<std::string> getTextualTrace() override;
+private:
+  // Temp
+  void init();
+  bool is_exploration_stack_state(simgrid::mc::State* current_state);
+private:
+  /** Stack representing the position in the exploration graph */
+  std::list<simgrid::mc::State*> stack_;
 };
 
 }