diff --git a/src/main/java/avatartranslator/AvatarBlock.java b/src/main/java/avatartranslator/AvatarBlock.java
index c5dbcc7a2e2e6ba1f2adc1e51bda342b2bbbb8a1..5d77ff15976147ad6a8836b484e5fad76bfc46fa 100644
--- a/src/main/java/avatartranslator/AvatarBlock.java
+++ b/src/main/java/avatartranslator/AvatarBlock.java
@@ -378,6 +378,30 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne
         return sb.toString();
     }
 
+    public String toTextFormat() {
+        StringBuffer sb = new StringBuffer("block:" + getName() + " \n");
+        if (getFather() != null) {
+            sb.append("  subblock of: " + getFather().getName() + "\n");
+        }
+        for (AvatarAttribute attribute : attributes) {
+            sb.append("  attribute: " + attribute.toString() + "\n");
+        }
+        for (AvatarMethod method : methods) {
+            sb.append("  method: " + method.toString() +  "\n");
+        }
+        for (AvatarSignal signal : signals) {
+            sb.append("  signal: " + signal.toString() + "\n");
+        }
+        if (asm != null) {
+            sb.append("State machine:\n");
+            sb.append(asm.toStringRecursive());
+        } else {
+            sb.append("No state machine");
+        }
+
+        return sb.toString();
+    }
+
     public String toShortString() {
         //Thread.currentThread().dumpStack();
         StringBuffer sb = new StringBuffer("block:" + getName() + " ID=" + getID() + " \n");
diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java
index 35e9c6b5eecb6076ac6cfcd1ec293e82bded2a98..2e7e65dd44bf4013986ced4059982d62e98ae88c 100644
--- a/src/main/java/avatartranslator/AvatarSpecification.java
+++ b/src/main/java/avatartranslator/AvatarSpecification.java
@@ -817,6 +817,32 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec {
         return sb.toString();
     }
 
+    public String toTextFormat() {
+        //Thread.currentThread().dumpStack();
+        StringBuffer sb = new StringBuffer("Blocks:\n");
+        //TraceManager.addDev("TS Block");
+        for (AvatarBlock block : blocks) {
+            sb.append("*** " + block.toTextFormat() + "\n");
+
+        }
+        //TraceManager.addDev("TS Relations");
+        sb.append("\nRelations:\n");
+        for (AvatarRelation relation : relations) {
+            sb.append("\tRelation:" + relation.toString() + "\n");
+        }
+        sb.append("\nPragmas:\n");
+        for (AvatarPragma pragma : pragmas) {
+            sb.append("\tPragma:" + pragma.toString() + "\n");
+        }
+        for (AvatarConstant constant : constants) {
+            sb.append("\tConstant:" + constant.toString() + "\n");
+        }
+
+        //TraceManager.addDev("TS All done");
+
+        return sb.toString();
+    }
+
     public String toShortString() {
         //TraceManager.addDev("To Short String");
         //Thread.currentThread().dumpStack();
diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java
index 518777832d63fbf7b3833ee45866feabdbe993d0..a486951fa31a3369d886848e19add540c0372971 100644
--- a/src/main/java/avatartranslator/AvatarStateMachine.java
+++ b/src/main/java/avatartranslator/AvatarStateMachine.java
@@ -444,6 +444,15 @@ public class AvatarStateMachine extends AvatarElement {
         return toStringRecursiveElt(ass);
     }
 
+    public String toTextFormat() {
+        AvatarStartState ass = getStartState();
+        if (ass == null) {
+            return "Empty state machine";
+        }
+
+        return toTextFormatElt(ass);
+    }
+
     public String toStringRecursiveElt(AvatarStateMachineElement _asme) {
         String ret = "";
         ret += "* " + _asme.toStringExtendedID() + "\n";
@@ -460,6 +469,22 @@ public class AvatarStateMachine extends AvatarElement {
 
     }
 
+    public String toTextFormatElt(AvatarStateMachineElement _asme) {
+        String ret = "";
+        ret += "* " + _asme.toStringExtendedID() + "\n";
+
+        for (AvatarStateMachineElement asme : _asme.getNexts()) {
+            ret += "\tnext: " + asme.toStringExtendedID() + "\n";
+
+        }
+        for (AvatarStateMachineElement asme : _asme.getNexts()) {
+            ret += toTextFormatElt(asme);
+        }
+
+        return ret;
+
+    }
+
 
     // Add missing implicit states.
     public void makeFullStates(AvatarBlock _block) {
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 6114bac1de29bd03fd85dc46a3d6dbc328f9c2e7..aaa8d1f222f21ea326c2c14ae76c207314e25c43 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -10413,7 +10413,7 @@ public class GTURTLEModeling {
                             mapOfElements.put(tgc, aucdc);
                             aucd.addConnection(aucdc);
 
-                            if (tgc instanceof TGConnectorUC) {
+                            if (tgc instanceof TGConnectorUseCase) {
                                 aucdc.type = AvatarUCDConnection.CONNECTION.WITH_ACTOR;
                             }
 
@@ -10434,6 +10434,12 @@ public class GTURTLEModeling {
             }
 
             return aucd.toString();
+
+        } else if (_tdp instanceof AvatarBDPanel) {
+            if (avatarspec != null) {
+                return avatarspec.toTextFormat();
+            }
+
         }
         return null;
     }