Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : add new surf configuration mc-checkpoint
[simgrid.git] / src / surf / surf_config.c
index 3679b9c..1c0da25 100644 (file)
@@ -38,6 +38,9 @@ static void surf_config_cmd_line(int *argc, char **argv)
       xbt_cfg_help(_surf_cfg_set);
       printf(
 "\n"
+"Each of these configurations can be used by adding\n"
+"    --cfg=<option name>:<option value>\n"
+"to the command line.\n"
 "You can also use --help-models to see the details of all models known by this simulator.\n"
 #ifdef HAVE_TRACING
 "\n"
@@ -234,6 +237,13 @@ static void _surf_cfg_cb_model_check(const char *name, int pos)
   }
 }
 
+extern int _surf_do_mc_checkpoint;
+
+static void _surf_cfg_cb_mc_checkpoint(const char *name, int pos)
+{
+  _surf_do_mc_checkpoint = xbt_cfg_get_int(_surf_cfg_set, name);
+}
+
 extern int _surf_do_verbose_exit;
 
 static void _surf_cfg_cb_verbose_exit(const char *name, int pos)
@@ -481,6 +491,14 @@ void surf_config_init(int *argc, char **argv)
        _surf_cfg_cb_model_check which sets it's value to 1 (instead of the default value 0)
        xbt_cfg_set_int(_surf_cfg_set, "model-check", default_value_int); */
 
+    /* do stateful model-check */
+    default_value_int = 0;
+    xbt_cfg_register(&_surf_cfg_set, "mc-checkpoint",
+                     "Activate the stateful model-checking of the \"simulated\" system (EXPERIMENTAL -- msg only for now), value corresponding to steps between each checkpoint",
+                     xbt_cfgelm_int, &default_value_int, 0, 1,
+                     _surf_cfg_cb_model_check, NULL);
+    
+
     /* do verbose-exit */
     default_value_int = 1;
     xbt_cfg_register(&_surf_cfg_set, "verbose-exit",