diff --git a/src/ddtranslatorSoclib/AvatarComponent.java b/src/ddtranslatorSoclib/AvatarComponent.java
index d014d72370eb6e06e6866286edef70f542a9f3cc..55f5df1dc24c514345a43733d623d8d969339b7e 100755
--- a/src/ddtranslatorSoclib/AvatarComponent.java
+++ b/src/ddtranslatorSoclib/AvatarComponent.java
@@ -47,5 +47,12 @@
 package ddtranslatorSoclib;
 
 public abstract class AvatarComponent {
-
+    public String name;
+
+    public String getName(){
+	return name;
+    }
+    public void setName(String _name){
+	name=_name;
+    }
 }
diff --git a/src/ddtranslatorSoclib/AvatarddSpecification.java b/src/ddtranslatorSoclib/AvatarddSpecification.java
index d0b4207023d16a23c3822bd2ad9adc2ded03a4f6..fa1e936aa07811e259c1d2c6272e4a6aa4ec16a1 100755
--- a/src/ddtranslatorSoclib/AvatarddSpecification.java
+++ b/src/ddtranslatorSoclib/AvatarddSpecification.java
@@ -114,24 +114,13 @@ There always is a RAM0, a TTY and an interconnect (Bus or VGMN or crossbar) othe
         }
       return channels;
     }
-    
-    public LinkedList<AvatarConnector> getAllConnectors(){
-      LinkedList<AvatarConnector> connectors = new LinkedList<AvatarConnector>();
-      for (AvatarConnector connector: connectors )
-        {
-          if (connector instanceof AvatarConnector)
-	      connectors.add((AvatarConnector)connector);
-        }
-      return connectors;
-      }
-
+      
     public LinkedList<AvatarTTY> getAllTTY(){
 	int i=0;
       LinkedList<AvatarTTY> ttys = new LinkedList<AvatarTTY>();
       for (AvatarComponent tty : components )
         {
-	    if (tty instanceof AvatarTTY){ 
-		//tty.setNo_tty(i);i++;
+	    if (tty instanceof AvatarTTY){ 		
 		ttys.add((AvatarTTY)tty);
 	    }
         }
diff --git a/src/ddtranslatorSoclib/toTopCell/Declaration.java b/src/ddtranslatorSoclib/toTopCell/Declaration.java
index 6127735a6488b276b4eccb8450ba6b7756f7c4b9..f3325370cdd3e9496d852d4a8bc8004cb34ed182 100755
--- a/src/ddtranslatorSoclib/toTopCell/Declaration.java
+++ b/src/ddtranslatorSoclib/toTopCell/Declaration.java
@@ -203,74 +203,6 @@ if(nb_clusters==0){
 	  declaration += "soclib::caba::VciVgsb<vci_param> vgsb(\"" + bus.getBusName() + "\"" + " , maptab, cpus.size()+3," + (TopCellGenerator.avatardd.getNb_target()+4)+");" + CR2;
 	  int i=0;
 
-
-	  //monitoring connectors marked by spy with the vci_ logger
-	  /*  for (AvatarConnector connector : TopCellGenerator.avatardd.getAllConnectors()) { 
-		    if (connector.getMonitored()==1){
-		      
-			
-			AvatarConnectingPoint point = connector.getconectingPoint1();
-			AvatarComponent component = point.getComponent();
-			declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-			i++;
-			if(component instanceof AvatarRAM){ 		
-			   
-			}
-	
-			//cache monitoring not yet implemented
-			//	if(component instanceof AvatarCPU){ 
-			//	component.setMonitored(1);
-			//	}		
-			//}
-	       }*/
-
-
-//monitoring CPU either by logger(1) ou stats (2) 
- for (AvatarCPU cpu : TopCellGenerator.avatardd.getAllCPU()) { 
-	     
-	      if (cpu.getMonitored()==1){
-		 
-		  declaration += "soclib::caba::VciLogger<vci_param> vci_logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-		  i++;	      
-	      }	
-	      /* else{
-		  	  if (cpu.getMonitored()==2){		      
-             
-		      String strArray="";		      
-		      //DG 30.01. no channels in case of cpu monitoring; does this make sense? channels associated to RAM not CPU and potentially any CPU can access any RAM...think about	
-		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr"+i+".log\",stringArray("+strArray+"NULL));" + CR2;
-		      i++;	      
-		  }	
-		  }*/
-	  }	 
- 
- i=0;
-	  //monitoring RAM either by logger(1) ou stats (2) 
-	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
-	     
-	      if (ram.getMonitored()==1){
-		 
-		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-		  i++;	      
-	      }	
-	      else{
-		  if (ram.getMonitored()==2){		      
-             
-		      String strArray="";
-
-		      for(AvatarChannel channel: ram.getChannels()){ 
-		   
-			  String chname = generateName(channel);
-		     
-			  strArray=strArray+"\""+chname+"\",";
-		      }   
-		
-		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr"+i+".log\",stringArray("+strArray+"NULL));" + CR2;
-		      i++;	      
-		  }	
-	     }
-	  }	 
- 
           //if BUS was not last in input file, update here
 
           bus.setNbOfAttachedInitiators(TopCellGenerator.avatardd.getNb_init()); 
@@ -290,33 +222,14 @@ if(nb_clusters==0){
 
 	  declaration += "soclib::caba::VciVgmn<vci_param> vgmn(\"" + vgmn.getVgmnName() + "\"" + " , maptab, cpus.size()+3," + (TopCellGenerator.avatardd.getNb_target()+4)+
 	     "," + vgmn.getMinLatency() + "," + vgmn.getFifoDepth() + ");" + CR2;
-	  int i=0;
-	
-	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
 
-	    if (ram.getMonitored()==1){
-		int number = ram.getNo_target();
-		declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-	      i++;	      
-	    }	
-	    else{
-
-		if (ram.getMonitored()==2){
-		int number = ram.getNo_target();
-               	
-		String strArray="";
-
-                for(AvatarChannel channel: ram.getChannels()){
-		    
-		    String chname = generateName(channel);
-
-		    strArray=strArray+"\""+chname+"\",";
-		}      
-		declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr0.log\",stringArray("+strArray+"NULL));" + CR2;
-	      i++;	      
-		}	
-	    }
-	  }	
+	  // if VGMN was not last in input file, update here 
+          vgmn.setNbOfAttachedInitiators(TopCellGenerator.avatardd.getNb_init()); 
+          vgmn.setnbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target()+4);
+
+	 }
+
+
 
 	  /*	VciMwmrController(
 		sc_module_name name,
@@ -330,18 +243,14 @@ if(nb_clusters==0){
 		const size_t n_from_coproc,
 		const size_t n_config,
 		const size_t n_status,
-        const bool use_llsc );
+		const bool use_llsc );
 	  */
 
 	  //only non-clustered version
 	  for (AvatarCoproMWMR copro : TopCellGenerator.avatardd.getAllCoproMWMR()){
 		      declaration += "caba::VciMwmrController<vci_param> " + copro.getCoprocName()+ "(\"" + copro.getCoprocName()+ "\", maptab, IntTab("+copro.getSrcid() + "), IntTab("+copro.getTgtid() + "),copro.getPlaps(),copro.getFifoToCoProcDepth(),copro.getNToCopro(),copro.getNFromCopro(),copro.getNConfig(),copro.getNStatus(), copro.getUseLLSC());"+ CR;
-		i++;}
-
-	  // if VGMN was not last in input file, update here 
-          vgmn.setNbOfAttachedInitiators(TopCellGenerator.avatardd.getNb_init()); 
-          vgmn.setnbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target()+4);
-	 }
+	
+	  }
 }
 else {
 
@@ -349,101 +258,29 @@ else {
     /* clustered interconnect architecture */
     /***************************************/
 
-    //monitor connectors marked by spy with the vci_ logger
-    /*	  for (AvatarConnector connector : TopCellGenerator.avatardd.getAllConnectors()) { 
-		    if (connector.getMonitored()==1){		      		
-
-			AvatarConnectingPoint point = connector.getconectingPoint1();
-			AvatarComponent component = point.getComponent();
-			declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-			i++;
-			if(component instanceof AvatarRAM){ 		
-			   
-			}
-	
-			//cache monitoring not yet implemented
-			//	if(component instanceof AvatarCPU){ 
-			//	component.setMonitored(1);
-			//	}		
-		    }
-	   }*/
-    
+       
     for  (AvatarBus bus : TopCellGenerator.avatardd.getAllBus()) {
 	
 	declaration += "soclib::caba::VciVgsb<vci_param>  vgsb(\"" + bus.getBusName() + "\"" + " , maptab, "+ +nb_clusters+"," + nb_clusters + ");" + CR2;
 	  
           //if BUS was not last in input file, update here	 
-	  int i=0;
-	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
-
-	      if (ram.getMonitored()==1){
-		
-		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-		  i++;	      
-	      }	
-	      else{
-		  if (ram.getMonitored()==2){
-		    
-             
-		      String strArray="";
-
-		      for(AvatarChannel channel: ram.getChannels()){ 
-		   
-			  String chname = generateName(channel);
-		     
-			  strArray=strArray+"\""+chname+"\",";
-		      }   
-		
-		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr"+i+".log\",stringArray("+strArray+"NULL));" + CR2;
-		      i++;	      
-		  }	
-	     }
-	  }	           
+	  int i=0;	
     }	
 
-         // currently clustered around one vgmn
-         for  (AvatarVgmn vgmn : TopCellGenerator.avatardd.getAllVgmn()) {
+         
+    for  (AvatarVgmn vgmn : TopCellGenerator.avatardd.getAllVgmn()) {
           System.out.println("initiators: "+TopCellGenerator.avatardd.getNb_init());	
           System.out.println("targets: "+TopCellGenerator.avatardd.getNb_target());
       	 
 	  declaration += "soclib::caba::VciVgmn<vci_param> vgmn (\"" + vgmn.getVgmnName() + "\"" + " , maptab, "+ nb_clusters +"," + nb_clusters +
 	      "," + vgmn.getMinLatency() + "," + vgmn.getFifoDepth() + ");" + CR2;
-
-	  int i=0;	
-
-	  //monitoring either by logger(1) ou stats (2) 
-	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
-
-	      if (ram.getMonitored()==1){
-		
-		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
-		  i++;	      
-	      }	
-	      else{
-		  if (ram.getMonitored()==2){
-		    
-             
-		      String strArray="";
-
-		      for(AvatarChannel channel: ram.getChannels()){ 
-		   
-			  String chname = generateName(channel);
-		     
-			  strArray=strArray+"\""+chname+"\",";
-		      }   
-		
-		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr"+i+".log\",stringArray("+strArray+"NULL));" + CR2;
-		      i++;	      
-		  }	
-	     }
-	  }	 		
+	 	
 	 }
 	
 	 int i=0;
-	for  (AvatarCrossbar crossbar : TopCellGenerator.avatardd.getAllCrossbar()) {
-	    
-	    /* attribution d'un index de cluster par ordre d'arrivee */
-	    //currently number on initiators and targets is fixed
+	for  (AvatarCrossbar crossbar : TopCellGenerator.avatardd.getAllCrossbar()) {	    
+	  
+	    //currently the number on initiators and targets is fixed
 
 	  crossbar.setClusterIndex(i);
 
@@ -455,8 +292,8 @@ else {
 	      //processor(s) and link to central interconnect are initiators
 	      //crossbar.setNbOfAttachedInitiators(2);	 
 	      //crossbar.setNbOfAttachedTargets(2);
-	      crossbar.setNbOfAttachedInitiators(1);//DG 27.09.	 
-	      crossbar.setNbOfAttachedTargets(1);//DG 27.09.
+	      crossbar.setNbOfAttachedInitiators(1);
+	      crossbar.setNbOfAttachedTargets(1);
 	  }
 
           System.out.println("initiators: "+crossbar.getNbOfAttachedInitiators());	
@@ -469,11 +306,51 @@ else {
 
           //if CROSSBAR was not last in input file, update here 
           crossbar.setNbOfAttachedInitiators(TopCellGenerator.avatardd.getNb_init()); 
-          crossbar.setNbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target());
-	 
-	  i++;
+          crossbar.setNbOfAttachedTargets(TopCellGenerator.avatardd.getNb_target());	 
+
 	}
-    }
+}
+int  i=0;
+	 //monitoring CPU by logger(1)
+	  for (AvatarCPU cpu : TopCellGenerator.avatardd.getAllCPU()) { 
+	     
+	      if (cpu.getMonitored()==1){
+		  System.out.println("Spy CPU");
+		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
+		  i++;	      
+	      }		    
+	  }	 
+  
+	  int j=0;
+	  //monitoring RAM either by logger(1) ou stats (2) 
+	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
+	     if (ram.getMonitored()==0){
+ 
+	     }
+	      if (ram.getMonitored()==1){
+		  System.out.println("Spy RAM : Logger");
+		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
+		  i++;	      
+	      }	
+	      else{
+		  if (ram.getMonitored()==2){		      
+              System.out.println("Spy RAM : Stats");
+		      String strArray="";
+
+		      for(AvatarChannel channel: ram.getChannels()){ 
+		   
+			  String chname = generateName(channel);
+		     
+			  strArray=strArray+"\""+chname+"\",";
+		      }   
+		
+		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+j+"(\"mwmr_stats" + j+"\",maptab, data_ldr, \"mwmr"+j+".log\",stringArray("+strArray+"NULL));" + CR2;
+		      j++;	      
+		  }	
+	     }
+	  }	 
+ 	
 return declaration;
 	}
-}
+
+}
\ No newline at end of file
diff --git a/src/ddtranslatorSoclib/toTopCell/NetList.java b/src/ddtranslatorSoclib/toTopCell/NetList.java
index b7a996c73fbf24c9cdf4d21137d13bc816603235..c6db44071d3e979e826c6b1753e9bbe4c442a284 100755
--- a/src/ddtranslatorSoclib/toTopCell/NetList.java
+++ b/src/ddtranslatorSoclib/toTopCell/NetList.java
@@ -56,8 +56,8 @@ public class NetList {
     public static String getNetlist(String icn, boolean _tracing) {
 	int nb_clusters=TopCellGenerator.avatardd.getAllCrossbar().size();
 	
-	boolean trace_caba=true; //tracing is enabled in cycle accurate mode
 	tracing = _tracing;
+	
 	String netlist;
 
 	netlist = CR2 + "//------------------------------Netlist---------------------------------" + CR2;
@@ -347,35 +347,7 @@ public class NetList {
 		netlist = netlist + "mwmr"+i+".p_vci_target(signal_mwmr_"+i+"_target);" + CR;	
                 netlist = netlist + copro.getCoprocName()+".p_"+i+"_ctrl(signal_fifo_"+i+"_ctrl);" + CR;
           }
-	    //	}
-
-	//int j;
-	/* netlist for connecting the monitoring infrastructure */	
-	/* Which VCI interfaces are marked for full log, with a spy sign? */
-	/* Attention we do not want two loggers if RAM ist already logged (currently not checked) */
-	/* vci_stats only possible for RAMS with mapped channels */
-		
-	/*  for (AvatarConnector connector : TopCellGenerator.avatardd.getAllConnectors()) { 
-		    if (connector.getMonitored()==1){
-		      
-			// we identify the component on the interface 
-
-			AvatarConnectingPoint point = connector.getconectingPoint1();
-			AvatarComponent component = point.getComponent();
-
-			if(component instanceof AvatarRAM){ 		
-			    int number = number = ram.getNo_ram();
-			    netlist += "logger"+i+".p_clk(signal_clk);" + CR;
-			    netlist += "logger"+i+".p_resetn(signal_resetn);" + CR; 
-			    netlist += "logger"+i+".p_vci(signal_vci_vciram"+number+");" + CR2;  		    
-			}
-	
-			//cache monitoring not yet implemented
-			//	if(component instanceof AvatarCPU){ 
-			//	component.setMonitored(1);
-			//	}		
-		    }
-	   }*/
+	   
 	
    //If there is a spy, add logger or stats to vci interface
 
@@ -383,43 +355,40 @@ public class NetList {
    for (AvatarCPU cpu : TopCellGenerator.avatardd.getAllCPU()) { 
        int number = cpu.getNo_proc();	
 	  if(cpu.getMonitored()==1){
-	  netlist=netlist+
-	  "vci_logger"+i+".p_clk(signal_clk);" +CR+
-	  "vci_logger"+i+".p_resetn(signal_resetn);" +CR+	     
-	  "vci_logger"+i+".p_vci(signal_vci_m["+number+"]);" +CR2;
-	      }
-	  /* else{//stats pas encore pour CPU
-	      if(cpu.getMonitored()==2){ 
-		  netlist=netlist+
-	  "mwmr_stats"+i+".p_clk(signal_clk);" +CR+
-	  "mwmr_stats"+i+".p_resetn(signal_resetn);" +CR+	     
-	  "mwmr_stats"+i+".p_vci(signal_vci_m["+number+"]);" +CR2;
-	      }
-	      }*/
+	  netlist=netlist+CR+
+	  "logger"+i+".p_clk(signal_clk);" +CR+
+	  "logger"+i+".p_resetn(signal_resetn);" +CR+	     
+	  "logger"+i+".p_vci(signal_vci_m["+number+"]);" +CR2;
 	  i++;
+	  }	
+	  
    }
- 
-	i=0;
+   int j=0;
+  
 	for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
 	    if (ram.getMonitored()==1){	
 		int number = number = ram.getNo_ram();
 		netlist += "logger"+i+".p_clk(signal_clk);" + CR;
 		netlist += "logger"+i+".p_resetn(signal_resetn);" + CR; 
-		netlist += "logger"+i+".p_vci(signal_vci_vciram"+number+");" + CR2;  	     
+		netlist += "logger"+i+".p_vci(signal_vci_vciram"+number+");" + CR2;  	  
+		i++;   
 	    }	
 	    else{
+		
 		if (ram.getMonitored()==2){
 		    int number = number = ram.getNo_ram();	
-		    netlist += "mwmr_stats"+i+".p_clk(signal_clk);" + CR;
-		    netlist += "mwmr_stats"+i+".p_resetn(signal_resetn);" + CR; 
-		    netlist += "mwmr_stats"+i+".p_vci(signal_vci_vciram"+number+");" + CR2;		    
-		    i++;	      
+		    netlist += "mwmr_stats"+j+".p_clk(signal_clk);" + CR;
+		    netlist += "mwmr_stats"+j+".p_resetn(signal_resetn);" + CR; 
+		    netlist += "mwmr_stats"+j+".p_vci(signal_vci_vciram"+number+");" + CR2;		    
+		    j++;	      
 		}	 		
-	    }
+	    }	   	   
 	}
 		
 	//generate trace file if marked trace option 
-	/*	netlist += "sc_trace_file *tf;" + CR;
+	
+	if(tracing){
+		netlist += "sc_trace_file *tf;" + CR;
 	netlist += "tf=sc_create_vcd_trace_file(\"mytrace\");" + CR;
 	netlist += "sc_trace(tf,signal_clk,\"CLK\");" + CR;
 	netlist += "sc_trace(tf,signal_resetn,\"RESETN\");" + CR;
@@ -430,8 +399,6 @@ public class NetList {
 	netlist += "sc_trace(tf, signal_vci_vcirom ,\"signal_vci_vcirom\");" + CR;
 	netlist += "sc_trace(tf, signal_vci_vcisimhelper,\"signal_vci_vcisimhelper\");" + CR;
 	netlist += "sc_trace(tf, signal_vci_vcirttimer ,\"signal_vci_vcirttimer\");" + CR;	    
-	//netlist += "sc_trace(tf, signal_vci_mwmr_ram ,\"signal_vci_mwmr_ram\");" + CR;
-	//netlist += "sc_trace(tf, signal_vci_mwmrd_ram ,\"signal_vci_mwmrd_ram\");" + CR;
 	netlist += "sc_trace(tf, signal_vci_vcifdaccessi,\"signal_vci_vcifdaccessi\");" + CR;
 	netlist += "sc_trace(tf,signal_vci_vcifdaccesst ,\"signal_vci_vcifdaccesst\");" + CR;
 	netlist += "sc_trace(tf,signal_vci_bdi ,\"signal_vci_bdi\");" + CR;
@@ -459,16 +426,16 @@ public class NetList {
 	    if (ram.getMonitored()==0){			
 		netlist += "sc_trace(tf,signal_vci_vciram"+ram.getNo_ram()+",\"Memory"+ram.getNo_ram()+"\");" + CR;
 	    }
-	    }*/	   
-    	
+	    }	   
+    	}
     netlist = netlist + "  sc_core::sc_start(sc_core::sc_time(0, sc_core::SC_NS));" + CR;
     netlist = netlist + "  signal_resetn = false;" + CR;
     netlist = netlist + "  sc_core::sc_start(sc_core::sc_time(1, sc_core::SC_NS));" + CR;
     netlist = netlist + "  signal_resetn = true;" + CR;
     netlist = netlist + "  sc_core::sc_start();" + CR;
-    //if(tracing){
-    //	netlist += "sc_close_vcd_trace_file(tf);" + CR;
-    //	}
+    if(tracing){
+    	netlist += "sc_close_vcd_trace_file(tf);" + CR;
+    	}
     netlist = netlist + CR + "  return EXIT_SUCCESS;"+ CR;
     netlist = netlist +"}" + CR;
     return netlist;		
diff --git a/src/ddtranslatorSoclib/toTopCell/TopCellGenerator.java b/src/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
index 04343ae26a39b9a69a80bba86881a269c5c294e7..7eea27208a58eed0d9ab82859c0e5778b955fbd3 100755
--- a/src/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
+++ b/src/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
@@ -115,6 +115,7 @@ public class TopCellGenerator
 		System.out.println("***VGSB based ***");
 		icn="vgsb";
 	    }
+
       // If there is a spy, add spy component to vci interface;
       // both adjacent componants are spied.
       // Currently for CPU and RAM only.
@@ -122,52 +123,46 @@ public class TopCellGenerator
       // various infos on MWMR channels 
       // RAM and CPU  monitoring are for  required for determining latency
       // of memory accesses other than channel    
-     
-      System.out.println("@@@@@@@BEFORE SPY@@@@@@@");
-
-      for  (AvatarConnector connector : TopCellGenerator.avatardd.getAllConnectors()){
+         
+      for  (AvatarConnector connector : avatardd.getConnectors()){
      AvatarConnectingPoint my_p1= (AvatarConnectingPoint)connector.get_p1(); 
      AvatarConnectingPoint my_p2= (AvatarConnectingPoint)connector.get_p2(); 
-
-     System.out.println("@@@@@@@BEFORE SPY2@@@@@@@");
- 
+    
       //If a spy glass symbol is found, and component itself not yet marked 
       
   AvatarComponent comp1 = my_p1.getComponent();
   AvatarComponent comp2 = my_p2.getComponent(); 
 
   if (connector.getMonitored()==1){
-  System.out.println("@@@@@@@SPY@@@@@@@");
+      //comp2 devrait toujours etre un interconnect
 	  if (comp1 instanceof AvatarRAM){
 	      AvatarRAM comp1ram = (AvatarRAM)comp1;
-	      System.out.println("@@@@@@@RAM1@@@@@@@");
-	      comp1ram.setMonitored(1);
+	      System.out.println("RAM  monitored "+comp1ram.getMonitored());
+	      comp1ram.setMonitored(comp1ram.getMonitored());
 	  }
 
 	  if (comp1 instanceof AvatarCPU){ 
 	      AvatarCPU comp1cpu = (AvatarCPU)comp1;
-	      System.out.println("@@@@@@@CPU1@@@@@@@");
-	      comp1cpu.setMonitored(1);
+	    System.out.println("CPU monitored "+comp1cpu.getMonitored());
+	      comp1cpu.setMonitored(comp1cpu.getMonitored());
 	  }
 
-	if (comp2 instanceof AvatarRAM){ 
+	  /*	if (comp2 instanceof AvatarRAM){ 
 	    AvatarRAM comp2ram = (AvatarRAM)comp1;
-	    System.out.println("@@@@@@@RAM2@@@@@@@");
-	    comp2ram.setMonitored(1);
+	    System.out.println("RAM2 topcell monitored "+comp2ram.getMonitored());
+	    comp2ram.setMonitored(comp2ram.getMonitored());
 	}
 
 	if (comp2 instanceof AvatarCPU){ 
 	    AvatarCPU comp2cpu = (AvatarCPU)comp2;
-	     System.out.println("@@@@@@@CPU2@@@@@@@");
-	    comp2cpu.setMonitored(1);
-	}
+	       System.out.println("CPU2 topcell monitored "+comp2cpu.getMonitored());
+	       comp2cpu.setMonitored(comp2cpu.getMonitored());
+	       }*/
   }
 }
     
-
 	    /* Central crossbar or local crossbars : ToDo */
 	   
-
 	    if(TopCellGenerator.avatardd.getNbCrossbar()>0){
 		 System.out.println("***Clustered Interconnect***");
 	    }
diff --git a/src/ui/AvatarDeploymentPanelTranslator.java b/src/ui/AvatarDeploymentPanelTranslator.java
index 885429013b950b0c9359c348d5a5b01348b08edc..1b82872471fff93d45bdcbc477d6310249bc65b4 100644
--- a/src/ui/AvatarDeploymentPanelTranslator.java
+++ b/src/ui/AvatarDeploymentPanelTranslator.java
@@ -254,7 +254,7 @@ public class AvatarDeploymentPanelTranslator {
 
 						String referenceDiagram = c.getReferenceDiagram();
 						String channelName = c.getChannelName();
-						// DG channel is inevitably on same cluster as RAM it is mapped on :)
+						//channel is inevitably on same cluster as RAM it is mapped on :)
 						AvatarChannel avcl = new AvatarChannel(referenceDiagram, channelName, avram, cluster_index, monitored);
 						avram.addChannel(avcl);
 						avatarMappedObject.add(avcl);
@@ -269,25 +269,20 @@ public class AvatarDeploymentPanelTranslator {
 		for (TGComponent dp : tgcComponents) {
 		  
 			if (dp instanceof ADDConnector) {
-System.out.println("@@@@@@@CONNECTOR FOUND@@@@@@@");	
+
 				ADDConnector connector = (ADDConnector) dp;
-				//ADDConnectingPoint connectingPoint1 = (ADDConnectingPoint) connector.get_p1();
-				//ADDConnectingPoint connectingPoint2 = (ADDConnectingPoint) connector.get_p2();			
+			
 				TGConnectingPoint connectingPoint1 =  connector.get_p1();
 				TGConnectingPoint connectingPoint2 =  connector.get_p2();	
 	
 				TGComponent owner_p1 = avatarddDiagramPanel.getComponentToWhichBelongs(connectingPoint1);
 				TGComponent owner_p2 = avatarddDiagramPanel.getComponentToWhichBelongs(connectingPoint2);
 
-System.out.println("@@@@@@@@@@@@@"+owner_p1.getName()+" connected to "+owner_p2.getName());	
+				System.out.println(owner_p1.getName()+" connected to "+owner_p2.getName());	
 
 				AvatarComponent avowner_p1 = avatarMap.get(owner_p1);	
 				AvatarComponent avowner_p2 = avatarMap.get(owner_p2);
-
-				if(avowner_p1 instanceof AvatarCPU)
-				    System.out.println("@@@@@@IS A CPU @@@@@@@");  
-				if(avowner_p1 instanceof AvatarRAM)
-				    System.out.println("@@@@@@IS A RAM @@@@@@@");  
+			       
 				//create Avatar connecting points
 
 				AvatarConnectingPoint avconnectingPoint1 = new AvatarConnectingPoint(avowner_p1);
@@ -296,11 +291,12 @@ System.out.println("@@@@@@@@@@@@@"+owner_p1.getName()+" connected to "+owner_p2.
 				int monitored = 0;
 				if (spy == true){
 					monitored = 1; 
-					System.out.println("@@@@@@HAS A SPY @@@@@@@");  
+				
 				}
 				AvatarConnector avconnector = new AvatarConnector(avconnectingPoint1, avconnectingPoint2, monitored);
 
 				avatarConnectors.add(avconnector);
+
 			}
 		}
 	}
diff --git a/src/ui/avatardd/ADDMemoryNode.java b/src/ui/avatardd/ADDMemoryNode.java
index 6eff2b9fdcd6bde25ec1a5dd4116a624e63f490e..56106392ee03c584c12e14e7d8b3893769ee5f7f 100755
--- a/src/ui/avatardd/ADDMemoryNode.java
+++ b/src/ui/avatardd/ADDMemoryNode.java
@@ -207,7 +207,14 @@ public abstract class ADDMemoryNode extends ADDCommunicationNode implements With
 	if (dialog.getMonitored() != 0) {
             try {
                 tmp = monitored;
+
+		System.out.println("@@@@ ADDMemoryNode monitored"+monitored);
+
                 monitored = dialog.getMonitored();//Integer.decode(dialog.getMonitored()).intValue();
+
+		System.out.println("@@@@ ADDMemoryNode monitored"+monitored);
+
+
                 if (index < 0) {
                     monitored = tmp;
                     error = true;
diff --git a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
index 54f87609e5f970da8fc2b359021d8d39153a9370..702660ea191680333c01ac5c05cdef269c051738 100755
--- a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
+++ b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
@@ -78,7 +78,7 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
     private String textSysC1 = "Base directory of code generation:";
     private String textSysC2 = "Compile soclib executable with";   
-    private String textSysC3 = "Run code and trace traffic on interconnect :";
+    //private String textSysC3 = "Run code and trace traffic on interconnect :";
     private String textSysC4 = "Run code in soclib / mutekh:";
     private String textSysC5 = "Show AVATAR trace from file w/o hardware:";
     private String textSysC6 = "Show cycle accurate trace from MPSoC file:";
@@ -127,7 +127,7 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
     private static boolean removeCFilesValue = true;
     private static boolean removeXFilesValue = true;
     private static boolean debugValue = false;
-    private static boolean tracingValue = true;
+    private static boolean tracingValue = false;
     private static boolean optimizeValue = true;
 
     private Thread t;
@@ -316,12 +316,12 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
 	exegroup = new ButtonGroup();      
 
-        exetrace = new JRadioButton(textSysC3, false);
+        /*exetrace = new JRadioButton(textSysC3, false);
         exetrace.addActionListener(this);
         exegroup.add(exetrace);
         jp03.add(exetrace, c03);
         exe3 = new JTextField(pathExecuteMPSoC+"-trace", 100);
-        jp03.add(exe3, c03);
+        jp03.add(exe3, c03);*/
 
         exesoclib = new JRadioButton(textSysC4, false);
         exesoclib.addActionListener(this);
@@ -331,7 +331,7 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
         jp03.add(exe4, c03);
 
         //exe.setSelected(selectedRun == 0);
-        exetrace.setSelected(selectedRun == 1);
+        //exetrace.setSelected(selectedRun == 1);
         exesoclib.setSelected(selectedRun == 2);        
 
         jp03.add(new JLabel(" "), c03);
@@ -447,14 +447,14 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
     public void makeSelectionExecute() {
       
-	if (exetrace.isSelected()) {
-	    selectedRun = 1;
-	} else {
+	//if (exetrace.isSelected()) {
+	//    selectedRun = 1;
+	//} else {
 	    selectedRun = 2;
-	}
+	    //}
 	
 	// exe2.setEnabled(selectedRun == 0);
-        exe3.setEnabled(selectedRun == 1);
+        //exe3.setEnabled(selectedRun == 1);
         exe4.setEnabled(selectedRun == 2);
     }
 
@@ -661,11 +661,11 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
 	    if (jp1.getSelectedIndex() == 2) {
 		try {
-		    if (selectedRun == 1) {
-			cmd = exe3.getText();
-		    } else {
+		    // if (selectedRun == 1) {
+			//cmd = exe3.getText();
+		    //} else {
 			cmd = exe4.getText();
-		    }
+			// }
 		
 		    jta.append("Executing code with command: \n" + cmd + "\n");