diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java
index 34338f99bcc4c96073bc0fed04261bc1ce09c196..138eb567084234cfe133a158f561c4f11428c08b 100644
--- a/src/main/java/cli/Action.java
+++ b/src/main/java/cli/Action.java
@@ -142,6 +142,7 @@ public class Action extends Command implements ProVerifOutputListener {
     private final static String AVATAR_DRAW = "avatar-print";
     private final static String AVATAR_PRINT = "avatar-draw";
     private final static String AVATAR_RG_GENERATION = "avatar-rg";
+    private final static String AVATAR_DEPENDENCY_GRAPH = "avatar-dg";
     private final static String AVATAR_UPPAAL_VALIDATE = "avatar-rg-validate";
     private final static String AVATAR_SIMULATION_TO_BRK = "avatar-simulation-to-brk";
     private final static String AVATAR_SIMULATION_SELECT_TRACE = "avatar-simulation-select-trace";
@@ -1615,6 +1616,61 @@ public class Action extends Command implements ProVerifOutputListener {
             }
         };
 
+        Command AvatarDependencyGraphGeneration = new Command() {
+            public String getCommand() {
+                return AVATAR_DEPENDENCY_GRAPH;
+            }
+
+            public String getShortCommand() {
+                return "adg";
+            }
+
+            public String getDescription() {
+                return "Generate the dependency graph of an Avatar model";
+            }
+
+            public String getUsage() {
+                return "<graph name>: name of the file in which the graph is saved";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
+                AvatarSpecification spec = interpreter.mgui.gtm.getAvatarSpecification();
+
+                if (spec == null) {
+                    return "No AVATAR specification";
+                }
+
+                String[] commands = command.split(" ");
+                if (commands.length < 1) {
+                    return Interpreter.BAD;
+                }
+
+                String graphName = commands[0];
+
+                AvatarDependencyGraph adg = spec.makeDependencyGraph();
+                RG rg = new RG("Dependency Graph");
+                rg.graph = adg.getGraph();
+                rg.nbOfStates = rg.graph.getNbOfStates();
+                rg.nbOfTransitions = rg.graph.getNbOfTransitions();
+
+
+                String graphContent = rg.graph.toFullString();
+                try {
+                    FileUtils.saveFile(new File(graphName), graphContent);
+                } catch (Exception e) {
+                  return "Error when saving graph in File: " + e.getMessage();
+                }
+
+                interpreter.mgui.addRG(rg);
+
+
+                return null;
+                //}
+
+                //return null;
+            }
+        };
+
 
 
         Command generateRGFromAvatar = new Command() {
@@ -2380,6 +2436,7 @@ public class Action extends Command implements ProVerifOutputListener {
         addAndSortSubcommand(generic);
 
         addAndSortSubcommand(graphtToAvatar);
+        addAndSortSubcommand(AvatarDependencyGraphGeneration);
 
 
 
diff --git a/src/main/java/ui/ActionPerformer.java b/src/main/java/ui/ActionPerformer.java
index 3e11a673fb801e37cbd5857a85d770c1c0d2b531..47869d22585634fa374b73fa24ea10e7610490a3 100644
--- a/src/main/java/ui/ActionPerformer.java
+++ b/src/main/java/ui/ActionPerformer.java
@@ -79,7 +79,7 @@ public class ActionPerformer {
             mgui.openLastProject();
         } else if (command.equals(mgui.actions[TGUIAction.ACT_SAVE].getActionCommand())) {
             mgui.saveProject();
-        } else if (command.equals(mgui.actions[TGUIAction.ACT_IA].getActionCommand())) {
+        } else if (command.equals(mgui.actions[TGUIAction.ACT_AI].getActionCommand())) {
                 mgui.ai();
         } else if (command.equals(mgui.actions[TGUIAction.ACT_SAVE_AS_MODEL].getActionCommand())) {
             mgui.saveAsNewModel();
diff --git a/src/main/java/ui/JToolBarMainTurtle.java b/src/main/java/ui/JToolBarMainTurtle.java
index e97500599f541a384d0dbe59f26117e5f3890f0c..c53b1213a853f0f545bb022fd5f5060a9825bceb 100644
--- a/src/main/java/ui/JToolBarMainTurtle.java
+++ b/src/main/java/ui/JToolBarMainTurtle.java
@@ -359,7 +359,7 @@ public  class JToolBarMainTurtle extends JToolBar implements ActionListener
 
         addSeparator();
 
-        ai = add(mgui.actions[TGUIAction.ACT_IA]);
+        ai = add(mgui.actions[TGUIAction.ACT_AI]);
         ai.addMouseListener(mgui.mouseHandler);
 
         addSeparator();
diff --git a/src/main/java/ui/ModeManager.java b/src/main/java/ui/ModeManager.java
index e99622e0515cc26b561843d06c82545062b61e36..609a05e39db85aae7e287b7d7b72c420d1a9370b 100644
--- a/src/main/java/ui/ModeManager.java
+++ b/src/main/java/ui/ModeManager.java
@@ -98,7 +98,7 @@ public class ModeManager {
             if (mainBar != null) {
                 mainBar.activateSearch(false);
             }
-            actions[TGUIAction.ACT_IA].setEnabled(true);
+            actions[TGUIAction.ACT_AI].setEnabled(true);
             break;
         case MainGUI.OPENED:
             actions[TGUIAction.ACT_MERGE].setEnabled(true);
@@ -138,7 +138,7 @@ public class ModeManager {
                 mainBar.activateSearch(true);
             }
 
-            actions[TGUIAction.ACT_IA].setEnabled(true);
+            actions[TGUIAction.ACT_AI].setEnabled(true);
 
             // @author: Huy TRUONG
             actions[TGUIAction.ACT_EXTERNAL_SEARCH].setEnabled(true);
diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java
index 07ca9f9d8485714b424f07edffa9d0aab32b0428..b15fe74e87b8b541ab793855446ce1f59b8ed573 100644
--- a/src/main/java/ui/TGUIAction.java
+++ b/src/main/java/ui/TGUIAction.java
@@ -74,7 +74,7 @@ public class TGUIAction extends AbstractAction {
     public static final int ACT_MERGE = 228;
     public static final int ACT_SAVE = 2;
 
-    public static final int ACT_IA = 564;
+    public static final int ACT_AI = 564;
 
     public static final int ACT_SAVE_AS_PROJECT = 31;
     public static final int ACT_SAVE_AS_MODEL = 475;
@@ -852,7 +852,7 @@ public class TGUIAction extends AbstractAction {
         actions[ACT_SAVE_AS_PROJECT] = new TAction("saveasproject-command", "Save as Project",IconManager.imgic24, IconManager.imgic25, "Save as Project", "Save an opened or a new TTool modeling under a new project", 0);
         actions[ACT_SAVE_AS_MODEL] = new TAction("saveasmodel-command", "Save as Model",IconManager.imgic24, IconManager.imgic25, "Save as Model", "Save an opened or a new TTool modeling under a new model", 0);
         actions[ACT_QUIT] = new TAction("quit-command", "Quit", IconManager.imgic26, IconManager.imgic27, "Quit",  "Quit TTool", 'Q');
-        actions[ACT_IA] = new TAction("ia-command", "IA", IconManager.imgic152, IconManager.imgic152, "IA",  "Start IA for modeling", 'A');
+        actions[ACT_AI] = new TAction("ai-command", "AI", IconManager.imgic152, IconManager.imgic152, "AI",  "Use AI for modeling", 'A');
 
 
         actions[ACT_SAVE_LOTOS] = new TAction("save-last-lotos", "Save last RT-LOTOS specification",IconManager.imgic24, IconManager.imgic25, "Save last RT-LOTOS specification", "Save the lastest automatically generated RT-LOTOS specification", 0);