Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add some strategies and fix the semantics of Max/MinMatch
[simgrid.git] / src / mc / mc_config.cpp
index e182f50..64a0e29 100644 (file)
@@ -66,10 +66,13 @@ simgrid::config::Flag<bool> _sg_mc_sleep_set{
     [](bool) { _mc_cfg_cb_check("value to enable/disable the use of sleep-set in the reduction algorithm"); }};
 
 simgrid::config::Flag<std::string> _sg_mc_strategy{
-    "model-check/strategy", "Specify the the kind of heuristic to use for guided model-checking", "none",
-    [](std::string_view value) {
-      if (value != "none" && value != "nb_wait")
-        xbt_die("configuration option 'model-check/guided-mc' can only take 'none' or 'nb_wait' as a value");
+    "model-check/strategy",
+    "Specify the the kind of heuristic to use for guided model-checking",
+    "none",
+    {{"none", "No specific strategy: simply pick the first available transistion and act as a DFS."},
+     {"max_match_comm", "Try to minimize the number of in-fly communication by appairing matching send and receive."},
+     {"min_match_comm", "Try to maximize the number of in-fly communication by not appairing matching send and receive."},
+     {"uniform", "No specific strategy: choices are made randomly based on a uniform sampling."}
     }};
 
 #if SIMGRID_HAVE_STATEFUL_MC