Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : move print statistics if property is valid
[simgrid.git] / src / mc / mc_global.c
index 68f11cd..884933a 100644 (file)
@@ -1,14 +1,19 @@
+/* Copyright (c) 2008-2012 Da SimGrid Team. All rights reserved.            */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <sys/time.h>
 
 #include "../surf/surf_private.h"
-#include "../simix/private.h"
+#include "../simix/smx_private.h"
 #include "xbt/fifo.h"
-#include "private.h"
-
+#include "mc_private.h"
 
+XBT_LOG_NEW_CATEGORY(mc, "All MC categories");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
                                 "Logging specific to MC (global)");
 
@@ -32,9 +37,8 @@ xbt_fifo_t mc_stack_liveness = NULL;
 mc_snapshot_t initial_snapshot_liveness = NULL;
 
 xbt_automaton_t automaton;
-char *prog_name;
 
-static void MC_init_liveness(xbt_automaton_t a, char *prgm);
+static void MC_init_liveness(xbt_automaton_t a);
 static void MC_assert_pair(int prop);
 
 
@@ -99,7 +103,7 @@ void MC_init_safety_stateful(void){
 
 }
 
-static void MC_init_liveness(xbt_automaton_t a, char *prgm){
+static void MC_init_liveness(xbt_automaton_t a){
 
   XBT_DEBUG("Start init mc");
   
@@ -121,7 +125,6 @@ static void MC_init_liveness(xbt_automaton_t a, char *prgm){
   MC_UNSET_RAW_MEM;
 
   automaton = a;
-  prog_name = strdup(prgm);
 
   MC_ddfs_init();
 
@@ -144,8 +147,8 @@ void MC_modelcheck_stateful(void)
 }
 
 
-void MC_modelcheck_liveness(xbt_automaton_t a, char *prgm){
-  MC_init_liveness(a, prgm);
+void MC_modelcheck_liveness(xbt_automaton_t a){
+  MC_init_liveness(a);
   MC_exit_liveness();
 }
 
@@ -185,7 +188,7 @@ void MC_wait_for_requests(void)
     SIMIX_process_runall();
     xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
       req = &process->simcall;
-      if (req->call != REQ_NO_REQ && !MC_request_is_visible(req))
+      if (req->call != SIMCALL_NONE && !MC_request_is_visible(req))
           SIMIX_simcall_pre(req, 0);
     }
   }
@@ -198,7 +201,7 @@ int MC_deadlock_check()
   if(xbt_swag_size(simix_global->process_list)){
     deadlock = TRUE;
     xbt_swag_foreach(process, simix_global->process_list){
-      if(process->simcall.call != REQ_NO_REQ
+      if(process->simcall.call != SIMCALL_NONE
          && MC_request_is_enabled(&process->simcall)){
         deadlock = FALSE;
         break;
@@ -499,7 +502,7 @@ void MC_dump_stack_liveness(xbt_fifo_t stack){
 
 void MC_print_statistics(mc_stats_t stats)
 {
-  XBT_INFO("State space size ~= %lu", stats->state_size);
+  //XBT_INFO("State space size ~= %lu", stats->state_size);
   XBT_INFO("Expanded states = %lu", stats->expanded_states);
   XBT_INFO("Visited states = %lu", stats->visited_states);
   XBT_INFO("Executed transitions = %lu", stats->executed_transitions);
@@ -522,7 +525,7 @@ void MC_print_statistics_pairs(mc_stats_pair_t stats)
 
 void MC_assert(int prop)
 {
-  if (MC_IS_ENABLED && !prop) {
+  if (MC_IS_ENABLED && !prop){
     XBT_INFO("**************************");
     XBT_INFO("*** PROPERTY NOT VALID ***");
     XBT_INFO("**************************");
@@ -580,7 +583,7 @@ void MC_diff(void){
 
   int i;
 
-  XBT_INFO("Number of regions : %d", sn->num_reg);
+  XBT_INFO("Number of regions : %u", sn->num_reg);
 
   for(i=0; i<sn->num_reg; i++){