new_pair = MC_visited_pair_new(pair->num, pair->automaton_state, pair->atomic_propositions, pair->graph_state);
new_pair->acceptance_pair = 1;
- if (xbt_dynar_is_empty(acceptance_pairs)) {
-
+ if (xbt_dynar_is_empty(acceptance_pairs))
xbt_dynar_push(acceptance_pairs, &new_pair);
-
- } else {
+ else {
int min = -1, max = -1, index;
//int res;
xbt_dynar_insert_at(acceptance_pairs, min, &new_pair);
} else {
pair_test = (mc_visited_pair_t) xbt_dynar_get_as(acceptance_pairs, index, mc_visited_pair_t);
- if (pair_test->nb_processes < new_pair->nb_processes) {
+ if (pair_test->nb_processes < new_pair->nb_processes)
xbt_dynar_insert_at(acceptance_pairs, index + 1, &new_pair);
- } else {
- if (pair_test->heap_bytes_used < new_pair->heap_bytes_used)
- xbt_dynar_insert_at(acceptance_pairs, index + 1, &new_pair);
- else
- xbt_dynar_insert_at(acceptance_pairs, index, &new_pair);
- }
+ else if (pair_test->heap_bytes_used < new_pair->heap_bytes_used)
+ xbt_dynar_insert_at(acceptance_pairs, index + 1, &new_pair);
+ else
+ xbt_dynar_insert_at(acceptance_pairs, index, &new_pair);
}
}
return new_pair;
mc_visited_pair_t pair_test = nullptr;
int pair_found = 0;
- xbt_dynar_foreach(acceptance_pairs, cursor, pair_test) {
+ xbt_dynar_foreach(acceptance_pairs, cursor, pair_test)
if (pair_test->num == pair_num) {
pair_found = 1;
break;
}
- }
if(pair_found == 1) {
xbt_dynar_remove_at(acceptance_pairs, cursor, &pair_test);
}
return -1;
}
- case 4:{
- return 2;
- }
+ case 4:
+ return 2;
default:
return -1;
}
static void MC_pre_modelcheck_liveness(void)
{
mc_pair_t initial_pair = nullptr;
- smx_process_t process;
-
mc_model_checker->wait_for_requests();
-
acceptance_pairs = xbt_dynar_new(sizeof(mc_visited_pair_t), nullptr);
if(_sg_mc_visited > 0)
visited_pairs = xbt_dynar_new(sizeof(mc_visited_pair_t), nullptr);
initial_pair->depth = 1;
/* Get enabled processes and insert them in the interleave set of the graph_state */
- MC_EACH_SIMIX_PROCESS(process,
- if (MC_process_is_enabled(process)) {
- MC_state_interleave_process(initial_pair->graph_state, process);
- }
- );
+ for (auto& p : mc_model_checker->process().simix_processes())
+ if (MC_process_is_enabled(&p.copy))
+ MC_state_interleave_process(initial_pair->graph_state, &p.copy);
initial_pair->requests = MC_state_interleave_size(initial_pair->graph_state);
initial_pair->search_cycle = 0;
static int MC_modelcheck_liveness_main(void)
{
- smx_process_t process = nullptr;
mc_pair_t current_pair = nullptr;
int value, res, visited_num = -1;
smx_simcall_t req = nullptr;
next_pair->atomic_propositions = get_atomic_propositions_values();
next_pair->depth = current_pair->depth + 1;
/* Get enabled processes and insert them in the interleave set of the next graph_state */
- MC_EACH_SIMIX_PROCESS(process,
- if (MC_process_is_enabled(process)) {
- MC_state_interleave_process(next_pair->graph_state, process);
- }
- );
+ for (auto& p : mc_model_checker->process().simix_processes())
+ if (MC_process_is_enabled(&p.copy))
+ MC_state_interleave_process(next_pair->graph_state, &p.copy);
next_pair->requests = MC_state_interleave_size(next_pair->graph_state);