Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : fix soundness of DPOR algorithm if max depth is reached
[simgrid.git] / src / mc / mc_private.h
index 6a46fd6..55ac046 100644 (file)
@@ -140,7 +140,9 @@ void MC_state_remove_interleave_process(mc_state_t state, smx_process_t process)
 typedef struct mc_stats {
   unsigned long state_size;
   unsigned long visited_states;
+  unsigned long visited_pairs;
   unsigned long expanded_states;
+  unsigned long expanded_pairs;
   unsigned long executed_transitions;
 } s_mc_stats_t, *mc_stats_t;
 
@@ -259,12 +261,15 @@ typedef enum {
 extern e_mc_reduce_t mc_reduce_kind;
 extern mc_global_t initial_state_safety;
 extern xbt_fifo_t mc_stack_safety;
+extern xbt_dict_t first_enabled_state;
 
 void MC_dpor_init(void);
 void MC_dpor(void);
 
 typedef struct s_mc_visited_state{
   mc_snapshot_t system_state;
+  size_t heap_bytes_used;
+  int nb_processes;
   int num;
 }s_mc_visited_state_t, *mc_visited_state_t;
 
@@ -283,6 +288,7 @@ typedef struct s_mc_pair{
   mc_state_t graph_state;
   xbt_automaton_state_t automaton_state;
   int requests;
+  int num;
 }s_mc_pair_t, *mc_pair_t;
 
 typedef struct s_mc_acceptance_pair{
@@ -290,6 +296,8 @@ typedef struct s_mc_acceptance_pair{
   xbt_automaton_state_t automaton_state;
   xbt_dynar_t prop_ato;
   mc_snapshot_t system_state;
+  size_t heap_bytes_used;
+  int nb_processes;
 }s_mc_acceptance_pair_t, *mc_acceptance_pair_t;
 
 typedef struct s_mc_visited_pair{
@@ -297,6 +305,8 @@ typedef struct s_mc_visited_pair{
   xbt_dynar_t prop_ato;
   mc_snapshot_t system_state;
   int num;
+  size_t heap_bytes_used;
+  int nb_processes;
 }s_mc_visited_pair_t, *mc_visited_pair_t;
 
 mc_pair_t MC_pair_new(mc_state_t sg, xbt_automaton_state_t st, int r);