diff --git a/src/remotesimulation/CommandParser.java b/src/remotesimulation/CommandParser.java
new file mode 100755
index 0000000000000000000000000000000000000000..7db4aa51c6edb2c4fd4f73a08e9642a5d7849e01
--- /dev/null
+++ b/src/remotesimulation/CommandParser.java
@@ -0,0 +1,59 @@
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+*
+* ludovic.apvrille AT enst.fr
+*
+* This software is a computer program whose purpose is to allow the
+* edition of TURTLE analysis, design and deployment diagrams, to
+* allow the generation of RT-LOTOS or Java code from this diagram,
+* and at last to allow the analysis of formal validation traces
+* obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+* from INRIA Rhone-Alpes.
+*
+* This software is governed by the CeCILL  license under French law and
+* abiding by the rules of distribution of free software.  You can  use,
+* modify and/ or redistribute the software under the terms of the CeCILL
+* license as circulated by CEA, CNRS and INRIA at the following URL
+* "http://www.cecill.info".
+*
+* As a counterpart to the access to the source code and  rights to copy,
+* modify and redistribute granted by the license, users are provided only
+* with a limited warranty  and the software's author,  the holder of the
+* economic rights,  and the successive licensors  have only  limited
+* liability.
+*
+* In this respect, the user's attention is drawn to the risks associated
+* with loading,  using,  modifying and/or developing or reproducing the
+* software by the user in light of its specific status of free software,
+* that may mean  that it is complicated to manipulate,  and  that  also
+* therefore means  that it is reserved for developers  and  experienced
+* professionals having in-depth computer knowledge. Users are therefore
+* encouraged to load and test the software's suitability as regards their
+* requirements in conditions enabling the security of their systems and/or
+* data to be ensured and,  more generally, to use and operate it in the
+* same conditions as regards security.
+*
+* The fact that you are presently reading this means that you have had
+* knowledge of the CeCILL license and that you accept its terms.
+*
+* /**
+* Class CommandParser
+* For managing commands the C++ simulator
+* Creation: 16/04/2009
+* @version 1.1 16/04/2009
+* @author Ludovic APVRILLE
+* @see
+*/
+
+package remotesimulation;
+
+import java.io.*;
+import java.net.*;
+import javax.swing.*;
+
+
+public class CommandParser {
+    
+	public CommandParser() {
+	}
+    
+}
\ No newline at end of file
diff --git a/src/remotesimulation/RemoteConnection.class b/src/remotesimulation/RemoteConnection.class
new file mode 100644
index 0000000000000000000000000000000000000000..65ca36e07474ffe93a9e430980f99e2c1e27c0df
Binary files /dev/null and b/src/remotesimulation/RemoteConnection.class differ
diff --git a/src/remotesimulation/RemoteConnection.java b/src/remotesimulation/RemoteConnection.java
new file mode 100755
index 0000000000000000000000000000000000000000..07c0817625b2a6f051ffadb83e0c5fd4f3f08397
--- /dev/null
+++ b/src/remotesimulation/RemoteConnection.java
@@ -0,0 +1,549 @@
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+*
+* ludovic.apvrille AT enst.fr
+*
+* This software is a computer program whose purpose is to allow the
+* edition of TURTLE analysis, design and deployment diagrams, to
+* allow the generation of RT-LOTOS or Java code from this diagram,
+* and at last to allow the analysis of formal validation traces
+* obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+* from INRIA Rhone-Alpes.
+*
+* This software is governed by the CeCILL  license under French law and
+* abiding by the rules of distribution of free software.  You can  use,
+* modify and/ or redistribute the software under the terms of the CeCILL
+* license as circulated by CEA, CNRS and INRIA at the following URL
+* "http://www.cecill.info".
+*
+* As a counterpart to the access to the source code and  rights to copy,
+* modify and redistribute granted by the license, users are provided only
+* with a limited warranty  and the software's author,  the holder of the
+* economic rights,  and the successive licensors  have only  limited
+* liability.
+*
+* In this respect, the user's attention is drawn to the risks associated
+* with loading,  using,  modifying and/or developing or reproducing the
+* software by the user in light of its specific status of free software,
+* that may mean  that it is complicated to manipulate,  and  that  also
+* therefore means  that it is reserved for developers  and  experienced
+* professionals having in-depth computer knowledge. Users are therefore
+* encouraged to load and test the software's suitability as regards their
+* requirements in conditions enabling the security of their systems and/or
+* data to be ensured and,  more generally, to use and operate it in the
+* same conditions as regards security.
+*
+* The fact that you are presently reading this means that you have had
+* knowledge of the CeCILL license and that you accept its terms.
+*
+* /**
+* Class RemoteConnection
+* For remote control of the simulator
+* Creation: 16/04/2009
+* @version 1.1 16/04/2009
+* @author Ludovic APVRILLE
+* @see
+*/
+
+package remotesimulation;
+
+import java.io.*;
+import java.net.*;
+import javax.swing.*;
+
+
+public class RemoteConnection {
+    
+    private static String NO_HOST = "Application has no execution host";
+    private static String INET = "Bad internet address for host ";
+    private static String SERV_NOT_RESP = "Server not responding on ";
+    private static String IO_ERROR = "Communication pb with server ";
+    
+    private String host;
+    //private String cmd;
+    private static int port = 3490;
+    //private int portString = -1;
+    //private int portString2 = -1;
+    private Socket clientSocket = null;
+    private BufferedReader in;
+    //private DataInputStream in2;
+    private PrintStream out;
+    //private int offset = 0;
+    
+    private boolean go;
+    
+    public RemoteConnection(String _host, int _port) {
+        host = _host;
+		port = _port;
+    }
+	
+	public RemoteConnection(String _host) {
+        host = _host;
+    }
+	
+	public void connect() throws RemoteConnectionException {
+        InetAddress ina = null;
+        
+        //System.out.println("Connecting on port " + portNet);
+        
+        if (host == null) {
+            throw new RemoteConnectionException(NO_HOST);
+        }
+        
+        try {
+            ina = InetAddress.getByName(host);
+        } catch (UnknownHostException e) {
+            throw new RemoteConnectionException(INET + host);
+        }
+        
+        try {
+            clientSocket = new Socket(ina, port);
+        } catch (IOException io) {
+            throw new RemoteConnectionException(SERV_NOT_RESP+host);
+        }
+        
+        try {
+            in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+            //in2 = new DataInputStream(clientSocket.getInputStream());
+            out = new PrintStream(clientSocket.getOutputStream());
+            //System.out.println("Connected on port " + portNet);
+        } catch (Exception e) {
+            throw new RemoteConnectionException(SERV_NOT_RESP+host);
+        }
+		
+		
+    }
+	
+	public void send(String s) throws RemoteConnectionException {
+		s = s .trim();
+		if (s.length() == 0) {
+			return;
+		}
+        System.out.println("Sending: " + s);
+        try {
+            out.print(s);
+            out.flush();
+        } catch (Exception e) {
+            throw new RemoteConnectionException(IO_ERROR);
+        }
+    }
+	
+	 public String readOneLine() throws RemoteConnectionException {
+        int nb;
+        String s = null;
+        try {
+            s = in.readLine();
+        } catch(IOException io) {
+            throw new RemoteConnectionException(IO_ERROR);
+        }
+		
+		if (s == null) {
+			throw new RemoteConnectionException(IO_ERROR);
+		}
+		
+		if (s.equals("null")) {
+			throw new RemoteConnectionException(IO_ERROR);
+		}
+        
+        return s;
+    }
+	
+	
+	
+	
+    
+    
+    /*public void stopFillJTA() throws RemoteConnectionException {
+        sendKillProcessRequest();
+        go = false;
+        closeConnect();
+    }
+    
+    public int getId() throws LauncherException {
+		connect(port);
+		send("00");
+		int id = readId();
+		closeConnect();
+		return id;
+    }
+    
+    public int freeId(int id) throws LauncherException {
+		connect(port);
+		send("0" + id);
+		int idret = readId();
+		if (idret != id) {
+			throw new LauncherException(ID_FAILED);
+		}
+		return idret;
+		
+    }
+    
+    public void sendProcessRequest() throws LauncherException {
+        connect(port);
+        send("1" + cmd);
+        readPortString();
+        closeConnect();
+    }
+    
+    public void sendProcessRequest(String cmd1, String cmd2) throws LauncherException {
+        connect(port);
+        send("3" + cmd1);
+        int id1 = readPortString();
+        closeConnect();
+        
+        connect(port);
+        send("3" + cmd2);
+        int id2 = readPortString();
+        closeConnect();
+        
+        connect(port);
+        send("2" + id1 + " " + id2);
+        readReturnPipedProcesses();
+        closeConnect();
+        
+        connect(port);
+        send("4" + id1);
+        readReturnPipedProcesses();
+        closeConnect();
+        
+        connect(port);
+        send("4" + id2);
+        readReturnPipedProcesses();
+        closeConnect();
+        
+        portString = id2;
+        portString2 = id1;
+    }
+    
+    public void sendFileData(String fileName, String data) throws LauncherException {
+        connect(port);
+        send("7" + fileName);
+        sendFileData(data);
+        send("7" + fileName);
+        readReturn();
+        closeConnect();
+    }
+    
+    public String getFileData(String fileName) throws LauncherException {
+        connect(port);
+        send("8" + fileName);
+        String s = readDataUntilCompletion();
+        closeConnect();
+        return s;
+    }
+    
+    public void deleteFile(String fileName) throws LauncherException {
+        connect(port);
+        send("9" + fileName);
+        readReturn();
+        closeConnect();
+    }
+    
+    public void sendKillProcessRequest() throws LauncherException {
+        connect(port);
+        send("6" + portString);
+        closeConnect();
+        if(portString2 != -1) {
+            connect(port);
+            send("6" + portString2);
+            closeConnect();
+        }
+    }
+    
+    public void sendKillAllProcessRequest() throws LauncherException {
+        connect(port);
+        send("5");
+        closeConnect();
+    }
+    
+    public String getDataFromProcess() throws LauncherException {
+        go = true;
+        StringBuffer bf = new StringBuffer();
+        
+        //System.out.println("Connect");
+        connect(portString);
+        
+        String s;
+        
+        //System.out.println("Waiting for data");
+        while (((s = readProcessData()) != null) && (go == true)) {
+            bf.append(s + "\n");
+        }
+        
+        //System.out.println("no more data : stopped");
+        closeConnect();
+        //System.out.println("Closed");
+        
+        return new String(bf);
+    }
+    
+    public void fillJTA(JTextArea jta) throws LauncherException {
+        go = true;
+        
+        //System.out.println("Connect");
+        connect(portString);
+        
+        String s;
+        
+        //System.out.println("Waiting for data");
+        while (((s = readProcessData()) != null) && (go == true)) {
+            jta.append(s + "\n");
+        }
+        
+        //System.out.println("no more data : stopped");
+        closeConnect();
+        //System.out.println("Closed");
+        
+    }
+    
+    public void closeConnect() throws LauncherException {
+        try {
+            clientSocket.close();
+        } catch (IOException io) {
+            throw new LauncherException(SERV_NOT_RESP+host);
+        }
+    }
+    
+	
+    
+    
+    
+    private void send(String s) throws LauncherException {
+        //System.out.println("Sending: " + s);
+        try {
+            out.println(s);
+            out.flush();
+        } catch (Exception e) {
+            throw new LauncherException(IO_ERROR);
+        }
+    }
+    
+    private void sendFileData(String data) throws LauncherException {
+        //System.out.println("Sending data");
+        StringReader sr = new StringReader(data);
+        BufferedReader br = new BufferedReader(sr);
+        String s;
+        try {
+            while((s = br.readLine()) != null) {
+                send("8" + s);
+            }
+        } catch (Exception e) {
+            throw new  LauncherException(FILE_FAILED);
+        }
+    }
+    
+	
+    
+    private String readProcessData() throws LauncherException {
+        int nb;
+        String s = null;
+        try {
+            s = in.readLine();
+            nb = Integer.decode(s.substring(0,1)).intValue();
+        } catch(IOException io) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb == 5) {
+            return null;
+        }
+        
+        s = s.substring(1, s.length());
+        if (s == null) {
+            s = "";
+        }
+        
+        return s;
+    }
+    
+    private String readDataUntilCompletion() throws LauncherException {
+        int nb=0, nbTotal, cpt = 0;
+        String s = null;
+        StringBuffer ret = new StringBuffer();
+        char []c = new char[BUFSIZE+1];
+        int read;
+        
+        try {
+            //System.out.println("Reading first data ");
+            s = in.readLine();
+            nb = Integer.decode(s.substring(0,1)).intValue();
+            if (nb == 8) {
+                nbTotal = Integer.decode(s.substring(1,s.length())).intValue();
+                //System.out.println("Total= " + nbTotal);
+                while (((cpt < nbTotal) && (read = in.read(c, 0, Math.min(BUFSIZE, nbTotal - cpt))) > -1)) {
+                    //s = new String(c, 0, read);
+                    //System.out.println("Nb read: " + read + " size of s =" + s.length());
+                    //nb = Integer.decode(s.substring(0,1)).intValue();
+                    //ret.append(s.substring(0, s.length()));
+					ret.append(c, 0, read);
+                    cpt += read;
+                }
+                // Read last info
+				//System.out.println("Reading last info");
+				nb = readReturn();
+				//System.out.println("Return = " + nb);
+                //read = in.read(c, 0, 1);
+				//s = new String(c, 0, read);
+                //System.out.println("Last s=" + s + " read=" + read);
+                //nb = Integer.decode(s.substring(0,1)).intValue();
+                //System.out.println("Last info=" + nb);
+				//nb= 3;
+            }
+        } catch(IOException io) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb != 3) {
+            throw new LauncherException(FILE_FAILED);
+        }
+        
+        return new String(ret);
+    }
+    
+	
+    
+    private int readReturn() throws LauncherException {
+        int nb;
+        String s = null;
+        
+        try {
+			//System.out.println("Reading line");
+            s = in.readLine();        
+			//System.out.println("Line read");
+			//System.out.println("Converting nb s=>" + s + "<");
+            nb = Integer.decode(s.substring(0,1)).intValue();
+			//System.out.println("Nb = " + nb);
+        } catch(IOException io) {
+			System.out.println("Exception 0");
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb != 3) {
+			System.out.println("Exception 1");
+            throw new LauncherException(FILE_FAILED);
+        }
+		return nb;
+    }
+    
+    private int readId() throws LauncherException {
+        int nb;
+        String s = null;
+        
+        try {
+            s = in.readLine();
+            nb = Integer.decode(s.substring(0,1)).intValue();
+        } catch(IOException io) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb == 0) {
+            throw new LauncherException(ID_FAILED);
+        }
+        
+        return nb;
+    }
+    
+    private void readReturnPipedProcesses() throws LauncherException {
+        int nb;
+        String s = null;
+        
+        try {
+            s = in.readLine();
+            nb = Integer.decode(s.substring(0,1)).intValue();
+        } catch(IOException io) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb != 3) {
+            throw new LauncherException(PROC_FAILED);
+        }
+    }
+    
+    private int readPortString() throws LauncherException {
+        int nb;
+        String s = null;
+        try {
+            s = in.readLine();
+            nb = Integer.decode(s.substring(0,1)).intValue();
+        } catch(IOException io) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (nb == 2) {
+            throw new LauncherException(PROC_FAILED);
+        }
+        
+        portString = -1;
+        portString2 = -1;
+        try {
+            portString = Integer.decode(s.substring(1, s.length())).intValue();
+        } catch (Exception e) {
+            throw new LauncherException(IO_ERROR);
+        }
+        
+        if (portString <1) {
+            throw new LauncherException(PROC_FAILED);
+        }
+        
+        return portString;
+    }
+    
+    private void connect(int portNet) throws LauncherException {
+        InetAddress ina = null;
+        
+        //System.out.println("Connecting on port " + portNet);
+        
+        if (host == null) {
+            throw new LauncherException(NO_HOST);
+        }
+        
+        try {
+            ina = InetAddress.getByName(host);
+        } catch (UnknownHostException e) {
+            throw new LauncherException(INET + host);
+        }
+        
+        try {
+            clientSocket = new Socket(ina, portNet);
+        } catch (IOException io) {
+            throw new LauncherException(SERV_NOT_RESP+host);
+        }
+        
+        try {
+            in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+            //in2 = new DataInputStream(clientSocket.getInputStream());
+            out = new PrintStream(clientSocket.getOutputStream());
+            //System.out.println("Connected on port " + portNet);
+        } catch (Exception e) {
+            throw new LauncherException(SERV_NOT_RESP+host);
+        }
+    }
+    
+    /*private void basicConnect() throws LauncherException {
+        InetAddress ina = null;
+        
+        if (host == null) {
+            throw new LauncherException(NO_HOST);
+        }
+        
+        try {
+            ina = InetAddress.getByName(host);
+        } catch (UnknownHostException e) {
+            throw new LauncherException(INET + host);
+        }
+        
+        try {
+            clientSocket = new Socket(ina, port);
+        } catch (IOException io) {
+            throw new LauncherException(SERV_NOT_RESP+host);
+        }
+        
+        try {
+            in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+            //in2 = new DataInputStream(clientSocket.getInputStream());
+            out = new PrintStream(clientSocket.getOutputStream());
+        } catch (Exception e) {
+            throw new LauncherException(SERV_NOT_RESP+host);
+        }
+    }*/
+    
+}
\ No newline at end of file
diff --git a/src/remotesimulation/RemoteConnectionException.class b/src/remotesimulation/RemoteConnectionException.class
new file mode 100644
index 0000000000000000000000000000000000000000..b3420c6e6e8070c6cbfe4088895275e4641e00dc
Binary files /dev/null and b/src/remotesimulation/RemoteConnectionException.class differ
diff --git a/src/remotesimulation/RemoteConnectionException.java b/src/remotesimulation/RemoteConnectionException.java
new file mode 100755
index 0000000000000000000000000000000000000000..e3512880238bd311daf339ab2d3140a388239310
--- /dev/null
+++ b/src/remotesimulation/RemoteConnectionException.java
@@ -0,0 +1,55 @@
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+
+ludovic.apvrille AT enst.fr
+
+This software is a computer program whose purpose is to allow the 
+edition of TURTLE analysis, design and deployment diagrams, to 
+allow the generation of RT-LOTOS or Java code from this diagram, 
+and at last to allow the analysis of formal validation traces 
+obtained from external tools, e.g. RTL from LAAS-CNRS and CADP 
+from INRIA Rhone-Alpes.
+
+This software is governed by the CeCILL  license under French law and
+abiding by the rules of distribution of free software.  You can  use, 
+modify and/ or redistribute the software under the terms of the CeCILL
+license as circulated by CEA, CNRS and INRIA at the following URL
+"http://www.cecill.info". 
+
+As a counterpart to the access to the source code and  rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty  and the software's author,  the holder of the
+economic rights,  and the successive licensors  have only  limited
+liability. 
+
+In this respect, the user's attention is drawn to the risks associated
+with loading,  using,  modifying and/or developing or reproducing the
+software by the user in light of its specific status of free software,
+that may mean  that it is complicated to manipulate,  and  that  also
+therefore means  that it is reserved for developers  and  experienced
+professionals having in-depth computer knowledge. Users are therefore
+encouraged to load and test the software's suitability as regards their
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
+
+The fact that you are presently reading this means that you have had
+knowledge of the CeCILL license and that you accept its terms.
+
+/**
+ * Class RemoteConnectionException
+ * For remote control of the simulator
+ * Creation: 16/04/2009
+ * @version 1.1 16/04/2009
+ * @author Ludovic APVRILLE
+ * @see
+ */
+
+package remotesimulation;
+
+public class RemoteConnectionException extends Exception {
+	
+	public RemoteConnectionException(String s) {
+		super(s);
+	}
+    
+}
\ No newline at end of file
diff --git a/src/translator/touppaal/TURTLE2UPPAAL.java b/src/translator/touppaal/TURTLE2UPPAAL.java
index d8437a408d9959aa56091a592c3e36b4e8bdb4ea..c63dc5601a6b4c82e193d7bb6db00639331d50f0 100755
--- a/src/translator/touppaal/TURTLE2UPPAAL.java
+++ b/src/translator/touppaal/TURTLE2UPPAAL.java
@@ -966,7 +966,7 @@ public class TURTLE2UPPAAL {
 					previous.setUrgent();
 					
 					loc = addLocation(template);
-					loc.setUrgent();
+					//loc.setUrgent();
 					tr = addTransition(template, previous, loc);
 					action = convertGuard(adch.getGuard(0));
 					setGuard(tr, action);
diff --git a/src/ui/ColorManager.java b/src/ui/ColorManager.java
index 286825bb653564e4257e82ad2b2179a0b57aa3d0..d9a489c0051d500df5f16f0c995317feda7b5717 100755
--- a/src/ui/ColorManager.java
+++ b/src/ui/ColorManager.java
@@ -63,7 +63,9 @@ public class ColorManager {
     public static Color SELECTED_0 = Color.blue;
     public static final Color MOVING_0 = Color.magenta;
     public static final Color ADDING_0 = Color.lightGray;
+	
     public static final Color POINTED_0 = Color.orange;
+	//public static final Color POINTED_0 = new Color(231, 132, 19);
     
     public static final Color COMPOSITION_OPERATOR = Color.yellow;
     public static final Color ATTRIBUTE_BOX = new Color(199, 243, 105);
@@ -78,7 +80,8 @@ public class ColorManager {
     
 	public static final Color CPU_BOX_1 = new Color(198, 235, 249);
 	public static final Color CPU_BOX_2 = new Color(198, 227, 249);
-	public static final Color BUS_BOX = new Color(255, 207, 114);
+	//public static final Color BUS_BOX = new Color(255, 207, 114);
+	public static final Color BUS_BOX = new Color(215, 188, 128);
 	public static final Color BRIDGE_BOX = new Color(215, 166, 72);
 	public static final Color MEMORY_BOX = new Color(172, 234, 211);
 	public static final Color HWA_BOX = new Color(144, 201, 211);
diff --git a/src/ui/tmlcd/TMLTaskOperator.java b/src/ui/tmlcd/TMLTaskOperator.java
index e24665526223d7073268dddece4f85621d31e681..503cca3a5596251483a61ce3c8958e2ae93a0b57 100755
--- a/src/ui/tmlcd/TMLTaskOperator.java
+++ b/src/ui/tmlcd/TMLTaskOperator.java
@@ -63,7 +63,7 @@ public class TMLTaskOperator extends TGCWithInternalComponent implements TMLTask
     protected int textX = 5;
     protected int textY = 18;
     protected Graphics graphics;
-    protected int iconSize = 30;
+    protected int iconSize = 16;
     protected boolean exit = false;
     protected int exitFontSize = 10;
     
@@ -154,7 +154,10 @@ public class TMLTaskOperator extends TGCWithInternalComponent implements TMLTask
         if (graphics == null) {
             return minWidth;
         }
-        int size = graphics.getFontMetrics().stringWidth(value) + iconSize + 5;
+		Font f = graphics.getFont();
+		graphics.setFont(f.deriveFont(Font.BOLD));
+        int size = graphics.getFontMetrics().stringWidth(value) + iconSize + 13;
+		graphics.setFont(f);
         minDesiredWidth = Math.max(size, minWidth);
         return minDesiredWidth;
     }
diff --git a/src/ui/tmldd/TMLArchiArtifact.java b/src/ui/tmldd/TMLArchiArtifact.java
index 4d759f245099653697f4cb5f76fcd36bea19b9ad..c105ab2c258f2328c70201f36b11471938d414c1 100755
--- a/src/ui/tmldd/TMLArchiArtifact.java
+++ b/src/ui/tmldd/TMLArchiArtifact.java
@@ -60,10 +60,10 @@ public class TMLArchiArtifact extends TGCWithoutInternalComponent implements Swa
     protected int lineLength = 5;
     protected int textX =  5;
     protected int textY =  15;
-    protected int textY2 =  40;
+    protected int textY2 =  35;
     protected int space = 5;
-    protected int fileX = 15;
-    protected int fileY = 20;
+    protected int fileX = 20;
+    protected int fileY = 25;
     protected int cran = 5;
 	
     protected String oldValue = "";
@@ -75,7 +75,7 @@ public class TMLArchiArtifact extends TGCWithoutInternalComponent implements Swa
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
         width = 75;
-        height = 50;
+        height = 40;
         minWidth = 75;
         
         nbConnectingPoint = 0;
@@ -118,6 +118,8 @@ public class TMLArchiArtifact extends TGCWithoutInternalComponent implements Swa
         g.drawLine(x+width-space, y+space+fileY, x+width-space-fileX, y+space+fileY);
         g.drawLine(x+width-space-cran, y+space, x+width-space-cran, y+space+cran);
         g.drawLine(x+width-space-cran, y+space+cran, x + width-space, y+space+cran);
+		
+		g.drawImage(IconManager.img9, x+width-space-fileX + 3, y + space + 7, null);
         
         g.drawString(value, x + textX , y + textY);
         
diff --git a/src/ui/tmldd/TMLArchiBUSNode.java b/src/ui/tmldd/TMLArchiBUSNode.java
index 4aa8836be944581dc22608e7a4da09820450f848..fc99c7fc17125f9061d6a114b664df0b09e1927a 100755
--- a/src/ui/tmldd/TMLArchiBUSNode.java
+++ b/src/ui/tmldd/TMLArchiBUSNode.java
@@ -135,12 +135,17 @@ public class TMLArchiBUSNode extends TMLArchiCommunicationNode implements Swallo
         // Strings
         String ster = "<<" + stereotype + ">>";
         int w  = g.getFontMetrics().stringWidth(ster);
+		Font f = g.getFont();
+		g.setFont(f.deriveFont(Font.BOLD));
         g.drawString(ster, x + (width - w)/2, y + textY1);
+		g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
         g.drawString(name, x + (width - w)/2, y + textY2);
 		
 		// Icon
-		g.drawImage(IconManager.imgic1102.getImage(), x + width - 20, y + 4, null);
+		//g.drawImage(IconManager.imgic1102.getImage(), x + width - 20, y + 4, null);
+		g.drawImage(IconManager.imgic1102.getImage(), x + 4, y + 4, null);
+		g.drawImage(IconManager.img9, x + width - 20, y + 4, null);
     }
     
     public TGComponent isOnOnlyMe(int x1, int y1) {
diff --git a/src/ui/tmldd/TMLArchiBridgeNode.java b/src/ui/tmldd/TMLArchiBridgeNode.java
index ab436c4322596cd521946b1f8cc52b3d767615bd..fcb17183efd0562abe54c21bd441541c568e1267 100755
--- a/src/ui/tmldd/TMLArchiBridgeNode.java
+++ b/src/ui/tmldd/TMLArchiBridgeNode.java
@@ -137,7 +137,9 @@ public class TMLArchiBridgeNode extends TMLArchiCommunicationNode implements Swa
         g.drawString(name, x + (width - w)/2, y + textY2);
 		
 		// Icon
-		g.drawImage(IconManager.imgic1104.getImage(), x + width - 20, y + 4, null);
+		//g.drawImage(IconManager.imgic1104.getImage(), x + width - 20, y + 4, null);
+		g.drawImage(IconManager.imgic1104.getImage(), x + 4, y + 4, null);
+		g.drawImage(IconManager.img9, x + width - 20, y + 4, null);
     }
     
     public TGComponent isOnOnlyMe(int x1, int y1) {
diff --git a/src/ui/tmldd/TMLArchiCPUNode.java b/src/ui/tmldd/TMLArchiCPUNode.java
index 5a54875c9fa3a30b2a534f56ae7da28f04d97204..eb1b0185f68961b5c65faf47e4fba3fe94a5c020 100755
--- a/src/ui/tmldd/TMLArchiCPUNode.java
+++ b/src/ui/tmldd/TMLArchiCPUNode.java
@@ -1,4 +1,4 @@
-/**Copyright or � or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
 
 ludovic.apvrille AT enst.fr
 
diff --git a/src/ui/tmldd/TMLArchiCommunicationArtifact.java b/src/ui/tmldd/TMLArchiCommunicationArtifact.java
index ef6ef998c4c44924d092e44c5493d52d549e2738..73ecda3abc45c5b5b0872597765127a526d80417 100755
--- a/src/ui/tmldd/TMLArchiCommunicationArtifact.java
+++ b/src/ui/tmldd/TMLArchiCommunicationArtifact.java
@@ -60,10 +60,10 @@ public class TMLArchiCommunicationArtifact extends TGCWithoutInternalComponent i
     protected int lineLength = 5;
     protected int textX =  5;
     protected int textY =  15;
-    protected int textY2 =  40;
+    protected int textY2 =  35;
     protected int space = 5;
-    protected int fileX = 15;
-    protected int fileY = 20;
+    protected int fileX = 20;
+    protected int fileY = 25;
     protected int cran = 5;
 	
     protected String oldValue = "";
@@ -75,7 +75,7 @@ public class TMLArchiCommunicationArtifact extends TGCWithoutInternalComponent i
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
         width = 75;
-        height = 50;
+        height = 40;
         minWidth = 75;
         
         nbConnectingPoint = 0;
@@ -112,6 +112,8 @@ public class TMLArchiCommunicationArtifact extends TGCWithoutInternalComponent i
         g.drawLine(x+width-space-cran, y+space, x+width-space-cran, y+space+cran);
         g.drawLine(x+width-space-cran, y+space+cran, x + width-space, y+space+cran);
         
+		g.drawImage(IconManager.img9, x+width-space-fileX + 3, y + space + 7, null);
+		
         g.drawString(value, x + textX , y + textY);
 		
 		Font f = g.getFont();
diff --git a/src/ui/tmldd/TMLArchiHWANode.java b/src/ui/tmldd/TMLArchiHWANode.java
index f7e820b28f72b6de091feebd4a5f36ed953a5d79..c150ebdd8cb1fe5db3700eb15cb8b691da6a769e 100755
--- a/src/ui/tmldd/TMLArchiHWANode.java
+++ b/src/ui/tmldd/TMLArchiHWANode.java
@@ -142,7 +142,8 @@ public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent,
         g.drawString(name, x + (width - w)/2, y + textY2);
 		
 		// Icon
-		g.drawImage(IconManager.imgic1106.getImage(), x + width - 20, y + 4, null);
+		g.drawImage(IconManager.imgic1106.getImage(), x + 4, y + 4, null);
+		g.drawImage(IconManager.img9, x + width - 20, y + 4, null);
     }
     
     public TGComponent isOnOnlyMe(int x1, int y1) {
diff --git a/src/ui/tmldd/TMLArchiMemoryNode.java b/src/ui/tmldd/TMLArchiMemoryNode.java
index a8ea84b9e68661996c1f0b16826f788e9e0a5a5b..548e53dc0133051c7b9ab59aaa862c441c208d53 100755
--- a/src/ui/tmldd/TMLArchiMemoryNode.java
+++ b/src/ui/tmldd/TMLArchiMemoryNode.java
@@ -132,12 +132,17 @@ public class TMLArchiMemoryNode extends TMLArchiCommunicationNode implements Swa
         // Strings
         String ster = "<<" + stereotype + ">>";
         int w  = g.getFontMetrics().stringWidth(ster);
+		Font f = g.getFont();
+		g.setFont(f.deriveFont(Font.BOLD));
         g.drawString(ster, x + (width - w)/2, y + textY1);
         w  = g.getFontMetrics().stringWidth(name);
+		g.setFont(f);
         g.drawString(name, x + (width - w)/2, y + textY2);
 		
 		// Icon
-		g.drawImage(IconManager.imgic1108.getImage(), x + width - 20, y + 4, null);
+		//g.drawImage(IconManager.imgic1108.getImage(), x + width - 20, y + 4, null);
+		g.drawImage(IconManager.imgic1108.getImage(), x + 4, y + 4, null);
+		g.drawImage(IconManager.img9, x + width - 20, y + 4, null);
     }
     
     public TGComponent isOnOnlyMe(int x1, int y1) {