diff --git a/src/main/java/avatartranslator/directsimulation/AvatarSpecificationSimulation.java b/src/main/java/avatartranslator/directsimulation/AvatarSpecificationSimulation.java
index 25a4132077f3705725452437a5c157567724c0fd..e750034b0b3a40d2a96694a0b6a16c0c2b79b166 100644
--- a/src/main/java/avatartranslator/directsimulation/AvatarSpecificationSimulation.java
+++ b/src/main/java/avatartranslator/directsimulation/AvatarSpecificationSimulation.java
@@ -1028,10 +1028,10 @@ public class AvatarSpecificationSimulation {
                                 // non blocking -> check the fifo size
                                 int nb = getNbOfAsynchronousMessages(rel);
                                 if (nb < rel.getSizeOfFIFO()) {
-                                    TraceManager.addDev("FIFO not full: " + nb + " size=" + rel.getSizeOfFIFO());
+                                    //TraceManager.addDev("FIFO not full: " + nb + " size=" + rel.getSizeOfFIFO());
                                     addAsyncMessage(asat);
                                 } else {
-                                    TraceManager.addDev("*** Asyn msg was dropped because FIFO is full");
+                                    TraceManager.addDev("*** Async msg was dropped because FIFO is full");
                                 }
                             }
                         }
@@ -1044,7 +1044,7 @@ public class AvatarSpecificationSimulation {
                             // non blocking -> check the fifo size
                             int nb = getNbOfAsynchronousMessages(rel);
                             if (nb < rel.getSizeOfFIFO()) {
-                                TraceManager.addDev("FIFO not full: " + nb + " size=" + rel.getSizeOfFIFO());
+                                //TraceManager.addDev("FIFO not full: " + nb + " size=" + rel.getSizeOfFIFO());
                                 addAsyncMessage(asat);
                             } else {
                                 TraceManager.addDev("*** Asyn msg was dropped because FIFO is full");
diff --git a/src/main/java/tmltranslator/HwLink.java b/src/main/java/tmltranslator/HwLink.java
index ca2c23259ccbc0c3b1f02088c2e77604e1cea2d6..28919abfe6cc1770c3ad47add1814b343cdf8898 100755
--- a/src/main/java/tmltranslator/HwLink.java
+++ b/src/main/java/tmltranslator/HwLink.java
@@ -37,22 +37,21 @@
  */
 
 
-
-
 package tmltranslator;
 
 /**
  * Class HwLink
  * Creation: 05/09/2007
- * @version 1.0 05/09/2007
+ *
  * @author Ludovic APVRILLE and Daniel KNORRECK
+ * @version 1.0 05/09/2007
  */
 public class HwLink implements Comparable<HwLink> {
     public HwBus bus;
     //public HwCommunicationNode bus;
     public HwVGMN vgmn;//DG 10.08.
     public HwCrossbar crossbar;//DG 10.08.
-    
+
     public HwNode hwnode;
     protected String name;
     protected int priority;
@@ -73,15 +72,31 @@ public class HwLink implements Comparable<HwLink> {
         priority = _priority;
     }
 
-    public int compareTo(HwLink o){
+    public int compareTo(HwLink o) {
         if (priority > o.getPriority()) return 1;
         if (priority < o.getPriority()) return -1;
         return 0;
     }
 
     public String toXML() {
-	String s = "<LINK name=\"" + name + "\" bus=\"" + bus.getName() + "\" hwnode=\"" + hwnode.getName() + "\" priority=\"" + priority + "\" />\n";
-	return s;
+        String s = "<LINK name=\"" + name + "\" bus=\"" + bus.getName() + "\" hwnode=\"" + hwnode.getName() + "\" priority=\"" + priority + "\" />\n";
+        return s;
+    }
+
+    public boolean areConnected(HwNode node1, HwNode node2) {
+        if (connectedBusHwNode(node1, node2)) {
+            return true;
+        }
+        return connectedBusHwNode(node2, node1);
+
+    }
+
+    private boolean connectedBusHwNode(HwNode nodeBus, HwNode node) {
+        if (hwnode != node) {
+            return false;
+        }
+
+        return (nodeBus == bus) || (nodeBus == vgmn) || (nodeBus == crossbar);
     }
 
 }
diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java
index 99f88e29e9384b08c5546b85fb52361fffa8b7b4..e684f86471844c9d6006da7fc5fd5bead234e297 100755
--- a/src/main/java/tmltranslator/TMLArchitecture.java
+++ b/src/main/java/tmltranslator/TMLArchitecture.java
@@ -37,20 +37,17 @@
  */
 
 
-
-
 package tmltranslator;
 
-import myutil.TraceManager;
-
 import java.util.ArrayList;
 import java.util.List;
 
 /**
-   * Class TMLArchitecture
-   * Creation: 05/09/2007
-   * @version 1.1 19/05/2008
-   * @author Ludovic APVRILLE
+ * Class TMLArchitecture
+ * Creation: 05/09/2007
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.1 19/05/2008
  */
 public class TMLArchitecture {
     private List<HwNode> hwnodes;
@@ -83,7 +80,7 @@ public class TMLArchitecture {
             computeHashCode();
             hashCodeComputed = true;
         }
-        
+
         return hashCode;
     }
 
@@ -105,36 +102,35 @@ public class TMLArchitecture {
     }
 
     public HwCPU getFirstCPU() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwCPU) {
-                return (HwCPU)node;
+                return (HwCPU) node;
             }
         }
         return null;
     }
 
     public HwBus getFirstBus() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwBus) {
-                return (HwBus)node;
+                return (HwBus) node;
             }
         }
         return null;
     }
 
     public HwMemory getFirstMemory() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwMemory) {
-                return (HwMemory)node;
+                return (HwMemory) node;
             }
         }
         return null;
     }
 
 
-
     public boolean hasCPU() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwCPU) {
                 return true;
             }
@@ -143,7 +139,7 @@ public class TMLArchitecture {
     }
 
     public boolean hasBus() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwBus) {
                 return true;
             }
@@ -153,16 +149,16 @@ public class TMLArchitecture {
 
     public int getNbOfBusses() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwBus) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
     }
 
     public boolean hasMemory() {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwMemory) {
                 return true;
             }
@@ -172,84 +168,84 @@ public class TMLArchitecture {
 
     public int getNbOfMemories() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwMemory) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
     }
 
-	public List<HwNode> getCPUs(){
-		List<HwNode> cpus = new ArrayList<HwNode>();
-		
-		for (HwNode node: hwnodes){
-			if (node instanceof HwCPU){
-				cpus.add(node);
-			}
-		}
-		
-		return cpus;
-	}
+    public List<HwNode> getCPUs() {
+        List<HwNode> cpus = new ArrayList<HwNode>();
+
+        for (HwNode node : hwnodes) {
+            if (node instanceof HwCPU) {
+                cpus.add(node);
+            }
+        }
+
+        return cpus;
+    }
+
     public String[] getCPUIDs() {
-        String [] list = new String[getNbOfCPU()];
+        String[] list = new String[getNbOfCPU()];
         int cpt = 0;
 
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwCPU) {
                 list[cpt] = node.getName() + " (" + node.getID() + ")";
-                cpt ++;
+                cpt++;
             }
         }
         return list;
     }
 
     public String[] getCPUandHwAIDs() {
-        String [] list = new String[getNbOfCPUandHwA()];
+        String[] list = new String[getNbOfCPUandHwA()];
         int cpt = 0;
 
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if ((node instanceof HwCPU) || (node instanceof HwA)) {
                 list[cpt] = node.getName() + " (" + node.getID() + ")";
-                cpt ++;
+                cpt++;
             }
         }
         return list;
     }
 
     public String[] getBusIDs() {
-        String [] list = new String[getNbOfBus()];
+        String[] list = new String[getNbOfBus()];
         int cpt = 0;
 
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwBus) {
                 list[cpt] = node.getName() + " (" + node.getID() + ")";
-                cpt ++;
+                cpt++;
             }
         }
         return list;
     }
 
     public String[] getMemIDs() {
-        String [] list = new String[getNbOfMem()];
+        String[] list = new String[getNbOfMem()];
         int cpt = 0;
 
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwMemory) {
                 list[cpt] = node.getName() + " (" + node.getID() + ")";
-                cpt ++;
+                cpt++;
             }
         }
         return list;
     }
 
 
-
     public int getNbOfCPU() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwCPU) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
@@ -257,9 +253,9 @@ public class TMLArchitecture {
 
     public int getNbOfCPUandHwA() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if ((node instanceof HwCPU) || (node instanceof HwA)) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
@@ -267,9 +263,9 @@ public class TMLArchitecture {
 
     public int getNbOfBus() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwBus) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
@@ -277,9 +273,9 @@ public class TMLArchitecture {
 
     public int getNbOfMem() {
         int cpt = 0;
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwMemory) {
-                cpt ++;
+                cpt++;
             }
         }
         return cpt;
@@ -294,34 +290,35 @@ public class TMLArchitecture {
     }
 
     public HwNode getHwNodeByName(String _name) {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node.getName().equals(_name)) {
                 return node;
             }
         }
         return null;
     }
-    
-    public List<HwBridge> getFirewalls(){
-		List<HwBridge> firewalls= new ArrayList<HwBridge>();
-		
-		for (HwNode node:hwnodes){
-		    if (node instanceof HwBridge){
-		    	HwBridge bridge= (HwBridge)node;
-				
-		    	if (bridge.isFirewall){
-				    firewalls.add(bridge);
-				}
-		    }
-		}
-
-		return firewalls;
+
+    public List<HwBridge> getFirewalls() {
+        List<HwBridge> firewalls = new ArrayList<HwBridge>();
+
+        for (HwNode node : hwnodes) {
+            if (node instanceof HwBridge) {
+                HwBridge bridge = (HwBridge) node;
+
+                if (bridge.isFirewall) {
+                    firewalls.add(bridge);
+                }
+            }
+        }
+
+        return firewalls;
     }
+
     public HwCPU getHwCPUByName(String _name) {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node.getName().equals(_name)) {
                 if (node instanceof HwCPU) {
-                    return (HwCPU)node;
+                    return (HwCPU) node;
                 }
             }
         }
@@ -329,10 +326,10 @@ public class TMLArchitecture {
     }
 
     public HwBus getHwBusByName(String _name) {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node.getName().equals(_name)) {
                 if (node instanceof HwBus) {
-                    return (HwBus)node;
+                    return (HwBus) node;
                 }
             }
         }
@@ -340,10 +337,10 @@ public class TMLArchitecture {
     }
 
     public HwMemory getHwMemoryByName(String _name) {
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node.getName().equals(_name)) {
                 if (node instanceof HwMemory) {
-                    return (HwMemory)node;
+                    return (HwMemory) node;
                 }
             }
         }
@@ -351,7 +348,7 @@ public class TMLArchitecture {
     }
 
     public HwLink getHwLinkByName(String _name) {
-        for(HwLink link: hwlinks) {
+        for (HwLink link : hwlinks) {
             if (link.getName().equals(_name)) {
                 return link;
             }
@@ -359,39 +356,39 @@ public class TMLArchitecture {
         return null;
     }
 
-    public List<HwLink> getLinkByHwNode(HwNode node){
+    public List<HwLink> getLinkByHwNode(HwNode node) {
         List<HwLink> tempList = new ArrayList<HwLink>();
-        
-        for(HwLink link: hwlinks) {
-            if (link.hwnode==node) tempList.add(link);
+
+        for (HwLink link : hwlinks) {
+            if (link.hwnode == node) tempList.add(link);
         }
-        
+
         return tempList;
     }
 
-    public HwLink getHwLinkByHwNode(HwNode node){
-        for(HwLink link: hwlinks) {
-            if (link.hwnode==node) {
+    public HwLink getHwLinkByHwNode(HwNode node) {
+        for (HwLink link : hwlinks) {
+            if (link.hwnode == node) {
                 return link;
             }
         }
         return null;
     }
 
-    public boolean isNodeConnectedToBus(HwNode node, HwBus bus){
-        for(HwLink link: hwlinks) {
-            if (node==link.hwnode && bus==link.bus) return true;
+    public boolean isNodeConnectedToBus(HwNode node, HwBus bus) {
+        for (HwLink link : hwlinks) {
+            if (node == link.hwnode && bus == link.bus) return true;
         }
         return false;
     }
 
-    public List<HwLink> getLinkByBus(HwBus bus){
+    public List<HwLink> getLinkByBus(HwBus bus) {
         List<HwLink> tempList = new ArrayList<HwLink>();
-        
-        for(HwLink link: hwlinks) {
-            if (link.bus==bus) tempList.add(link);
+
+        for (HwLink link : hwlinks) {
+            if (link.bus == bus) tempList.add(link);
         }
-        
+
         return tempList;
     }
 
@@ -400,15 +397,15 @@ public class TMLArchitecture {
         // Bus complexity depends on its data size
         int complexity = 0;
 
-        for(HwNode node: hwnodes) {
+        for (HwNode node : hwnodes) {
             if (node instanceof HwCPU) {
-                HwCPU cpu = (HwCPU)node;
+                HwCPU cpu = (HwCPU) node;
                 complexity += cpu.nbOfCores * cpu.byteDataSize * cpu.pipelineSize;
                 //TraceManager.addDev("complexity CPU= " + complexity);
             }
 
             if (node instanceof HwBus) {
-                HwBus bus = (HwBus)node;
+                HwBus bus = (HwBus) node;
                 complexity += bus.byteDataSize * bus.pipelineSize;
                 //TraceManager.addDev("complexity bus= " + complexity);
             }
@@ -418,25 +415,35 @@ public class TMLArchitecture {
 
         return complexity;
     }
-    public void replaceFirewall(HwBridge firewall, HwCPU newCPU){
-	hwnodes.remove(firewall);
-	addHwNode(newCPU);
-	for (HwLink link:hwlinks){
-	    if (link.hwnode==firewall){
-		link.hwnode=newCPU;
-	    }
-	}
+
+    public void replaceFirewall(HwBridge firewall, HwCPU newCPU) {
+        hwnodes.remove(firewall);
+        addHwNode(newCPU);
+        for (HwLink link : hwlinks) {
+            if (link.hwnode == firewall) {
+                link.hwnode = newCPU;
+            }
+        }
     }
 
     public String toXML() {
-	String s = "<TMLARCHITECTURE freq=\"" + masterClockFrequency + "\" >\n";
-	for(HwNode node: hwnodes) {
-	    s += node.toXML();
-	}
-	for(HwLink link: hwlinks) {
-	    s += link.toXML();
-	}
-	s += "</TMLARCHITECTURE>";
-	return s;
+        String s = "<TMLARCHITECTURE freq=\"" + masterClockFrequency + "\" >\n";
+        for (HwNode node : hwnodes) {
+            s += node.toXML();
+        }
+        for (HwLink link : hwlinks) {
+            s += link.toXML();
+        }
+        s += "</TMLARCHITECTURE>";
+        return s;
+    }
+
+    public boolean areConnected(HwNode node1, HwNode node2) {
+        for (HwLink link : hwlinks) {
+            if (link.areConnected(node1, node2)) {
+                return true;
+            }
+        }
+        return false;
     }
 }
diff --git a/src/main/java/tmltranslator/TMLChannelPath.java b/src/main/java/tmltranslator/TMLChannelPath.java
new file mode 100755
index 0000000000000000000000000000000000000000..5a496f6dcc782790632f5a482588bd5b4b0c8750
--- /dev/null
+++ b/src/main/java/tmltranslator/TMLChannelPath.java
@@ -0,0 +1,69 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ * Andrea ENRICI, Nokia Bell Labs France
+ *
+ * ludovic.apvrille AT enst.fr
+ * andrea.enrici AT nokia-bell-labs.com
+ * 
+ * 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 TMLPort
+ * Creation: 11/04/2018
+ *
+ * @version 1.0 11/04/2018
+ * @author Ludovic APVRILLE
+ */
+
+
+package tmltranslator;
+
+
+import java.util.ArrayList;
+
+public class TMLChannelPath {
+    private TMLChannel ch;
+
+    ArrayList<ArrayList<HwNode>> srcs;  // Path from src CPUs to mem
+    ArrayList < ArrayList < HwNode >> dests; // Path from dests CPUs to mem
+
+    public TMLChannelPath(TMLChannel _ch) {
+        ch = _ch;
+        srcs = new ArrayList<ArrayList<HwNode>>();
+        dests = new ArrayList<ArrayList<HwNode>>();
+    }
+
+
+}
diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java
index 5c89ae438e80e139462f2e7875c5df3f1de9ceba..487c88ece45ad59294e52824e75f76f613ca70c7 100755
--- a/src/main/java/tmltranslator/TMLMapping.java
+++ b/src/main/java/tmltranslator/TMLMapping.java
@@ -1777,4 +1777,10 @@ public class TMLMapping<E> {
 
         return dss[st2.id].path.length > 0;
     }
+
+
+    public TMLChannelPath makePathOfChannel(TMLChannel ch) {
+        TMLChannelPath path = new TMLChannelPath(ch);
+        return path;
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java
index 54492e7f5ddd9a1b46bba738aa403beb25eeb9ce..ed98b0a9eb7afefe65f3c75906afc18f96071e1b 100755
--- a/src/main/java/tmltranslator/TMLSyntaxChecking.java
+++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java
@@ -78,6 +78,7 @@ public class TMLSyntaxChecking {
 
     private final String TOO_MANY_MEMORIES = "Channel is mapped on more than one memory";
     private final String INVALID_CHANNEL_PATH = "Channel path is invalid";
+    private final String INVALID_BUS_PATH = "Bus path is invalid for channel"; // Should be a warning only
 
 
     private ArrayList<TMLError> errors;
@@ -123,6 +124,7 @@ public class TMLSyntaxChecking {
         if (mapping != null) {
             checkMemoriesOfChannels();
             checkPathToMemory();
+            checkPathValidity();
 
             // Check that if their is a memory for a channel, the memory is connected to the path
         }
@@ -707,4 +709,30 @@ public class TMLSyntaxChecking {
     }
 
 
+    private void checkPathValidity() {
+        Iterator<TMLChannel> channelIt = tmlm.getChannels().iterator();
+        while (channelIt.hasNext()) {
+            TMLChannel ch = channelIt.next();
+            checkPathValidityForChannel(ch);
+        }
+    }
+
+    private void checkPathValidityForChannel(TMLChannel ch) {
+        HwMemory mem = mapping.getMemoryOfChannel(ch);
+
+        // we want to verify that if there is at least one bus/bridge which is used in the mapping
+        // the path is complete. Otherwise, a warning is given for that channel mapping
+        ArrayList<HwCommunicationNode> elts = mapping.getAllCommunicationNodesOfChannel(ch);
+
+        if (elts.size() > 1) {
+            // We construct the hardware paths of ch
+            TMLChannelPath path = mapping.makePathOfChannel(ch);
+            if (path == null) {
+                addError(null, null, INVALID_BUS_PATH + ": " + ch.getName(), TMLError.ERROR_STRUCTURE);
+            }
+        }
+
+    }
+
+
 }
diff --git a/src/main/java/ui/ModeManager.java b/src/main/java/ui/ModeManager.java
index f8ee080227fadce4839691bfcb2198312b9cf3dd..4ba4f02f42b40b3ca28162b5335ac1d7d05b7133 100755
--- a/src/main/java/ui/ModeManager.java
+++ b/src/main/java/ui/ModeManager.java
@@ -97,7 +97,7 @@ public class ModeManager {
                 actions[TGUIAction.ACT_MERGE].setEnabled(true);
                 actions[TGUIAction.ACT_NEW_DESIGN].setEnabled(true);
                 actions[TGUIAction.ACT_NEW_ANALYSIS].setEnabled(true);
-                actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(true);//DG 06.02.
+                //actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(true);//DG 06.02.
                 //actions[TGUIAction.ACT_ONECLICK_RTLOTOS_RG].setEnabled(true);
                 //actions[TGUIAction.ACT_ONECLICK_LOTOS_RG].setEnabled(true);
                 actions[TGUIAction.ACT_SAVE_AS].setEnabled(true);
diff --git a/src/main/java/ui/avatarad/AvatarADToolBar.java b/src/main/java/ui/avatarad/AvatarADToolBar.java
index 0e967208bca131e0b94df0ea4af07b1233ea28e5..f491f119af557e68cd28ca8bf28f2b94e23632e9 100644
--- a/src/main/java/ui/avatarad/AvatarADToolBar.java
+++ b/src/main/java/ui/avatarad/AvatarADToolBar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarad;
 
 import ui.MainGUI;
@@ -51,13 +49,14 @@ import javax.swing.*;
 //import java.awt.event.*;
 
 /**
-   * Class AvatarADToolBar
-   * Implements the toolbar to be used in conjunction with the panel of
-   * AVATAR Activity Diagram
-   * Creation: 01/09/2011
-   * @version 1.0 01/09/2011
-   * @author Ludovic APVRILLE
-   * @see ui.cd.TClassDiagramPanel
+ * Class AvatarADToolBar
+ * Implements the toolbar to be used in conjunction with the panel of
+ * AVATAR Activity Diagram
+ * Creation: 01/09/2011
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 01/09/2011
+ * @see ui.cd.TClassDiagramPanel
  */
 public class AvatarADToolBar extends TToolBar {
 
@@ -68,10 +67,10 @@ public class AvatarADToolBar extends TToolBar {
 
     protected void setActive(boolean b) {
         mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
-	mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
-	
-	mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
-	mgui.updateZoomInfo();
+        mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
+        mgui.updateZoomInfo();
 
         mgui.actions[TGUIAction.AAD_EDIT].setEnabled(b);
         mgui.actions[TGUIAction.UML_NOTE].setEnabled(b);
@@ -89,6 +88,8 @@ public class AvatarADToolBar extends TToolBar {
         mgui.actions[TGUIAction.AAD_PARTITION].setEnabled(b);
         mgui.actions[TGUIAction.AAD_ASSOCIATION_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.AAD_ALIGN_PARTITION].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
     }
 
     protected void setButtons() {
@@ -137,7 +138,6 @@ public class AvatarADToolBar extends TToolBar {
         this.addSeparator();
 
 
-
         button = this.add(mgui.actions[TGUIAction.AAD_ACTION]);
         button.addMouseListener(mgui.mouseHandler);
 
diff --git a/src/main/java/ui/avatarcd/AvatarCDToolBar.java b/src/main/java/ui/avatarcd/AvatarCDToolBar.java
index eadfc042e10603f73c6a1c64411d0eb55c618202..2f2c77b03da492323eba9489a8cecf5f54ba2faa 100644
--- a/src/main/java/ui/avatarcd/AvatarCDToolBar.java
+++ b/src/main/java/ui/avatarcd/AvatarCDToolBar.java
@@ -84,7 +84,8 @@ public class AvatarCDToolBar extends TToolBar {
 		mgui.actions[TGUIAction.ACD_ACTOR_STICKMAN].setEnabled(b);
 		
 		mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID].setEnabled(b);
-        
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
     }
     
     protected void setButtons() {
diff --git a/src/main/java/ui/avatardd/ADDDiagramToolBar.java b/src/main/java/ui/avatardd/ADDDiagramToolBar.java
index 9845a3677d2a7c7896e2432b8618d88799312598..557bbdbe67302747e8aa1fa715d5613e914956e6 100755
--- a/src/main/java/ui/avatardd/ADDDiagramToolBar.java
+++ b/src/main/java/ui/avatardd/ADDDiagramToolBar.java
@@ -38,8 +38,6 @@
  */
 
 
-
-
 package ui.avatardd;
 
 import ui.MainGUI;
@@ -55,136 +53,135 @@ import javax.swing.*;
  * Class ADDDiagramToolBar
  * Implements the toolbar to be used in conjunction with the panel of an avatar deployment diagram
  * Creation: 30/06/2014
- * @version 1.0 30/06/2014
+ *
  * @author Ludovic APVRILLE
- * @see ADDDiagramPanel
- * @version 2.0 08/07/2015
  * @author Ludovic APVRILLE (update by Julien HENON, Daniela GENIUS)
+ * @version 2.0 08/07/2015
+ * @see ADDDiagramPanel
  */
 public class ADDDiagramToolBar extends TToolBar {
-    
+
     public ADDDiagramToolBar(MainGUI _mgui) {
         super(_mgui);
-        
+
     }
-    
+
     protected void setActive(boolean b) {
         mgui.actions[TGUIAction.ADD_EDIT].setEnabled(b);
         mgui.actions[TGUIAction.UML_NOTE].setEnabled(b);
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
         mgui.actions[TGUIAction.ADD_LINK].setEnabled(b);
         mgui.actions[TGUIAction.ADD_CPUNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_BUSNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_BRIDGENODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_VGMNNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_CROSSBARNODE].setEnabled(b);
-        mgui.actions[TGUIAction.ADD_BLOCKARTIFACT].setEnabled(b);    
+        mgui.actions[TGUIAction.ADD_BUSNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_BRIDGENODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_VGMNNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_CROSSBARNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_BLOCKARTIFACT].setEnabled(b);
         mgui.actions[TGUIAction.ADD_CHANNELARTIFACT].setEnabled(b);
         mgui.actions[TGUIAction.ADD_TTYNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_RAMNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_ROMNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_DMANODE].setEnabled(b);      
-		mgui.actions[TGUIAction.ADD_ICUNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_COPROMWMRNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ADD_TIMERNODE].setEnabled(b);
-		mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(false);
-		
-      // julien -------------------------------------------------
+        mgui.actions[TGUIAction.ADD_RAMNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_ROMNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_DMANODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_ICUNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_COPROMWMRNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ADD_TIMERNODE].setEnabled(b);
+        mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(false);
+
+        // julien -------------------------------------------------
 
         mgui.actions[TGUIAction.DEPLOY_AVATAR_DIAGRAM].setEnabled(b);
- 	mgui.actions[TGUIAction.EXTRAC_DEPLOY_PARAM_TO_FILE].setEnabled(b);
+        mgui.actions[TGUIAction.EXTRAC_DEPLOY_PARAM_TO_FILE].setEnabled(b);
 
 
-      // --------------------------------------------------------
+        // --------------------------------------------------------
 
-      mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b);
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b);
         mgui.actions[TGUIAction.ACT_ONECLICK_LOTOS_RG].setEnabled(b);
-		mgui.actions[TGUIAction.ACT_SIMU_SYSTEMC].setEnabled(b);
-		
-		mgui.updateZoomInfo();
+        mgui.actions[TGUIAction.ACT_SIMU_SYSTEMC].setEnabled(b);
+
+        mgui.updateZoomInfo();
     }
-    
+
     protected void setButtons() {
         JButton button;
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_EDIT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.UML_NOTE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.CONNECTOR_COMMENT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_LINK]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_CPUNODE]);
         button.addMouseListener(mgui.mouseHandler);
         button = this.add(mgui.actions[TGUIAction.ADD_BLOCKARTIFACT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_DMANODE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_ICUNODE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_COPROMWMRNODE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_TIMERNODE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.ADD_TTYNODE]);
         button.addMouseListener(mgui.mouseHandler);
-		
-	this.addSeparator();
-				
-	button = this.add(mgui.actions[TGUIAction.ADD_BUSNODE]);
+
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.ADD_BUSNODE]);
+        button.addMouseListener(mgui.mouseHandler);
+        button = this.add(mgui.actions[TGUIAction.ADD_BRIDGENODE]);
         button.addMouseListener(mgui.mouseHandler);
-	button = this.add(mgui.actions[TGUIAction.ADD_BRIDGENODE]);
-        button.addMouseListener(mgui.mouseHandler);	
-	button = this.add(mgui.actions[TGUIAction.ADD_VGMNNODE]);
+        button = this.add(mgui.actions[TGUIAction.ADD_VGMNNODE]);
         button.addMouseListener(mgui.mouseHandler);
-	button = this.add(mgui.actions[TGUIAction.ADD_CROSSBARNODE]);
+        button = this.add(mgui.actions[TGUIAction.ADD_CROSSBARNODE]);
         button.addMouseListener(mgui.mouseHandler);
-	button = this.add(mgui.actions[TGUIAction.ADD_RAMNODE]);
+        button = this.add(mgui.actions[TGUIAction.ADD_RAMNODE]);
         button.addMouseListener(mgui.mouseHandler);
         button = this.add(mgui.actions[TGUIAction.ADD_CHANNELARTIFACT]);
         button.addMouseListener(mgui.mouseHandler);
         button = this.add(mgui.actions[TGUIAction.ADD_ROMNODE]);
         button.addMouseListener(mgui.mouseHandler);
-        
-        
 
-	this.addSeparator();
-		
-	button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
+
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
         button.addMouseListener(mgui.mouseHandler);
-        
-       this.addSeparator();
 
-	button = this.add(mgui.actions[TGUIAction.EXTRAC_DEPLOY_PARAM_TO_FILE]);
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.EXTRAC_DEPLOY_PARAM_TO_FILE]);
         button.addMouseListener(mgui.mouseHandler);
 
-	button = this.add(mgui.actions[TGUIAction.DEPLOY_AVATAR_DIAGRAM]);
+        button = this.add(mgui.actions[TGUIAction.DEPLOY_AVATAR_DIAGRAM]);
         button.addMouseListener(mgui.mouseHandler);
 
         // -----------------------------------------------------
 
     }
-    
+
 } // Class
diff --git a/src/main/java/ui/avatarmad/AvatarMADToolBar.java b/src/main/java/ui/avatarmad/AvatarMADToolBar.java
index 27327df1d3c99e81b618d5547dccf238016f7a4a..1acf06f2b0942e0ec07800640280d3a9a72e9094 100644
--- a/src/main/java/ui/avatarmad/AvatarMADToolBar.java
+++ b/src/main/java/ui/avatarmad/AvatarMADToolBar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarmad;
 
 import ui.MainGUI;
@@ -51,11 +49,12 @@ import javax.swing.*;
 //import java.awt.event.*;
 
 /**
-   * Class AvatarMADToolBar
-   * Implements the toolbar to be used in conjunction with the Avatar Modeling Assumptions Diagram
-   * Creation: 27/08/2013
-   * @version 1.0 27/08/2013
-   * @author Ludovic APVRILLE
+ * Class AvatarMADToolBar
+ * Implements the toolbar to be used in conjunction with the Avatar Modeling Assumptions Diagram
+ * Creation: 27/08/2013
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 27/08/2013
  */
 public class AvatarMADToolBar extends TToolBar {
 
@@ -82,6 +81,8 @@ public class AvatarMADToolBar extends TToolBar {
         mgui.actions[TGUIAction.AMAD_BELONGSTOCOMPOSITION_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.AMAD_IMPACT_CONNECTOR].setEnabled(b);
 
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
         /*mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
 
           mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);*/
@@ -134,7 +135,7 @@ public class AvatarMADToolBar extends TToolBar {
         button = this.add(mgui.actions[TGUIAction.AMAD_IMPACT_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
 
-	this.addSeparator();
+        this.addSeparator();
 
         button = this.add(mgui.actions[TGUIAction.AMAD_BELONGSTOCOMPOSITION_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
diff --git a/src/main/java/ui/avatarmethodology/AvatarMethodologyDiagramToolbar.java b/src/main/java/ui/avatarmethodology/AvatarMethodologyDiagramToolbar.java
index dc31a4215dbab6e59ad9c9601d97cb9dd56231d0..458f7828ae7c5ff26f0b2657bd11167404d073c4 100755
--- a/src/main/java/ui/avatarmethodology/AvatarMethodologyDiagramToolbar.java
+++ b/src/main/java/ui/avatarmethodology/AvatarMethodologyDiagramToolbar.java
@@ -85,6 +85,8 @@ public class AvatarMethodologyDiagramToolbar extends TToolBar {
 		mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
 		
 		mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);*/
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
         
     }
     
diff --git a/src/main/java/ui/avatarpd/AvatarPDToolBar.java b/src/main/java/ui/avatarpd/AvatarPDToolBar.java
index bed8ce08527897b1a48e6934402abe695a846772..3722e49d9ddbb5cef8c307b0d5981c3febb666f0 100644
--- a/src/main/java/ui/avatarpd/AvatarPDToolBar.java
+++ b/src/main/java/ui/avatarpd/AvatarPDToolBar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarpd;
 
 import ui.MainGUI;
@@ -52,135 +50,138 @@ import javax.swing.*;
 
 /**
  * Class AvatarPDToolBar
- * Implements the toolbar to be used in conjunction with the panel of 
+ * Implements the toolbar to be used in conjunction with the panel of
  * AVATAR Parametric Diagram
  * Creation: 22/04/2010
- * @version 1.0 22/04/2010
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 22/04/2010
  * @see ui.cd.TClassDiagramPanel
  */
 public class AvatarPDToolBar extends TToolBar {
-    
+
     public AvatarPDToolBar(MainGUI _mgui) {
         super(_mgui);
-        
+
     }
-    
+
     protected void setActive(boolean b) {
-		mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
-		mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
-		mgui.updateZoomInfo();
-		
+        mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
+        mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
+        mgui.updateZoomInfo();
+
         mgui.actions[TGUIAction.APD_EDIT].setEnabled(b);
         mgui.actions[TGUIAction.UML_NOTE].setEnabled(b);
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
-		
-		mgui.actions[TGUIAction.APD_BLOCK].setEnabled(b);
-		mgui.actions[TGUIAction.APD_LOGICAL_CONSTRAINT].setEnabled(b);
+
+        mgui.actions[TGUIAction.APD_BLOCK].setEnabled(b);
+        mgui.actions[TGUIAction.APD_LOGICAL_CONSTRAINT].setEnabled(b);
         mgui.actions[TGUIAction.APD_TEMPORAL_CONSTRAINT].setEnabled(b);
-		mgui.actions[TGUIAction.APD_ATTRIBUTE].setEnabled(b);
-		mgui.actions[TGUIAction.APD_SIGNAL].setEnabled(b);
-		mgui.actions[TGUIAction.APD_ALIAS].setEnabled(b);
-		
-		mgui.actions[TGUIAction.APD_BOOLEQ].setEnabled(b);
-		mgui.actions[TGUIAction.APD_ATTRIBUTE_SETTING].setEnabled(b);
+        mgui.actions[TGUIAction.APD_ATTRIBUTE].setEnabled(b);
+        mgui.actions[TGUIAction.APD_SIGNAL].setEnabled(b);
+        mgui.actions[TGUIAction.APD_ALIAS].setEnabled(b);
+
+        mgui.actions[TGUIAction.APD_BOOLEQ].setEnabled(b);
+        mgui.actions[TGUIAction.APD_ATTRIBUTE_SETTING].setEnabled(b);
         mgui.actions[TGUIAction.APD_PROPERTY].setEnabled(b);
-		mgui.actions[TGUIAction.APD_PROPERTY_RELATION].setEnabled(b);
-		mgui.actions[TGUIAction.APD_ATTRIBUTE_CONNECTOR].setEnabled(b);
-		mgui.actions[TGUIAction.APD_SIGNAL_CONNECTOR].setEnabled(b);
-		mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR].setEnabled(b);
-		mgui.actions[TGUIAction.APD_COMPOSITION_CONNECTOR].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID].setEnabled(b);
-        
+        mgui.actions[TGUIAction.APD_PROPERTY_RELATION].setEnabled(b);
+        mgui.actions[TGUIAction.APD_ATTRIBUTE_CONNECTOR].setEnabled(b);
+        mgui.actions[TGUIAction.APD_SIGNAL_CONNECTOR].setEnabled(b);
+        mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR].setEnabled(b);
+        mgui.actions[TGUIAction.APD_COMPOSITION_CONNECTOR].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
     }
-    
+
     protected void setButtons() {
         JButton button;
-        
+
         button = this.add(mgui.actions[TGUIAction.APD_EDIT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.UML_NOTE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.CONNECTOR_COMMENT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.APD_BLOCK]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_COMPOSITION_CONNECTOR]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_COMPOSITION_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-		this.addSeparator();
-		
-		button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE]);
+
+        this.addSeparator();
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE_SETTING]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE_SETTING]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_BOOLEQ]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_BOOLEQ]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE_CONNECTOR]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_ATTRIBUTE_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		
+
+
         this.addSeparator();
-		this.addSeparator();
-        
+        this.addSeparator();
+
         button = this.add(mgui.actions[TGUIAction.APD_SIGNAL]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_ALIAS]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_ALIAS]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_SIGNAL_CONNECTOR]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_SIGNAL_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-		
-		button = this.add(mgui.actions[TGUIAction.APD_LOGICAL_CONSTRAINT]);
+
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.APD_LOGICAL_CONSTRAINT]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_TEMPORAL_CONSTRAINT]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_TEMPORAL_CONSTRAINT]);
         button.addMouseListener(mgui.mouseHandler);
-		
+
         this.addSeparator();
-		this.addSeparator();
-        
-		button = this.add(mgui.actions[TGUIAction.APD_PROPERTY]);
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.APD_PROPERTY]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_PROPERTY_RELATION]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_PROPERTY_RELATION]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR]);
+
+        button = this.add(mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-		
-		button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID]);
+
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID]);
         button.addMouseListener(mgui.mouseHandler);
-		
+
 		/*this.addSeparator();
 		this.addSeparator();
 		
 		button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
         button.addMouseListener(mgui.mouseHandler);*/
-		
-		
+
+
     }
-    
+
 } // Class
 
 
diff --git a/src/main/java/ui/avatarrd/AvatarRDToolBar.java b/src/main/java/ui/avatarrd/AvatarRDToolBar.java
index f8f20feed74fe0e8a5d0127a76fd990248aefa1b..6ad45236fb7f5c654b302274beb00cbfc2da6b04 100755
--- a/src/main/java/ui/avatarrd/AvatarRDToolBar.java
+++ b/src/main/java/ui/avatarrd/AvatarRDToolBar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarrd;
 
 import ui.MainGUI;
@@ -51,11 +49,12 @@ import javax.swing.*;
 //import java.awt.event.*;
 
 /**
-   * Class AvatarRDToolBar
-   * Implements the toolbar to be used in conjunction with the Avatar Requirement Diagram
-   * Creation: 20/04/2010
-   * @version 1.0 20/04/2010
-   * @author Ludovic APVRILLE
+ * Class AvatarRDToolBar
+ * Implements the toolbar to be used in conjunction with the Avatar Requirement Diagram
+ * Creation: 20/04/2010
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 20/04/2010
  */
 public class AvatarRDToolBar extends TToolBar {
 
@@ -76,11 +75,11 @@ public class AvatarRDToolBar extends TToolBar {
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
         mgui.actions[TGUIAction.ARD_REQUIREMENT].setEnabled(b);
         mgui.actions[TGUIAction.ARD_PROPERTY].setEnabled(b);
-	mgui.actions[TGUIAction.ARD_ELEMENT_REFERENCE].setEnabled(b);
+        mgui.actions[TGUIAction.ARD_ELEMENT_REFERENCE].setEnabled(b);
         mgui.actions[TGUIAction.ARD_VERIFY_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.ARD_DERIVE_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.ARD_REFINE_CONNECTOR].setEnabled(b);
-	mgui.actions[TGUIAction.ARD_SATISFY_CONNECTOR].setEnabled(b);
+        mgui.actions[TGUIAction.ARD_SATISFY_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.ARD_COPY_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.ARD_COMPOSITION_CONNECTOR].setEnabled(b);
 
@@ -88,6 +87,8 @@ public class AvatarRDToolBar extends TToolBar {
 
         mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);
 
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
     }
 
     protected void setButtons() {
@@ -135,13 +136,13 @@ public class AvatarRDToolBar extends TToolBar {
 
         this.addSeparator();
 
-	button = this.add(mgui.actions[TGUIAction.ARD_ELEMENT_REFERENCE]);
+        button = this.add(mgui.actions[TGUIAction.ARD_ELEMENT_REFERENCE]);
         button.addMouseListener(mgui.mouseHandler);
-	
-	button = this.add(mgui.actions[TGUIAction.ARD_SATISFY_CONNECTOR]);
+
+        button = this.add(mgui.actions[TGUIAction.ARD_SATISFY_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
 
-	this.addSeparator();
+        this.addSeparator();
 
         button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
         button.addMouseListener(mgui.mouseHandler);
diff --git a/src/main/java/ui/diplodocusmethodology/DiplodocusMethodologyDiagramToolbar.java b/src/main/java/ui/diplodocusmethodology/DiplodocusMethodologyDiagramToolbar.java
index f2561260702d189ec070a87913b24e708ee6d261..df678ddc5b961fab1212f428acf2525aa0e685d9 100755
--- a/src/main/java/ui/diplodocusmethodology/DiplodocusMethodologyDiagramToolbar.java
+++ b/src/main/java/ui/diplodocusmethodology/DiplodocusMethodologyDiagramToolbar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.diplodocusmethodology;
 
 import ui.MainGUI;
@@ -53,24 +51,25 @@ import javax.swing.*;
 /**
  * Class DiplodocusMethodologyDiagramToolbar
  * Implements the toolbar to be used in conjunction with the Diplodocus Methodology
-* Creation: 28/03/2014
-* @version 1.0 28/03/2014
+ * Creation: 28/03/2014
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 28/03/2014
  */
 public class DiplodocusMethodologyDiagramToolbar extends TToolBar {
-    
+
     public DiplodocusMethodologyDiagramToolbar(MainGUI _mgui) {
         super(_mgui);
-        
+
     }
-    
+
     protected void setActive(boolean b) {
-		mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
-		mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
-		mgui.updateZoomInfo();
-		
+        mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
+        mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
+        mgui.updateZoomInfo();
+
         //mgui.actions[TGUIAction.ARD_EDIT].setEnabled(b);
         mgui.actions[TGUIAction.UML_NOTE].setEnabled(b);
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
@@ -85,9 +84,11 @@ public class DiplodocusMethodologyDiagramToolbar extends TToolBar {
 		mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
 		
 		mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);*/
-        
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
     }
-    
+
     protected void setButtons() {
         JButton button;
         
@@ -95,13 +96,13 @@ public class DiplodocusMethodologyDiagramToolbar extends TToolBar {
         button.addMouseListener(mgui.mouseHandler);
         
         this.addSeparator();*/
-        
+
         button = this.add(mgui.actions[TGUIAction.UML_NOTE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.CONNECTOR_COMMENT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
         
         /*button = this.add(mgui.actions[TGUIAction.ARD_REQUIREMENT]);
@@ -140,9 +141,9 @@ public class DiplodocusMethodologyDiagramToolbar extends TToolBar {
          
         button = this.add(mgui.actions[TGUIAction.ACT_ENHANCE]);
         button.addMouseListener(mgui.mouseHandler);*/
-        
+
     }
-    
+
 } // Class
 
 
diff --git a/src/main/java/ui/ebrdd/EBRDDToolBar.java b/src/main/java/ui/ebrdd/EBRDDToolBar.java
index 64ff9afe737ca1d062e7fcf356f115fc7e2cd7c3..57f7b47f81117b6bbf9fa2159620acc483c9d129 100755
--- a/src/main/java/ui/ebrdd/EBRDDToolBar.java
+++ b/src/main/java/ui/ebrdd/EBRDDToolBar.java
@@ -84,6 +84,8 @@ public class EBRDDToolBar extends TToolBar {
 		mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(false);
 		mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(false);
 		mgui.updateZoomInfo();
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
     }
     
     protected void setButtons() {
diff --git a/src/main/java/ui/req/RequirementDiagramToolBar.java b/src/main/java/ui/req/RequirementDiagramToolBar.java
index 85939a250638765390fb66abe1249873b149a767..84831072e09ad63fa50b7f8b80923b6202876f88 100755
--- a/src/main/java/ui/req/RequirementDiagramToolBar.java
+++ b/src/main/java/ui/req/RequirementDiagramToolBar.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.req;
 
 import ui.MainGUI;
@@ -54,94 +52,97 @@ import javax.swing.*;
  * Class RequirementDiagramToolBar
  * Implements the toolbar to be used in conjunction with the panel of an interaction overview diagram
  * Creation: 16/05/2006
- * @version 1.0 16/05/2006
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 16/05/2006
  * @see ui.cd.TClassDiagramPanel
  */
 public class RequirementDiagramToolBar extends TToolBar {
-    
+
     public RequirementDiagramToolBar(MainGUI _mgui) {
         super(_mgui);
-        
+
     }
-    
+
     protected void setActive(boolean b) {
-		mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
-		mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
-		mgui.updateZoomInfo();
-		
+        mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
+        mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
+        mgui.updateZoomInfo();
+
         mgui.actions[TGUIAction.IOD_EDIT].setEnabled(b);
         mgui.actions[TGUIAction.UML_NOTE].setEnabled(b);
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
         mgui.actions[TGUIAction.TREQ_REQUIREMENT].setEnabled(b);
         mgui.actions[TGUIAction.TREQ_OBSERVER].setEnabled(b);
-		mgui.actions[TGUIAction.TREQ_EBRDD].setEnabled(b);
+        mgui.actions[TGUIAction.TREQ_EBRDD].setEnabled(b);
         mgui.actions[TGUIAction.TREQ_VERIFY].setEnabled(b);
         mgui.actions[TGUIAction.TREQ_DERIVE].setEnabled(b);
-		mgui.actions[TGUIAction.TREQ_COPY].setEnabled(b);
-		mgui.actions[TGUIAction.TREQ_COMPOSITION].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
-		
-		mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);
-        
+        mgui.actions[TGUIAction.TREQ_COPY].setEnabled(b);
+        mgui.actions[TGUIAction.TREQ_COMPOSITION].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
     }
-    
+
     protected void setButtons() {
         JButton button;
-        
+
         button = this.add(mgui.actions[TGUIAction.IOD_EDIT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.UML_NOTE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.CONNECTOR_COMMENT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
+
         button = this.add(mgui.actions[TGUIAction.TREQ_REQUIREMENT]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         button = this.add(mgui.actions[TGUIAction.TREQ_OBSERVER]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.TREQ_EBRDD]);
+
+        button = this.add(mgui.actions[TGUIAction.TREQ_EBRDD]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
         this.addSeparator();
-        
-		button = this.add(mgui.actions[TGUIAction.TREQ_COMPOSITION]);
+
+        button = this.add(mgui.actions[TGUIAction.TREQ_COMPOSITION]);
         button.addMouseListener(mgui.mouseHandler);
-		
+
         button = this.add(mgui.actions[TGUIAction.TREQ_DERIVE]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		button = this.add(mgui.actions[TGUIAction.TREQ_COPY]);
+
+        button = this.add(mgui.actions[TGUIAction.TREQ_COPY]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-        
+
+        this.addSeparator();
+
         button = this.add(mgui.actions[TGUIAction.TREQ_VERIFY]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-		
-		button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
+
+        this.addSeparator();
+
+        button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]);
         button.addMouseListener(mgui.mouseHandler);
-		
-		this.addSeparator();
-         
+
+        this.addSeparator();
+
         button = this.add(mgui.actions[TGUIAction.ACT_ENHANCE]);
         button.addMouseListener(mgui.mouseHandler);
-        
+
     }
-    
+
 } // Class
 
 
diff --git a/src/main/java/ui/sd2/SequenceDiagramToolBar.java b/src/main/java/ui/sd2/SequenceDiagramToolBar.java
index 770716e4e53be26a6bf1e77fa2215ae03c165620..2ce97fb1859cff4b5ac2c4abf4bd0dfaea0ea0ab 100755
--- a/src/main/java/ui/sd2/SequenceDiagramToolBar.java
+++ b/src/main/java/ui/sd2/SequenceDiagramToolBar.java
@@ -83,6 +83,9 @@ public class SequenceDiagramToolBar extends TToolBar {
         mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(b);
         mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(b);
         mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(b);
+
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
         mgui.updateZoomInfo();
     }
 
diff --git a/src/main/java/ui/sysmlsecmethodology/SysmlsecMethodologyDiagramToolbar.java b/src/main/java/ui/sysmlsecmethodology/SysmlsecMethodologyDiagramToolbar.java
index 9b75c1d471b196b99994ca5d1fadf66e4501ec90..e2635fb1042e2233fd55381735d32c895a072732 100755
--- a/src/main/java/ui/sysmlsecmethodology/SysmlsecMethodologyDiagramToolbar.java
+++ b/src/main/java/ui/sysmlsecmethodology/SysmlsecMethodologyDiagramToolbar.java
@@ -86,6 +86,8 @@ public class SysmlsecMethodologyDiagramToolbar extends TToolBar {
 
           mgui.actions[TGUIAction.ACT_ENHANCE].setEnabled(b);*/
 
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
     }
 
     protected void setButtons() {
diff --git a/src/main/java/ui/ucd/UseCaseDiagramToolBar.java b/src/main/java/ui/ucd/UseCaseDiagramToolBar.java
index 5783b41a579b4990cbafe40ad8114668f6036ebd..b5c0a5a355bd3a8f5258a79de6ecefca6b926453 100755
--- a/src/main/java/ui/ucd/UseCaseDiagramToolBar.java
+++ b/src/main/java/ui/ucd/UseCaseDiagramToolBar.java
@@ -83,6 +83,8 @@ public class UseCaseDiagramToolBar extends TToolBar {
         mgui.actions[TGUIAction.UCD_CONNECTOR_EXTEND].setEnabled(b);
         mgui.actions[TGUIAction.UCD_CONNECTOR_SPECIA].setEnabled(b);
 
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+
         //mgui.actions[TGUIAction.ACT_ZOOM_MORE].setEnabled(false);
         //mgui.actions[TGUIAction.ACT_ZOOM_LESS].setEnabled(false);
         //mgui.actions[TGUIAction.ACT_SHOW_ZOOM].setEnabled(false);