Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
adding option for sleep set
authormlaurent <mathieu.laurent@ens-rennes.fr>
Tue, 14 Feb 2023 15:34:02 +0000 (16:34 +0100)
committermlaurent <mathieu.laurent@ens-rennes.fr>
Tue, 14 Feb 2023 15:34:02 +0000 (16:34 +0100)
src/mc/explo/DFSExplorer.cpp
src/mc/mc_config.cpp
src/mc/mc_config.hpp

index 0e5dd64..ccd0fea 100644 (file)
@@ -307,6 +307,8 @@ DFSExplorer::DFSExplorer(const std::vector<char*>& args, bool with_dpor) : Explo
   else
     reduction_mode_ = ReductionMode::none;
 
+  sleep_set_reduction_ = _sg_mc_sleep_set;
+  
   if (_sg_mc_termination) {
     if (with_dpor) {
       XBT_INFO("Check non progressive cycles (turning DPOR off)");
index 1a6af99..8920c57 100644 (file)
@@ -48,6 +48,14 @@ static simgrid::config::Flag<std::string> cfg_mc_reduction{
         xbt_die("configuration option 'model-check/reduction' can only take 'none' or 'dpor' as a value");
     }};
 
+simgrid::config::Flag<bool> _sg_mc_sleep_set{
+    "model-check/sleep-set",
+    "Whether to enable the use of sleep-set in the reduction algorithm",
+    true,
+    [](bool) {
+      _mc_cfg_cb_check("value to enable/disable the use of sleep-set in the reduction algorithm");
+    }};
+
 simgrid::config::Flag<int> _sg_mc_checkpoint{
     "model-check/checkpoint", "Specify the amount of steps between checkpoints during stateful model-checking "
                               "(default: 0 => stateless verification). If value=1, one checkpoint is saved for each "
index 1f91c22..eaf2e20 100644 (file)
@@ -25,5 +25,6 @@ extern XBT_PRIVATE simgrid::config::Flag<int> _sg_mc_max_depth;
 extern "C" XBT_PUBLIC int _sg_mc_max_visited_states;
 extern XBT_PRIVATE simgrid::config::Flag<std::string> _sg_mc_dot_output_file;
 extern XBT_PRIVATE simgrid::config::Flag<bool> _sg_mc_termination;
+extern XBT_PUBLIC simgrid::config::Flag<bool> _sg_mc_sleep_set;
 
 #endif