diff --git a/src/ui/GTURTLEModeling.java b/src/ui/GTURTLEModeling.java
index 4685d65df9fc4db512a15e86bf07a4e4df2dfe03..a109582cca048487754d7229774798a0df4fec36 100755
--- a/src/ui/GTURTLEModeling.java
+++ b/src/ui/GTURTLEModeling.java
@@ -390,10 +390,15 @@ import ui.tmlsd.TMLSDPanel;
 import ui.tree.InvariantDataTree;
 import ui.tree.SearchTree;
 import ui.tree.SyntaxAnalysisTree;
+import ui.tree.SyntaxAnalysisTree.*;
 import ui.ucd.UseCaseDiagramPanel;
 import ui.window.JFrameSimulationTrace;
 import uppaaldesc.UPPAALSpec;
 import java.util.*;
+import ui.tree.*;
+
+import ui.graph.*;
+
 //Communication Pattern javaCC parser
 //import compiler.tmlCPparser.*;
 
@@ -449,6 +454,9 @@ public class GTURTLEModeling {
     private String tlsa;
     private String tlsadot;
 
+    private ArrayList<RG> graphs;
+    private GraphTree gt;
+
     private int nbRTLOTOS;
     private int nbSuggestedDesign;
 //    private int nbSuggestedAnalysis;
@@ -507,12 +515,14 @@ public class GTURTLEModeling {
         savedPanels = new Vector();
         pointerOperation = -1;
 
+	graphs = new ArrayList<RG>();
         invariants = new LinkedList<Invariant>();
 
         //vdt = new ValidationDataTree(mgui);
         mcvdt = new SyntaxAnalysisTree(mgui);
         idt = new InvariantDataTree(mgui);
         st = new SearchTree(mgui);
+	gt = new GraphTree(mgui);
 
         /*if (!Charset.isSupported("UTF-8")) {
           ErrorGUI.exit(ErrorGUI.ERROR_CHARSET);
@@ -532,10 +542,21 @@ public class GTURTLEModeling {
         return tm.isARegularTIFSpec();
     }
 
+    public ArrayList<RG> getRGs() {
+        return graphs;
+    }
+
+    public void addRG(RG newGraph) {
+        graphs.add(newGraph);
+    }
+
+    
     public LinkedList<Invariant> getInvariants() {
         return invariants;
     }
 
+    
+
     public void addInvariant(Invariant _inv) {
         invariants.add(_inv);
         TraceManager.addDev("Adding invariant: " + _inv.toString());
@@ -2453,7 +2474,7 @@ public class GTURTLEModeling {
     }
 
     public int getChildCount() {
-        return panels.size() + 3;
+        return panels.size() + 4;
     }
 
     public Object getChild(int index) {
@@ -2462,6 +2483,8 @@ public class GTURTLEModeling {
         } else if (index == panels.size()) {
             return mcvdt;
         } else if (index == (panels.size() + 1)) {
+            return gt;
+        }  else if (index == (panels.size() + 2)) {
             return idt;
         } else {
             return st;
@@ -2480,11 +2503,15 @@ public class GTURTLEModeling {
             return panels.size();
         }
 
-        if (child == idt) {
+        if (child == gt) {
             return panels.size() + 1;
         }
 
-        return panels.size()+2;
+	if (child == idt) {
+            return panels.size() + 2;
+        }
+
+        return panels.size()+3;
     }
 
     // Projection management
diff --git a/src/ui/InvariantSynchro.java b/src/ui/InvariantSynchro.java
index e7813b18727d0cb32150a4434c305c035406aafc..5a4ad263b972d9c8640776a423b407e9ca25b855 100755
--- a/src/ui/InvariantSynchro.java
+++ b/src/ui/InvariantSynchro.java
@@ -1,49 +1,49 @@
 /**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 InvariantSynchro implements GenericTree
- * InvariantSynchro is a synchro inside of a invanriant
- * Creation: 29/03/2012
- * @version 1.0 29/03/2012
- * @author Ludovic APVRILLE
- * @see TGComponent
- */
- 
+   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 InvariantSynchro implements GenericTree
+   * InvariantSynchro is a synchro inside of a invanriant
+   * Creation: 29/03/2012
+   * @version 1.0 29/03/2012
+   * @author Ludovic APVRILLE
+   * @see TGComponent
+   */
+
 package ui;
 
 import myutil.*;
@@ -53,61 +53,54 @@ import java.util.*;
 
 public class InvariantSynchro implements GenericTree {
 
-	private TGComponent from;
-	private TGComponent to;
-	private String name;
-	
-	public InvariantSynchro(String _name, TGComponent _from, TGComponent _to) {
-		from = _from;
-		to = _to;
-		name = _name;
-	}
-	
-	
-    
-	public String toString() {
+    private TGComponent from;
+    private TGComponent to;
+    private String name;
+
+    public InvariantSynchro(String _name, TGComponent _from, TGComponent _to) {
+        from = _from;
+        to = _to;
+        name = _name;
+    }
+
+
+
+    public String toString() {
         return name;
     }
-    
+
     public String getName() {
-    	return name;
+        return name;
     }
-    
+
     public TGComponent getFrom() {
-    	return from;
+        return from;
     }
-    
+
     public TGComponent getTo() {
-    	return to;
+        return to;
     }
-    
+
     public int getChildCount() {
         return 2;
     }
-    
+
     public Object getChild(int index) {
-    	if (index == 0) {
-    		return from;
-    	}
-    	
-    	return to;
+        if (index == 0) {
+            return from;
+        }
+
+        return to;
     }
-    
+
     public int getIndexOfChild(Object child) {
-    	if (child == from) {
-    		return 0;
-    	}
-    	return 1;
+        if (child == from) {
+            return 0;
+        }
+        return 1;
     }
-    
+
     public boolean containsComponent(TGComponent tgc) {
-    	return (from == tgc) || (to == tgc);
+        return (from == tgc) || (to == tgc);
     }
 }
-
-
-
-
-    
-
-
diff --git a/src/ui/JMenuBarTurtle.java b/src/ui/JMenuBarTurtle.java
index aee6cbb07934d642ccfdd7d96ad3d1e9aa7da87d..a2903dd628b8d323d25af8c59a472a2322f36fd2 100755
--- a/src/ui/JMenuBarTurtle.java
+++ b/src/ui/JMenuBarTurtle.java
@@ -458,13 +458,13 @@ public  class JMenuBarTurtle extends JMenuBar   {
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_VIEW_STAT_SAVED_AUT]);
         menuItem.addMouseListener(mgui.mouseHandler);
 
-        vAndV.addSeparator();
+        /*vAndV.addSeparator();
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_VIEW_PM_AUT]);
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_VIEW_PM_AUTPROJ]);
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_VIEW_PM_SAVED_AUT]);
-        menuItem.addMouseListener(mgui.mouseHandler);
+        menuItem.addMouseListener(mgui.mouseHandler);*/
 
         vAndV.addSeparator();
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_AVATAR_SIM]);
diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java
index 481ae5ba5f139982fb271b35606740d93f68af66..d23b96d511b00ce1148321ac131d1e616547167a 100644
--- a/src/ui/MainGUI.java
+++ b/src/ui/MainGUI.java
@@ -141,6 +141,7 @@ import ui.file.TLSAFileFilter;
 import ui.file.TLibFilter;
 import ui.file.TSVGFilter;
 import ui.file.TTIFFilter;
+import ui.graph.*;
 import ui.interactivesimulation.JFrameInteractiveSimulation;
 import ui.interactivesimulation.SimulationTransaction;
 import ui.iod.InteractionOverviewDiagramPanel;
@@ -1104,6 +1105,14 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
         return gtm.getInvariants();
     }
 
+    public ArrayList<RG> getRGs() {
+	return gtm.getRGs();
+    }
+
+    public void addRG(RG _newGraph) {
+	gtm.addRG(_newGraph);
+    }
+
 
     public void setCurrentInvariant(Invariant inv) {
         currentInvariant = inv;
diff --git a/src/ui/graph/AUTGraph.java b/src/ui/graph/AUTGraph.java
index d1f5dcf1c65be92ad19e4f4478ed56ab6a387456..df2984a5e17fcce796e52011b3535de9c3bcd8a2 100755
--- a/src/ui/graph/AUTGraph.java
+++ b/src/ui/graph/AUTGraph.java
@@ -50,7 +50,7 @@ import java.io.*;
 
 import myutil.*;
 
-public class AUTGraph  implements myutil.Graph {
+public class AUTGraph implements myutil.Graph {
 
     protected ArrayList<AUTTransition> transitions;
     protected ArrayList<AUTState> states;
diff --git a/src/ui/graph/RG.java b/src/ui/graph/RG.java
new file mode 100755
index 0000000000000000000000000000000000000000..0a1e0c639baecf87b041adcb6e163acea3736168
--- /dev/null
+++ b/src/ui/graph/RG.java
@@ -0,0 +1,72 @@
+/**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 RG
+   * Creation : 07/12/2016
+   ** @version 1.0 07/12/2016
+   * @author Ludovic APVRILLE
+   * @see
+   */
+
+package ui.graph;
+
+import java.util.*;
+import java.io.*;
+
+import myutil.*;
+
+public class RG {
+
+    public String name;
+    public AUTGraph graph;
+    public String data;
+    public String fileName;
+    
+    public RG(String _name) {
+	name = _name;
+    }
+
+    public String getToolTip() {
+	return name;
+    }
+
+    public String toString() {
+	return name;
+    }
+
+}
diff --git a/src/ui/tree/DiagramTreeModel.java b/src/ui/tree/DiagramTreeModel.java
index 2229e84e0c617c8c84d032ee6f5946f0685bfefe..aefc374382edf3a8d27fb358f59a1fa0fa361525 100755
--- a/src/ui/tree/DiagramTreeModel.java
+++ b/src/ui/tree/DiagramTreeModel.java
@@ -159,6 +159,10 @@ public class DiagramTreeModel implements TreeModel {
             if (node instanceof InvariantDataTree) {
                 return false;
             }
+
+	    if (node instanceof GraphTree) {
+                return false;
+            }
             
             if (node instanceof Invariant) {
                 return false;
@@ -185,6 +189,7 @@ public class DiagramTreeModel implements TreeModel {
              if (node instanceof InvariantSynchro) {
              	 return false;
              }
+
             return true;
         }
     }
diff --git a/src/ui/tree/DiagramTreeRenderer.java b/src/ui/tree/DiagramTreeRenderer.java
index 1a67a05ee766a9146a27d486e7bc55a9bdbd24f3..7c05cab39bf4254e93e352ec7eb0202e17baad77 100755
--- a/src/ui/tree/DiagramTreeRenderer.java
+++ b/src/ui/tree/DiagramTreeRenderer.java
@@ -70,6 +70,8 @@ import ui.tmlsd.*;
 
 import ui.ncdd.*;
 
+import ui.graph.*;
+
 import ui.oscd.*;
 import ui.osad.*;
 
@@ -86,6 +88,9 @@ import ui.diplodocusmethodology.*;
 import ui.avatarmethodology.*;
 import ui.sysmlsecmethodology.*;
 
+import ui.graph.*;
+
+
 
 public class DiagramTreeRenderer extends DefaultTreeCellRenderer  {
 
@@ -275,6 +280,10 @@ public class DiagramTreeRenderer extends DefaultTreeCellRenderer  {
         }  else if (value instanceof CheckingError) {
             setIcon(IconManager.imgic322);
             setToolTipText(value.toString());
+        } else if (value instanceof RG) {
+            RG rg = (RG)value;
+            setIcon(IconManager.imgic310);
+            setToolTipText("Graph: " + rg.getToolTip());
         } else if (value instanceof Invariant) {
             Invariant inv = (Invariant)value;
             setIcon(IconManager.imgic5110);
@@ -286,6 +295,9 @@ public class DiagramTreeRenderer extends DefaultTreeCellRenderer  {
         } else if (value instanceof InvariantDataTree) {
             setIcon(IconManager.imgic5112);
             setToolTipText("List of invariants");
+        } else if (value instanceof GraphTree) {
+            setIcon(IconManager.imgic310);
+            setToolTipText("List of RG");
         } else if (value instanceof TAttribute) {
             setIcon(IconManager.imgic5106);
             setToolTipText(value.toString());
diff --git a/src/ui/tree/GraphTree.java b/src/ui/tree/GraphTree.java
new file mode 100755
index 0000000000000000000000000000000000000000..0977150bf0ca9d96322864eea5f0cbf851f05830
--- /dev/null
+++ b/src/ui/tree/GraphTree.java
@@ -0,0 +1,91 @@
+/**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 InvariantDataTree
+ * Creation: 15/02/2012
+ * Version 2.0 15/02/2012
+ * @author Ludovic APVRILLE
+ * @see
+ */
+
+package ui.tree;
+
+import ui.*;
+import myutil.*;
+import ui.graph.*;
+
+import java.util.*;
+
+public class GraphTree implements GenericTree {
+    
+    private MainGUI mgui;
+    private String name = "R. Graphs";
+ 
+    
+    public GraphTree(MainGUI _mgui) {
+        mgui = _mgui;
+    }
+    
+    // TREE MANAGEMENT
+    public String toString() {
+        return name;
+    }
+    
+    public int getChildCount() {
+        int nb =  mgui.getRGs().size();
+        if (nb == 0) {
+        	return 1;
+        }
+        return nb;
+    }
+    
+    public Object getChild(int index) {
+    	ArrayList<RG> rgs = mgui.getRGs();
+    	if (rgs.size() == 0) {
+    		return "No graph";
+    	}
+    	return mgui.getRGs().get(index);
+    }
+    
+    public int getIndexOfChild(Object child) {
+    	if (child instanceof String) {
+    		return 0;
+    	}
+       return  mgui.getRGs().indexOf((RG)child);
+    }
+}
diff --git a/src/ui/tree/JDiagramTree.java b/src/ui/tree/JDiagramTree.java
index 08def8883085bafac92e9c7a1bf6a6f3da37f608..401af00ac5e6240d014bee1af786c6450a42ed2a 100755
--- a/src/ui/tree/JDiagramTree.java
+++ b/src/ui/tree/JDiagramTree.java
@@ -1,48 +1,48 @@
 /**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 JDiagramTree
- * Dialog for managing attributes
- * Creation: 14/12/2003
- * @version 1.0 14/12/2003
- * @author Ludovic APVRILLE
- * @see
- */
+   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 JDiagramTree
+   * Dialog for managing attributes
+   * Creation: 14/12/2003
+   * @version 1.0 14/12/2003
+   * @author Ludovic APVRILLE
+   * @see
+   */
 
 package ui.tree;
 
@@ -55,6 +55,7 @@ import java.util.*;
 
 //import translator.*;
 import ui.*;
+import ui.graph.*;
 import myutil.*;
 
 
@@ -62,19 +63,19 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
     private boolean toUpdate = false;
     private MainGUI mgui;
     private DiagramTreeModel dtm;
-    
+
     //for update
     private Set m_expandedTreePaths = new HashSet();
     private TreePath[] m_selectedTreePaths = new TreePath[0];
     //private boolean m_nodeWasSelected = false;
-    
-    
+
+
     /** Creates new form  */
     public JDiagramTree(MainGUI _mgui) {
         super(new DiagramTreeModel(_mgui));
-        
+
         TraceManager.addDev("TREE CREATED");
-        
+
         mgui = _mgui;
         getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
         setEditable(false);
@@ -82,50 +83,50 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
         addTreeExpansionListener(this);
         addTreeSelectionListener(this);
     }
-    
+
     public void reinit() {
         m_expandedTreePaths.clear();
         m_selectedTreePaths = new TreePath[0];
     }
-    
+
     public void toBeUpdated() {
         toUpdate = true;
     }
-    
+
     public void updateNow() {
         if(toUpdate) {
             forceUpdate();
         }
     }
-    
+
     public void forceUpdate() {
         toUpdate = false;
         dtm = new DiagramTreeModel(mgui);
         setModel(dtm);
         update();
     }
-    
+
     public void mousePressed(MouseEvent e) {
-        
+
     }
-    
+
     public void mouseReleased(MouseEvent e) {
-        
+
     }
-    
+
     public void mouseEntered(MouseEvent e) {
         updateNow();
     }
-    
+
     public void mouseExited(MouseEvent e) {
         setSelectionPath(null);
         m_selectedTreePaths = new TreePath[0];
     }
-    
+
     public void mouseClicked(MouseEvent e) {
-        
+
     }
-    
+
     public synchronized void run(){
         checkPaths();
         Iterator l_keys = m_expandedTreePaths.iterator();
@@ -149,7 +150,7 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
         }
         getSelectionModel().setSelectionPaths(m_selectedTreePaths);
     }
-    
+
     private void checkPaths() {
         TreePath l_path = null;
         Iterator l_keys = m_expandedTreePaths.iterator();
@@ -159,41 +160,41 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
                 m_expandedTreePaths.remove(l_path);
             }
         }
-        
+
     }
-    
+
     private boolean isAPathOf(TreePath tp) {
         if ((dtm ==null) || (tp == null)) {
             return false;
         }
-        
+
         Object [] objs = tp.getPath();
-        
+
         if (objs.length == 0) {
             return false;
         }
-        
+
         if (objs[0] != dtm.getRoot()) {
             return false;
         }
-        
+
         int index;
-        
+
         for(int i=0; i<objs.length - 2; i++) {
             index = dtm.getIndexOfChild(objs[i], objs[i+1]);
             if (index == -1) {
                 return false;
             }
         }
-        
+
         return true;
-        
+
     }
-    
+
     public synchronized void update(){
         SwingUtilities.invokeLater(this);
     }
-    
+
     public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
         TreePath tp = treeExpansionEvent.getPath();
         m_expandedTreePaths.add(tp);
@@ -213,28 +214,28 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
                 }
             }
         }
-        
+
     }
-    
+
     public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
         m_expandedTreePaths.remove(treeExpansionEvent.getPath());
     }
-    
+
     public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
-    	//TraceManager.addDev("Value changed");
-    	
+        //TraceManager.addDev("Value changed");
+
         if(getSelectionPaths() != null && getSelectionPaths().length >0 ){
             m_selectedTreePaths = getSelectionModel().getSelectionPaths();
         }
-        
+
         TreePath tp = treeSelectionEvent.getNewLeadSelectionPath();
         if (tp == null) {
             return;
         }
-        
+
         Object nodeInfo = tp.getLastPathComponent();
         Object o;
-        
+
         if (nodeInfo instanceof TDiagramPanel) {
             mgui.selectTab((TDiagramPanel)nodeInfo);
         } else if (nodeInfo instanceof TURTLEPanel) {
@@ -244,23 +245,23 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
             mgui.selectTab(tgc.getTDiagramPanel());
             tgc.getTDiagramPanel().highlightTGComponent(tgc);
         } else if (nodeInfo instanceof Invariant) {
-        	//TraceManager.addDev("Click on invariant");
-            	Invariant inv = (Invariant)nodeInfo;
-            	mgui.setCurrentInvariant(inv);
-            	for(int i=2; i< inv.getChildCount(); i++) {
-            		o = inv.getChild(i);
-            		if (o instanceof TGComponent) {
-            			 TGComponent tgc1 = (TGComponent) (o);
-            			 tgc1.getTDiagramPanel().repaint(); 
-            		}
-            		
-            		if (o instanceof InvariantSynchro) {
-            			InvariantSynchro is = (InvariantSynchro)o;
-            			is.getFrom().getTDiagramPanel().repaint();
-            			is.getTo().getTDiagramPanel().repaint(); 
-            		}
-            		
-            	}
+            //TraceManager.addDev("Click on invariant");
+            Invariant inv = (Invariant)nodeInfo;
+            mgui.setCurrentInvariant(inv);
+            for(int i=2; i< inv.getChildCount(); i++) {
+                o = inv.getChild(i);
+                if (o instanceof TGComponent) {
+                    TGComponent tgc1 = (TGComponent) (o);
+                    tgc1.getTDiagramPanel().repaint();
+                }
+
+                if (o instanceof InvariantSynchro) {
+                    InvariantSynchro is = (InvariantSynchro)o;
+                    is.getFrom().getTDiagramPanel().repaint();
+                    is.getTo().getTDiagramPanel().repaint();
+                }
+
+            }
         } else if (nodeInfo instanceof CheckingError) {
             CheckingError ce = (CheckingError)nodeInfo;
             TDiagramPanel tdp; TGComponent tgc;
@@ -278,8 +279,14 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr
                 mgui.selectTab("Class diagram");
             } else if (ce.getTMLTask() != null) {
                 mgui.selectTab(ce.getTMLTask().getName());
-            } 
-        }
+            }
+        } else if (nodeInfo instanceof RG) {
+	    RG rg = (RG)nodeInfo;
+	    if (rg.data != null) {
+		mgui.showAUT("Last RG", rg.data);
+	    }
+	    
+	}
     }
-    
+
 }
diff --git a/src/ui/tree/ValidationDataTree.java b/src/ui/tree/ValidationDataTree.java
index 5c78641c782bebea286c9eb7c511150f086c8ff5..b33fc53d2fa703b9106f170aedb52acffd7ce66c 100755
--- a/src/ui/tree/ValidationDataTree.java
+++ b/src/ui/tree/ValidationDataTree.java
@@ -1,47 +1,47 @@
 /**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 ValidationDataTree
- * Creation: 22/12/2003
- * Version 1.0 22/12/2003
- * @author Ludovic APVRILLE
- * @see
- */
+   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 ValidationDataTree
+   * Creation: 22/12/2003
+   * Version 1.0 22/12/2003
+   * @author Ludovic APVRILLE
+   * @see
+   */
 
 package ui.tree;
 
@@ -49,60 +49,66 @@ import ui.*;
 import myutil.*;
 
 public class ValidationDataTree implements GenericTree {
-    
+
     private MainGUI mgui;
     private String name = "Validation";
     private TClassesValidationDataTree tvdt;
     private SyntaxAnalysisTree mcvdt;
     private CorrespondanceValidationDataTree cvdt;
     private InvariantDataTree idt;
-    
+    private GraphTree gt;
+
     public ValidationDataTree(MainGUI _mgui) {
         mgui = _mgui;
         tvdt = new TClassesValidationDataTree(mgui);
         mcvdt = new SyntaxAnalysisTree(mgui);
         cvdt = new CorrespondanceValidationDataTree();
         idt = new InvariantDataTree(mgui);
+        gt = new GraphTree(mgui);
     }
-    
+
     // TREE MANAGEMENT
-    
+
     public String toString() {
         return name;
     }
-    
+
     public int getChildCount() {
-      //System.out.println("Get child count validation");
-        return 4;
+        //System.out.println("Get child count validation");
+        return 5;
     }
-    
+
     public Object getChild(int index) {
-    //System.out.println("Get child validation");
+        //System.out.println("Get child validation");
         switch (index) {
-            case 0:
-                return tvdt;
-            case 1:
-                return mcvdt;
-            case 2:
-                return cvdt;
-            case 3:
-                return idt;
+        case 0:
+            return tvdt;
+        case 1:
+            return mcvdt;
+        case 2:
+            return cvdt;
+        case 3:
+            return gt;
+        case 4:
+            return idt;
         }
         return null;
     }
-    
+
     public int getIndexOfChild(Object child) {
-    //System.out.println("Get index of child validation");
+        //System.out.println("Get index of child validation");
         if (child instanceof TClassesValidationDataTree) {
             return 0;
-        }	else if (child instanceof SyntaxAnalysisTree) {
+        }       else if (child instanceof SyntaxAnalysisTree) {
             return 1;
         } else if (child instanceof CorrespondanceValidationDataTree) {
             return 2;
-        } else if (child instanceof InvariantDataTree) {
+        } else if (child instanceof GraphTree) {
             return 3;
+        } else if (child instanceof InvariantDataTree) {
+            return 4;
         }
         return -1;
     }
-    
+
 }
diff --git a/src/ui/window/JDialogAvatarModelChecker.java b/src/ui/window/JDialogAvatarModelChecker.java
index 095a82be383abeef3a6176869804781bf59d3e05..a5872b9e9ea0a1ea85e5f632370a52b24f246c4f 100644
--- a/src/ui/window/JDialogAvatarModelChecker.java
+++ b/src/ui/window/JDialogAvatarModelChecker.java
@@ -61,6 +61,8 @@ import avatartranslator.modelchecker.*;
 import ui.*;
 import java.util.concurrent.TimeUnit;
 
+import ui.graph.*;
+
 
 
 public class JDialogAvatarModelChecker extends javax.swing.JFrame implements ActionListener, Runnable, MasterProcessInterface  {
@@ -419,9 +421,9 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
     }
 
     public void showGraph() {
-	if (graphAUT != null) {
-	    mgui.showAUT("Last RG", graphAUT);
-	}
+        if (graphAUT != null) {
+            mgui.showAUT("Last RG", graphAUT);
+        }
     }
 
     public synchronized void stopProcess() {
@@ -555,6 +557,10 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                     graphAUT = amc.toAUT();
                     graphMode = GRAPH_OK;
                     //TraceManager.addDev("graph AUT=\n" + graph);
+                    RG rg = new RG("from avatar");
+                    rg.data = graphAUT;
+                    rg.fileName = graphPath.getText();
+                    mgui.addRG(rg);
                     FileUtils.saveFile(graphPath.getText(), graphAUT);
                     jta.append("Graph saved in " + graphPath.getText() + "\n");
                 } catch (Exception e) {