X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/187fd0eeffe07e62ceef374ae965f04f81138e7c..830b5c4bc694ade087c43f39015faa9065795630:/examples/msg/mc/centralized_liveness.c diff --git a/examples/msg/mc/centralized_liveness.c b/examples/msg/mc/centralized_liveness.c index 77183df608..46425dedcc 100644 --- a/examples/msg/mc/centralized_liveness.c +++ b/examples/msg/mc/centralized_liveness.c @@ -1,14 +1,12 @@ /***************** Centralized Mutual Exclusion Algorithm *********************/ /* This example implements a centralized mutual exclusion algorithm. */ -/* LTL property checked : !(GFcs) */ +/* LTL property checked : !(GFcs) */ /******************************************************************************/ #include "msg/msg.h" #include "mc/mc.h" #include "xbt/automaton.h" -#include "xbt/automatonparse_promela.h" #include "centralized_liveness.h" -#include "y.tab.c" XBT_LOG_NEW_DEFAULT_CATEGORY(centralized, "my log messages"); @@ -27,18 +25,18 @@ int coordinator(int argc, char *argv[]) int CS_used = 0; // initially the CS is idle while (1) { - m_task_t task = NULL; + msg_task_t task = NULL; MSG_task_receive(&task, "coordinator"); const char *kind = MSG_task_get_name(task); //is it a request or a release? if (!strcmp(kind, "request")) { // that's a request char *req = MSG_task_get_data(task); if (CS_used) { XBT_INFO("CS already used."); - m_task_t answer = MSG_task_create("not grant", 0, 1000, NULL); + msg_task_t answer = MSG_task_create("not grant", 0, 1000, NULL); MSG_task_send(answer, req); } else { // can serve it immediatly XBT_INFO("CS idle. Grant immediatly"); - m_task_t answer = MSG_task_create("grant", 0, 1000, NULL); + msg_task_t answer = MSG_task_create("grant", 0, 1000, NULL); MSG_task_send(answer, req); CS_used = 1; } @@ -64,7 +62,7 @@ int client(int argc, char *argv[]) MSG_task_send(MSG_task_create("request", 0, 1000, my_mailbox), "coordinator"); // wait the answer - m_task_t answer = NULL; + msg_task_t answer = NULL; MSG_task_receive(&answer, my_mailbox); kind = MSG_task_get_name(answer); @@ -74,15 +72,15 @@ int client(int argc, char *argv[]) XBT_INFO("Client (%s) got the answer (grant). Sleep a bit and release it", my_mailbox); if(!strcmp(my_mailbox, "1")) - cs = 1; + cs = 1; /*MSG_process_sleep(my_pid); - MSG_task_send(MSG_task_create("release", 0, 1000, NULL), - "coordinator"); - XBT_INFO("Client (%s) releases the CS", my_mailbox); + MSG_task_send(MSG_task_create("release", 0, 1000, NULL), + "coordinator"); + XBT_INFO("Client (%s) releases the CS", my_mailbox); - if(!strcmp(my_mailbox, "1")) - cs = 0;*/ + if(!strcmp(my_mailbox, "1")) + cs = 0;*/ }else{ @@ -100,17 +98,17 @@ int client(int argc, char *argv[]) int main(int argc, char *argv[]) { - init(); - yyparse(); - automaton = get_automaton(); - xbt_new_propositional_symbol(automaton,"cs", &predCS); - MSG_global_init(&argc, argv); + MSG_init(&argc, argv); + + MSG_config("model-check/property","promela_centralized_liveness"); + MC_automaton_new_propositional_symbol("cs", &predCS); + MSG_create_environment("../msg_platform.xml"); MSG_function_register("coordinator", coordinator); MSG_function_register("client", client); MSG_launch_application("deploy_centralized_liveness.xml"); - MSG_main_liveness(automaton); + MSG_main(); return 0;