diff --git a/lib/socExecDbg.ml b/lib/socExecDbg.ml
index 96c9c23122c9756f23aa524e1049b8d3834d703c..763e22f7dc561649071d623e95a3727ca1032e81 100644
--- a/lib/socExecDbg.ml
+++ b/lib/socExecDbg.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 10/12/2019 (at 10:20) by Erwan Jahier> *)
+(* Time-stamp: <modified the 16/03/2020 (at 11:37) by Erwan Jahier> *)
 open Soc
 open Data
 open SocExecValue
@@ -40,19 +40,19 @@ let make_simple_sinfo lxm name is os  =
   Some(fun () ->
          let atom =
            {
-             Event.str  = name; 
-             Event.file = Lxm.file lxm ; 
-             Event.line = Lxm.line lxm ,Lxm.line lxm ; 
-             Event.char = Lxm.cstart lxm, Lxm.cend lxm;
-             Event.stack =  None;
+             RdbgEvent.str  = name; 
+             RdbgEvent.file = Lxm.file lxm ; 
+             RdbgEvent.line = Lxm.line lxm ,Lxm.line lxm ; 
+             RdbgEvent.char = Lxm.cstart lxm, Lxm.cend lxm;
+             RdbgEvent.stack =  None;
            }
          in
          {
-           Event.expr  = Expr.Var (Lxm.str lxm);
-           Event.atoms = [atom];
-           Event.more  = None; 
-           Event.in_subst = is ;
-           Event.out_subst = os ;
+           RdbgEvent.expr  = Expr.Var (Lxm.str lxm);
+           RdbgEvent.atoms = [atom];
+           RdbgEvent.more  = None; 
+           RdbgEvent.in_subst = is ;
+           RdbgEvent.out_subst = os ;
          }
       )
       
@@ -61,23 +61,23 @@ let make_sinfo lxm name_opt ectx in_subst out_subst =
     Some(fun () ->
          let atom =
            {
-             Event.str  = (match name_opt with Some n -> n | None -> Lxm.str lxm); 
-             (* Event.str  = (Lxm.str lxm); *)
-             Event.file = Lxm.file lxm ; 
-             Event.line = Lxm.line lxm ,Lxm.line lxm ; 
-             Event.char = Lxm.cstart lxm, Lxm.cend lxm;
-             Event.stack = 
-               match ectx.Event.sinfo with
+             RdbgEvent.str  = (match name_opt with Some n -> n | None -> Lxm.str lxm); 
+             (* RdbgEvent.str  = (Lxm.str lxm); *)
+             RdbgEvent.file = Lxm.file lxm ; 
+             RdbgEvent.line = Lxm.line lxm ,Lxm.line lxm ; 
+             RdbgEvent.char = Lxm.cstart lxm, Lxm.cend lxm;
+             RdbgEvent.stack = 
+               match ectx.RdbgEvent.sinfo with
                | None -> None
-               | Some si -> Some (List.hd ((si()).Event.atoms));
+               | Some si -> Some (List.hd ((si()).RdbgEvent.atoms));
            }
          in
          {
-           Event.expr  = Expr.Var (Lxm.str lxm);
-           Event.atoms = [atom];
-           Event.more  = None;  (* yet *)
-           Event.in_subst = in_subst ;
-           Event.out_subst = out_subst ;
+           RdbgEvent.expr  = Expr.Var (Lxm.str lxm);
+           RdbgEvent.atoms = [atom];
+           RdbgEvent.more  = None;  (* yet *)
+           RdbgEvent.in_subst = in_subst ;
+           RdbgEvent.out_subst = out_subst ;
          }
         )
 let sinfo_subst arg var =
@@ -89,8 +89,8 @@ let sinfo_subst arg var =
   | Slice (_,_,_,_,_,t) ->  (SocUtils.string_of_filter arg, t), var
  
     
-let (assign_expr_dbg : Lxm.t -> SocExecValue.ctx -> var_expr -> var_expr -> Event.t ->
-                    (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t) =
+let (assign_expr_dbg : Lxm.t -> SocExecValue.ctx -> var_expr -> var_expr -> RdbgEvent.t ->
+                    (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t) =
   fun lxm ctx ve_in ve_out ectx cont -> (* ve_out := ve_in (in ctx) *)
   let val_ve_in = SocExecValue.get_value ctx ve_in in 
   let res =
@@ -102,10 +102,10 @@ let (assign_expr_dbg : Lxm.t -> SocExecValue.ctx -> var_expr -> var_expr -> Even
   in
   (*   let (datal:Data.subst list) = SocExecValue.get_vals res in  *)
   let (datal:Data.subst list) = ["rhs",val_ve_in] in
-  let n = ectx.Event.nb in
+  let n = ectx.RdbgEvent.nb in
   let ectx = { ectx with
-                Event.nb = ectx.Event.nb+1;
-                Event.depth = ectx.Event.depth+1;
+                RdbgEvent.nb = ectx.RdbgEvent.nb+1;
+                RdbgEvent.depth = ectx.RdbgEvent.depth+1;
               }
   in
   let t = data_type_of_var_expr ve_in in
@@ -115,39 +115,39 @@ let (assign_expr_dbg : Lxm.t -> SocExecValue.ctx -> var_expr -> var_expr -> Even
   in
   let cont2 local_ectx val_ctx =
     let (datal:Data.subst list) =  [("rhs",val_ve_in);("lhs",val_ve_in)] in 
-    let nectx = Event.incr_event_nb local_ectx in
-    let nectx = Event.decr_event_depth nectx in
+    let nectx = RdbgEvent.incr_event_nb local_ectx in
+    let nectx = RdbgEvent.decr_event_depth nectx in
     { ectx with
-      Event.kind = Event.Exit;
-      Event.name = "Assign";
-      Event.lang = "lustre";
-      Event.inputs  = [("rhs", t)];
-      Event.outputs = ["lhs", t];
-      Event.locals = [];
+      RdbgEvent.kind = RdbgEvent.Exit;
+      RdbgEvent.name = "Assign";
+      RdbgEvent.lang = "lustre";
+      RdbgEvent.inputs  = [("rhs", t)];
+      RdbgEvent.outputs = ["lhs", t];
+      RdbgEvent.locals = [];
       
-      Event.step = ectx.Event.step;
-      Event.nb = local_ectx.Event.nb;
-      Event.depth = ectx.Event.depth;
-      Event.sinfo = sinfo;
-      Event.data = datal;
-      Event.next = (fun () -> cont nectx val_ctx);
-      Event.terminate = ectx.Event.terminate;
-      Event.reset = ectx.Event.reset;
+      RdbgEvent.step = ectx.RdbgEvent.step;
+      RdbgEvent.nb = local_ectx.RdbgEvent.nb;
+      RdbgEvent.depth = ectx.RdbgEvent.depth;
+      RdbgEvent.sinfo = sinfo;
+      RdbgEvent.data = datal;
+      RdbgEvent.next = (fun () -> cont nectx val_ctx);
+      RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+      RdbgEvent.reset = ectx.RdbgEvent.reset;
     }
   in
   { ectx with 
-    Event.kind = Event.Call;
-    Event.name = "Assign";
-    Event.lang = "lustre";
-    Event.inputs  = [("rhs", t)];
-    Event.outputs = ["lhs", t];
-    Event.locals = [];
+    RdbgEvent.kind = RdbgEvent.Call;
+    RdbgEvent.name = "Assign";
+    RdbgEvent.lang = "lustre";
+    RdbgEvent.inputs  = [("rhs", t)];
+    RdbgEvent.outputs = ["lhs", t];
+    RdbgEvent.locals = [];
 
-    Event.sinfo = sinfo;
-    Event.step = ectx.Event.step;
-    Event.nb = n;
-    Event.data = datal;
-    Event.next = (fun () -> cont2 ectx res);
+    RdbgEvent.sinfo = sinfo;
+    RdbgEvent.step = ectx.RdbgEvent.step;
+    RdbgEvent.nb = n;
+    RdbgEvent.data = datal;
+    RdbgEvent.next = (fun () -> cont2 ectx res);
   }
 
 
@@ -170,8 +170,8 @@ let get_input_vals val_ctx in_vars =
 
 (* Generates events that mimick node calls when array or struct are accessed *)
 let (gen_access_events :
-       Lxm.t -> var_expr -> Event.t -> SocExecValue.ctx ->
-       (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t) =
+       Lxm.t -> var_expr -> RdbgEvent.t -> SocExecValue.ctx ->
+       (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t) =
   fun lxm v ectx val_ctx  cont ->
   let v_str = SocUtils.lustre_string_of_var_expr v in
   let ve,id,short_id,t = match v with
@@ -190,8 +190,8 @@ let (gen_access_events :
   let val_v_in = SocExecValue.get_value val_ctx0  ve in
   let (data:Data.subst list) = [  fst v_in, val_v_in]  in  
   let cont2 local_ectx val_ctx =
-    let nectx = Event.incr_event_nb local_ectx in
-    let nectx = { nectx with Event.sinfo = initial_sinfo } in
+    let nectx = RdbgEvent.incr_event_nb local_ectx in
+    let nectx = { nectx with RdbgEvent.sinfo = initial_sinfo } in
     let val_v_out =
       match v, val_v_in with
       | Index(_ve, i, _t) , A a -> a.(i)
@@ -201,42 +201,42 @@ let (gen_access_events :
     in
     let data = (fst v_out, val_v_out)::data in
     { ectx with
-      Event.step = ectx.Event.step;
-      Event.nb = nectx.Event.nb;
-      Event.depth = ectx.Event.depth;
-      Event.kind = Event.Exit;
-      Event.lang = "lustre";
-      Event.name = id;
-      Event.inputs = [v_in];
-      Event.outputs = [v_out];
-      Event.locals = [];
-      Event.sinfo = sinfo;
-      Event.data = data;
-      Event.next = (fun () -> cont nectx val_ctx);
-      Event.terminate = ectx.Event.terminate;
-      Event.reset = ectx.Event.reset;
+      RdbgEvent.step = ectx.RdbgEvent.step;
+      RdbgEvent.nb = nectx.RdbgEvent.nb;
+      RdbgEvent.depth = ectx.RdbgEvent.depth;
+      RdbgEvent.kind = RdbgEvent.Exit;
+      RdbgEvent.lang = "lustre";
+      RdbgEvent.name = id;
+      RdbgEvent.inputs = [v_in];
+      RdbgEvent.outputs = [v_out];
+      RdbgEvent.locals = [];
+      RdbgEvent.sinfo = sinfo;
+      RdbgEvent.data = data;
+      RdbgEvent.next = (fun () -> cont nectx val_ctx);
+      RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+      RdbgEvent.reset = ectx.RdbgEvent.reset;
     } 
   in
   { ectx with
-    Event.step = ectx.Event.step;
-    Event.nb = ectx.Event.nb;
-    Event.depth = ectx.Event.depth;
-    Event.kind = Event.Call;
-    Event.lang = "lustre";
-    Event.name = id;
-    Event.inputs = [v_in];
-    Event.outputs = [v_out];
-    Event.locals = [];
-    Event.sinfo = sinfo;
-    Event.data = data;
-    Event.next = (fun () -> cont2 ectx val_ctx);
-    Event.terminate = ectx.Event.terminate;
-    Event.reset = ectx.Event.reset;
+    RdbgEvent.step = ectx.RdbgEvent.step;
+    RdbgEvent.nb = ectx.RdbgEvent.nb;
+    RdbgEvent.depth = ectx.RdbgEvent.depth;
+    RdbgEvent.kind = RdbgEvent.Call;
+    RdbgEvent.lang = "lustre";
+    RdbgEvent.name = id;
+    RdbgEvent.inputs = [v_in];
+    RdbgEvent.outputs = [v_out];
+    RdbgEvent.locals = [];
+    RdbgEvent.sinfo = sinfo;
+    RdbgEvent.data = data;
+    RdbgEvent.next = (fun () -> cont2 ectx val_ctx);
+    RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+    RdbgEvent.reset = ectx.RdbgEvent.reset;
   } 
 
 let rec (gen_access_events_list :
-           Lxm.t -> var_expr list -> Event.t -> SocExecValue.ctx ->
-           (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t) =
+           Lxm.t -> var_expr list -> RdbgEvent.t -> SocExecValue.ctx ->
+           (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t) =
   fun lxm vel_in ectx val_ctx cont ->
   let vel_in = List.filter (function Index _ | Field _  -> true | _ -> false) vel_in in
   match vel_in with
@@ -247,8 +247,8 @@ let rec (gen_access_events_list :
     
   
 let rec (soc_step :  Lxm.t -> Soc.step_method -> Soc.tbl -> Soc.t ->
-                     Event.t -> SocExecValue.ctx ->
-                     (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t) =
+                     RdbgEvent.t -> SocExecValue.ctx ->
+                     (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t) =
   fun _lxm step soc_tbl soc ectx val_ctx cont ->
   profile_info ("SocExecDbg.soc_step \n");
   let soc_name,_,_ = soc.key in
@@ -397,8 +397,8 @@ let rec (soc_step :  Lxm.t -> Soc.step_method -> Soc.tbl -> Soc.t ->
   in
   event
 
-and (do_gaol : Soc.tbl -> Event.t -> gao list -> SocExecValue.ctx ->
-               (Event.t -> SocExecValue.ctx -> Event.t) ->  Event.t) =
+and (do_gaol : Soc.tbl -> RdbgEvent.t -> gao list -> SocExecValue.ctx ->
+               (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) ->  RdbgEvent.t) =
   fun soc_tbl ectx gaol val_ctx cont ->
   match gaol with
   | [] -> assert false
@@ -407,8 +407,8 @@ and (do_gaol : Soc.tbl -> Event.t -> gao list -> SocExecValue.ctx ->
      let cont ectx val_ctx = do_gaol soc_tbl ectx gaol val_ctx cont in
      do_gao soc_tbl ectx gao val_ctx cont
 
-and (do_gao : Soc.tbl -> Event.t -> gao -> SocExecValue.ctx ->
-              (Event.t -> SocExecValue.ctx -> Event.t) ->  Event.t)  =
+and (do_gao : Soc.tbl -> RdbgEvent.t -> gao -> SocExecValue.ctx ->
+              (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) ->  RdbgEvent.t)  =
   fun soc_tbl ectx gao val_ctx cont -> 
   match gao with
   | Case(id, id_gao_l,lxm) -> (
@@ -423,10 +423,10 @@ and (do_gao : Soc.tbl -> Event.t -> gao -> SocExecValue.ctx ->
       let (datal:Data.subst list) = ["clock", v] in
       
       let clock = ("clock", t) in
-      let n = ectx.Event.nb in
+      let n = ectx.RdbgEvent.nb in
       let ectx = { ectx with
-                   Event.nb = ectx.Event.nb+1;
-                   (*   Event.depth = ectx.Event.depth+1; *)
+                   RdbgEvent.nb = ectx.RdbgEvent.nb+1;
+                   (*   RdbgEvent.depth = ectx.RdbgEvent.depth+1; *)
                  }
       in
       let sinfo = make_sinfo lxm (Some "when") ectx
@@ -434,40 +434,40 @@ and (do_gao : Soc.tbl -> Event.t -> gao -> SocExecValue.ctx ->
                              []
       in
       let cont2 local_ectx val_ctx =
-        let nectx = Event.incr_event_nb local_ectx in
-        (*         let nectx = Event.decr_event_depth nectx in *)
+        let nectx = RdbgEvent.incr_event_nb local_ectx in
+        (*         let nectx = RdbgEvent.decr_event_depth nectx in *)
         { ectx with
-          Event.kind = Event.Exit;
-          Event.name = "when";
-          Event.lang = "lustre";
-          Event.inputs  = [clock];
-          Event.outputs = [];
-          Event.locals = [];
+          RdbgEvent.kind = RdbgEvent.Exit;
+          RdbgEvent.name = "when";
+          RdbgEvent.lang = "lustre";
+          RdbgEvent.inputs  = [clock];
+          RdbgEvent.outputs = [];
+          RdbgEvent.locals = [];
           
-          Event.step = ectx.Event.step;
-          Event.nb = local_ectx.Event.nb;
-          Event.depth = ectx.Event.depth+1;
-          Event.sinfo = sinfo;
-          Event.data = datal;
-          Event.next = (fun () -> cont nectx val_ctx);
-          Event.terminate = ectx.Event.terminate;
-          Event.reset = ectx.Event.reset;
+          RdbgEvent.step = ectx.RdbgEvent.step;
+          RdbgEvent.nb = local_ectx.RdbgEvent.nb;
+          RdbgEvent.depth = ectx.RdbgEvent.depth+1;
+          RdbgEvent.sinfo = sinfo;
+          RdbgEvent.data = datal;
+          RdbgEvent.next = (fun () -> cont nectx val_ctx);
+          RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+          RdbgEvent.reset = ectx.RdbgEvent.reset;
         } 
       in
       { ectx with 
-        Event.kind = Event.Call;
-        Event.name = "when";
-        Event.lang = "lustre";
-        Event.inputs  = [clock];
-        Event.outputs = [];
-        Event.locals = [];
+        RdbgEvent.kind = RdbgEvent.Call;
+        RdbgEvent.name = "when";
+        RdbgEvent.lang = "lustre";
+        RdbgEvent.inputs  = [clock];
+        RdbgEvent.outputs = [];
+        RdbgEvent.locals = [];
 
-        Event.depth = ectx.Event.depth+1;
-        Event.sinfo = sinfo;
-        Event.step = ectx.Event.step;
-        Event.nb = n;
-        Event.data = datal;
-        Event.next = (fun () -> do_gaol soc_tbl ectx gaol val_ctx cont2);
+        RdbgEvent.depth = ectx.RdbgEvent.depth+1;
+        RdbgEvent.sinfo = sinfo;
+        RdbgEvent.step = ectx.RdbgEvent.step;
+        RdbgEvent.nb = n;
+        RdbgEvent.data = datal;
+        RdbgEvent.next = (fun () -> do_gaol soc_tbl ectx gaol val_ctx cont2);
       } 
 
         
@@ -527,8 +527,8 @@ and (do_gao : Soc.tbl -> Event.t -> gao -> SocExecValue.ctx ->
     cont ectx val_ctx 
   )
 and (do_soc_step : Lxm.t -> int option -> step_method -> SocExecValue.ctx ->
-                   Soc.tbl -> Soc.t ->  var_expr list -> var_expr list -> Event.t -> 
-                   (Event.t -> SocExecValue.ctx -> Event.t) ->  Event.t) =
+                   Soc.tbl -> Soc.t ->  var_expr list -> var_expr list -> RdbgEvent.t -> 
+                   (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) ->  RdbgEvent.t) =
   fun lxm int_opt step val_ctx0 soc_tbl soc vel_in vel_out ectx0 cont0 -> 
   let (soc_name,_,_) = soc.key in
   profile_info ("SocExecDbg.do_soc_step "^soc_name^"\n");
@@ -562,10 +562,10 @@ and (do_soc_step : Lxm.t -> int option -> step_method -> SocExecValue.ctx ->
     if String.length step_name > 8 && String.sub step_name 0 8 = "Lustre::" then
       None else Some step_name
   in
-  let initial_sinfo = ectx0.Event.sinfo in
+  let initial_sinfo = ectx0.RdbgEvent.sinfo in
   let ectx0 = {
     ectx0 with
-    Event.depth = ectx0.Event.depth+1;
+    RdbgEvent.depth = ectx0.RdbgEvent.depth+1;
   }
   in
   let sinfo = make_sinfo lxm name_opt  ectx0
@@ -578,46 +578,46 @@ and (do_soc_step : Lxm.t -> int option -> step_method -> SocExecValue.ctx ->
       cont0 ectx { val_ctx with s = s_out }
     in
     let (datal:Data.subst list) = SocExecValue.get_vals val_ctx in 
-    let nectx = Event.incr_event_nb local_ectx in
-    let nectx = Event.decr_event_depth nectx in
-    let nectx = { nectx with Event.sinfo = initial_sinfo } in
+    let nectx = RdbgEvent.incr_event_nb local_ectx in
+    let nectx = RdbgEvent.decr_event_depth nectx in
+    let nectx = { nectx with RdbgEvent.sinfo = initial_sinfo } in
     { nectx with
-      Event.step = nectx.Event.step;
-      Event.nb = local_ectx.Event.nb;
-      Event.depth = ectx0.Event.depth;
-      Event.kind = Event.Exit;
-      Event.lang = "lustre";
-      Event.name = step_name;
-      Event.inputs = fst soc.profile;
-      Event.outputs = snd soc.profile;
-      Event.locals = locals;
-      Event.sinfo = sinfo;
-      Event.data = datal;
-      Event.next = (fun () -> cont3 nectx val_ctx);
-      Event.terminate = nectx.Event.terminate;
-      Event.reset = nectx.Event.reset;
+      RdbgEvent.step = nectx.RdbgEvent.step;
+      RdbgEvent.nb = local_ectx.RdbgEvent.nb;
+      RdbgEvent.depth = ectx0.RdbgEvent.depth;
+      RdbgEvent.kind = RdbgEvent.Exit;
+      RdbgEvent.lang = "lustre";
+      RdbgEvent.name = step_name;
+      RdbgEvent.inputs = fst soc.profile;
+      RdbgEvent.outputs = snd soc.profile;
+      RdbgEvent.locals = locals;
+      RdbgEvent.sinfo = sinfo;
+      RdbgEvent.data = datal;
+      RdbgEvent.next = (fun () -> cont3 nectx val_ctx);
+      RdbgEvent.terminate = nectx.RdbgEvent.terminate;
+      RdbgEvent.reset = nectx.RdbgEvent.reset;
     } 
   in
   let cont1 lectx val_ctx =
     let ectx = {
       lectx with
-      Event.name = step_name;
-      Event.inputs  = fst soc.profile;
-      Event.outputs = snd soc.profile;
-      Event.locals = locals;
-      Event.sinfo = sinfo;
+      RdbgEvent.name = step_name;
+      RdbgEvent.inputs  = fst soc.profile;
+      RdbgEvent.outputs = snd soc.profile;
+      RdbgEvent.locals = locals;
+      RdbgEvent.sinfo = sinfo;
     }
     in
     let val_ctx =  { val_ctx with s = new_s } in
     (*     let (datal:Data.subst list) = get_all_subst val_ctx.s in *)
     let datal = get_input_vals val_ctx step_in_vars in   
     {  ectx with 
-      Event.kind = Event.Call;
-      Event.lang = "lustre";
-      Event.data = datal;
-      Event.next = (fun () ->
+      RdbgEvent.kind = RdbgEvent.Call;
+      RdbgEvent.lang = "lustre";
+      RdbgEvent.data = datal;
+      RdbgEvent.next = (fun () ->
                     assert (List.mem  step soc.step);
-                    let ectx = Event.incr_event_nb ectx in
+                    let ectx = RdbgEvent.incr_event_nb ectx in
                     soc_step lxm step soc_tbl soc ectx val_ctx cont2
                    );
     }
@@ -644,8 +644,8 @@ and (filter_params : Soc.t -> Soc.var list -> int list -> Soc.var list) =
 (****************************************************************************)
     
 (* exported *) 
-and (do_step_dbg : Soc.tbl -> Soc.t -> Event.t -> SocExecValue.ctx ->
-                   (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t) =
+and (do_step_dbg : Soc.tbl -> Soc.t -> RdbgEvent.t -> SocExecValue.ctx ->
+                   (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t) =
   fun soc_tbl soc ectx val_ctx cont ->
   let soc_in_vars, _soc_out_vars = soc.profile in
   (* let (datal:Data.subst list) = get_all_subst val_ctx.s in  *)
@@ -665,76 +665,76 @@ and (do_step_dbg : Soc.tbl -> Soc.t -> Event.t -> SocExecValue.ctx ->
     Some(fun () ->
          let atom =
            {
-             Event.str  = soc_name;
-             Event.file = Lxm.file lxm; 
-             Event.line = Lxm.line lxm,Lxm.line lxm; 
-             Event.char = Lxm.cstart lxm, Lxm.cend lxm;
-             Event.stack = None;
+             RdbgEvent.str  = soc_name;
+             RdbgEvent.file = Lxm.file lxm; 
+             RdbgEvent.line = Lxm.line lxm,Lxm.line lxm; 
+             RdbgEvent.char = Lxm.cstart lxm, Lxm.cend lxm;
+             RdbgEvent.stack = None;
            }
          in
          {
-           Event.expr  = Expr.Var "dummy" ; (* XXX *)
-           Event.atoms = [atom];
-           Event.more  = None;  (* yet *)
-           Event.in_subst = [];
-           Event.out_subst = [];
+           RdbgEvent.expr  = Expr.Var "dummy" ; (* XXX *)
+           RdbgEvent.atoms = [atom];
+           RdbgEvent.more  = None;  (* yet *)
+           RdbgEvent.in_subst = [];
+           RdbgEvent.out_subst = [];
          }
         )
   in
   let ectx = { 
     ectx with 
-    Event.name = soc_name;
-    Event.depth = ectx.Event.depth+1;
-    Event.data = datal;
-    Event.inputs  = fst soc.profile;
-    Event.outputs = snd soc.profile;
-    Event.locals = locals;
-    Event.sinfo = sinfo;
+    RdbgEvent.name = soc_name;
+    RdbgEvent.depth = ectx.RdbgEvent.depth+1;
+    RdbgEvent.data = datal;
+    RdbgEvent.inputs  = fst soc.profile;
+    RdbgEvent.outputs = snd soc.profile;
+    RdbgEvent.locals = locals;
+    RdbgEvent.sinfo = sinfo;
   } 
   in
   let cont2 local_ectx val_ctx =
     (* je pourrais enlver les entrées... *)
     let (datal:Data.subst list) = SocExecValue.get_vals val_ctx in 
     let nectx = { ectx with
-                  Event.nb = local_ectx.Event.nb+1;
-                  Event.data = datal;
-                  Event.depth = ectx.Event.depth-1;
+                  RdbgEvent.nb = local_ectx.RdbgEvent.nb+1;
+                  RdbgEvent.data = datal;
+                  RdbgEvent.depth = ectx.RdbgEvent.depth-1;
                 }
     in
     { ectx with
-      Event.step = ectx.Event.step;
-      Event.nb = local_ectx.Event.nb;
-      Event.depth = ectx.Event.depth;
-      Event.kind = Event.Exit;
-      Event.lang = "lustre";
-      Event.name = soc_name;
-      Event.inputs  = fst soc.profile;
-      Event.outputs = snd soc.profile;
-      Event.locals = locals;
-      Event.sinfo = sinfo;
-      Event.data = datal;
-      Event.next = (fun () -> cont nectx val_ctx);
-      Event.terminate = ectx.Event.terminate;
-      Event.reset = ectx.Event.reset;
+      RdbgEvent.step = ectx.RdbgEvent.step;
+      RdbgEvent.nb = local_ectx.RdbgEvent.nb;
+      RdbgEvent.depth = ectx.RdbgEvent.depth;
+      RdbgEvent.kind = RdbgEvent.Exit;
+      RdbgEvent.lang = "lustre";
+      RdbgEvent.name = soc_name;
+      RdbgEvent.inputs  = fst soc.profile;
+      RdbgEvent.outputs = snd soc.profile;
+      RdbgEvent.locals = locals;
+      RdbgEvent.sinfo = sinfo;
+      RdbgEvent.data = datal;
+      RdbgEvent.next = (fun () -> cont nectx val_ctx);
+      RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+      RdbgEvent.reset = ectx.RdbgEvent.reset;
     } 
   in
   { ectx with
-    Event.step = ectx.Event.step;
-    Event.nb = ectx.Event.nb;
-    Event.depth = ectx.Event.depth;
-    Event.kind = Event.Call;
-    Event.lang = "lustre";
-    Event.name = soc_name;
-    Event.inputs = ectx.Event.inputs;
-    Event.outputs = ectx.Event.outputs;
-    Event.locals = locals;
-    Event.sinfo = sinfo;
-    Event.data = ectx.Event.data;
-    Event.next = (fun () -> 
+    RdbgEvent.step = ectx.RdbgEvent.step;
+    RdbgEvent.nb = ectx.RdbgEvent.nb;
+    RdbgEvent.depth = ectx.RdbgEvent.depth;
+    RdbgEvent.kind = RdbgEvent.Call;
+    RdbgEvent.lang = "lustre";
+    RdbgEvent.name = soc_name;
+    RdbgEvent.inputs = ectx.RdbgEvent.inputs;
+    RdbgEvent.outputs = ectx.RdbgEvent.outputs;
+    RdbgEvent.locals = locals;
+    RdbgEvent.sinfo = sinfo;
+    RdbgEvent.data = ectx.RdbgEvent.data;
+    RdbgEvent.next = (fun () -> 
                   let step = match soc.step with [step] -> step | _ ->  assert false in
-                  let ectx = Event.incr_event_nb ectx in
+                  let ectx = RdbgEvent.incr_event_nb ectx in
                   soc_step step.lxm step soc_tbl soc ectx val_ctx cont2
                  );
-    Event.terminate = ectx.Event.terminate;
-    Event.reset = ectx.Event.reset;
+    RdbgEvent.terminate = ectx.RdbgEvent.terminate;
+    RdbgEvent.reset = ectx.RdbgEvent.reset;
   }
diff --git a/lib/socExecDbg.mli b/lib/socExecDbg.mli
index 6cc1b703054f5d08ffea9dc624f459d06d9efce9..4d7d145d017afffea7a7b7f01945a342358242e4 100644
--- a/lib/socExecDbg.mli
+++ b/lib/socExecDbg.mli
@@ -1,8 +1,8 @@
-(* Time-stamp: <modified the 10/02/2016 (at 14:34) by Erwan Jahier> *)
+(* Time-stamp: <modified the 16/03/2020 (at 11:37) by Erwan Jahier> *)
 
 
 (* The entry points for lus2licRun (i.e., for ltop/ldbg) *)
 val do_step : Soc.tbl -> Soc.t -> SocExecValue.ctx -> SocExecValue.ctx
 
-val do_step_dbg : Soc.tbl -> Soc.t -> Event.t -> SocExecValue.ctx ->
-  (Event.t -> SocExecValue.ctx -> Event.t) -> Event.t
+val do_step_dbg : Soc.tbl -> Soc.t -> RdbgEvent.t -> SocExecValue.ctx ->
+  (RdbgEvent.t -> SocExecValue.ctx -> RdbgEvent.t) -> RdbgEvent.t
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index 3f153b25a1778ffe0aaad71daee8b1b7f892ca82..816cb252f48ece3b1950c862b69a6086978dd174 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,5 +1,5 @@
 ==> lus2lic0.sum <==
-Test run by jahier on Fri Mar 13 11:51:14 
+Test run by jahier on Tue Mar 17 15:59:19 
 Native configuration is x86_64-pc-linux-gnu
 
 		=== lus2lic0 tests ===
@@ -66,7 +66,7 @@ XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/lecte
 XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/s.lus
 
 ==> lus2lic1.sum <==
-Test run by jahier on Fri Mar 13 11:51:15 
+Test run by jahier on Tue Mar 17 15:59:20 
 Native configuration is x86_64-pc-linux-gnu
 
 		=== lus2lic1 tests ===
@@ -413,7 +413,7 @@ PASS: ./lus2lic  {-2c multipar.lus -n multipar}
 PASS: sh multipar.sh 
 
 ==> lus2lic2.sum <==
-Test run by jahier on Fri Mar 13 11:51:48 
+Test run by jahier on Tue Mar 17 15:59:54 
 Native configuration is x86_64-pc-linux-gnu
 
 		=== lus2lic2 tests ===
@@ -753,7 +753,7 @@ PASS: sh zzz2.sh
 PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c zzz2.lus  {}
 
 ==> lus2lic3.sum <==
-Test run by jahier on Fri Mar 13 11:52:27 
+Test run by jahier on Tue Mar 17 16:00:36 
 Native configuration is x86_64-pc-linux-gnu
 
 		=== lus2lic3 tests ===
@@ -1267,7 +1267,7 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node multipar.lus {}
 
 
 ==> lus2lic4.sum <==
-Test run by jahier on Fri Mar 13 11:53:12 
+Test run by jahier on Tue Mar 17 16:01:24 
 Native configuration is x86_64-pc-linux-gnu
 
 		=== lus2lic4 tests ===
@@ -1759,7 +1759,7 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {}
 # of expected failures		54
 
 ==> lus2lic1.sum <==
-PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus 33421 {}
+PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus 42945 {}
 
 		=== lus2lic1 Summary ===
 
@@ -1788,13 +1788,13 @@ PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus 33421
 ===============================
 # Total number of failures: 10
 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 1 seconds
-lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 33 seconds
-lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 39 seconds
-lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 45 seconds
-lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 25 seconds
+lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 34 seconds
+lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 42 seconds
+lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 48 seconds
+lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 27 seconds
 * Ref time: 
-82.98user 26.19system 2:22.66elapsed 76%CPU (0avgtext+0avgdata 283996maxresident)k
-0inputs+149888outputs (0major+11433733minor)pagefaults 0swaps
+91.35user 25.60system 2:31.55elapsed 77%CPU (0avgtext+0avgdata 283744maxresident)k
+8inputs+149864outputs (0major+11398400minor)pagefaults 0swaps
 * Quick time (-j 4):
-104.96user 28.76system 1:25.60elapsed 156%CPU (0avgtext+0avgdata 283296maxresident)k
-0inputs+147480outputs (0major+11277942minor)pagefaults 0swaps
+103.77user 26.30system 1:25.06elapsed 152%CPU (0avgtext+0avgdata 283240maxresident)k
+10496inputs+147536outputs (7major+11271430minor)pagefaults 0swaps