Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Deprecate MSG_clean
[simgrid.git] / examples / msg / mc / centralized_liveness.c
index 54804fa..46425de 100644 (file)
@@ -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, argv[0]);
+  MSG_main();
 
   return 0;