diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
index ad2249e85137c324d368e4e036c1e7ad5d54ece4..8a60594d38bf4f83b42beb910a322136863ba313 100644
--- a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
+++ b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
@@ -15,16 +15,15 @@ import static org.junit.Assert.*;
  */
 public class TDiagramPanelCloneTest extends AbstractUITest {
 
-    static TDiagramPanel diagramPanel;
-    static  TGComponent tgComponent1;
-    static TGComponent tgComponent2;
-    static TGComponent tgComponent3;
-    static TGComponent tgComponent4;
 
-    final static String EXPECTED_FILE1 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec1.tml";
-    final static String EXPECTED_FILE2 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec2.tml";
-    final static String EXPECTED_FILE3 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec3.tml";
-    final static String EXPECTED_FILE4 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec4.tml";
+
+    private final static String [] EXPECTED_FILES = {"expected_spec1.tml", "expected_spec2.tml", "expected_spec3.tml", "expected_spec4.tml"};
+    private final static String [] COMP_NAMES = {"CompositeComp1", "CompositeComp2", "PrimitiveComp5", "PrimitiveComp6"};
+
+    private static String FILE_DIR = getBaseResourcesDir() + "tmltranslator/expected/";
+
+    private  TDiagramPanel diagramPanel;
+    private  TGComponent [] components;
 
 
     @BeforeClass
@@ -39,7 +38,6 @@ public class TDiagramPanelCloneTest extends AbstractUITest {
 
     @Before
     public void setUp() {
-        diagramPanel = null;
         for(TURTLEPanel _tab : mainGUI.getTabs()) {
             if(_tab instanceof TMLComponentDesignPanel) {
                 for (TDiagramPanel tdp : _tab.getPanels()) {
@@ -53,75 +51,37 @@ public class TDiagramPanelCloneTest extends AbstractUITest {
             }
         }
 
+        components = new TGComponent[EXPECTED_FILES.length];
+
         if (diagramPanel != null) {
-            //TraceManager.addDev("diagram pannel is non null !!!");
             for (TGComponent tgc : diagramPanel.getAllComponentList()) {
-                if (tgc.getValue().equals("CompositeComp1")) {
-                    tgComponent1 = tgc;
-                }
-
-                if (tgc.getValue().equals("CompositeComp2")) {
-                    tgComponent2 = tgc;
-                }
-
-                if (tgc.getValue().equals("PrimitiveComp5")) {
-                    tgComponent3 = tgc;
-                }
-
-                if (tgc.getValue().equals("PrimitiveComp6")) {
-                    tgComponent4 = tgc;
+                for(int i=0; i<Math.min(EXPECTED_FILES.length, COMP_NAMES.length); i++) {
+                    if (tgc.getValue().equals(COMP_NAMES[i])) {
+                        System.out.println("Found component:" + i + " / " + tgc.getValue());
+                        components[i] = tgc;
+                    }
                 }
             }
        }
     }
 
    @Test
-    public void testCloneCompositeComponentWithNullFather() throws Exception{
-        CompareTML compTML = new CompareTML();
-        diagramPanel.cloneComponent(tgComponent1);
-       // diagramPanel.cloneComponent(tgComponent2);
-        //diagramPanel.cloneComponent(tgComponent3);
-        //diagramPanel.cloneComponent(tgComponent4);
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE1);
-        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
-        assertTrue(compTML.compareTML(f1,f2));
-    }
-
-    @Test
-    public void testCloneCompositeComponentWithNonNullFather() throws Exception {
-        CompareTML compTML = new CompareTML();
-        diagramPanel.cloneComponent(tgComponent2);
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE2);
-        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
-        assertTrue(compTML.compareTML(f1,f2));
-    }
-
-    @Test
-    public void testClonePrimitiveComponentWithNonNullFather() throws Exception {
-        CompareTML compTML = new CompareTML();
-        diagramPanel.cloneComponent(tgComponent3);
-        // mainGUI.modelChecking();
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE3);
-        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
-        assertTrue(compTML.compareTML(f1,f2));
-    }
-
-
-    @Test
-    public void testClonePrimitiveComponentWithNullFather() throws Exception {
-        CompareTML compTML = new CompareTML();
-        diagramPanel.cloneComponent(tgComponent4);
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE4);
-        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
-        assertTrue(compTML.compareTML(f1,f2));
+    public void testCloneCompositeComponentWithNullFather() throws Exception {
+       System.out.println("Test  testCloneCompositeComponentWithNullFather ");
+       if (diagramPanel != null) {
+           System.out.println("Not null testCloneCompositeComponentWithNullFather ");
+           for (int i = 0; i < EXPECTED_FILES.length; i++) {
+               System.out.println("Testing with " + components[i].getValue());
+               CompareTML compTML = new CompareTML();
+               diagramPanel.cloneComponent(components[i]);
+               mainGUI.checkModelingSyntax(true);
+               mainGUI.generateTMLTxt();
+               File f1 = new File(FILE_DIR + EXPECTED_FILES[i]);
+               File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
+               assertTrue(compTML.compareTML(f1, f2));
+           }
+       }
+       System.out.println("End test  testCloneCompositeComponentWithNullFather ");
     }
 
 }
\ No newline at end of file
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
index 1575d44d5261db95748809b38af07a8667130c47..ad4a9b72a5e0b3cdbb8875b5d809166de6a99e74 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
@@ -1,18 +1,20 @@
-// TML Application - FORMAT 0.1
-// Application: /home/levan/Desktop/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
-// Generated: Fri Nov 15 15:15:40 CET 2019
+// TML Application - FORMAT 0.2
+// Application: /Users/ludovicapvrille/TTool/ttool/build/resources/test/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Thu Mar 17 13:30:01 CET 2022
+
+// PRAGMAS
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
 CHANNEL Application__channel2 BRBW 4 8 OUT Application__PrimitiveComp3 IN Application__PrimitiveComp4
-CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_0 IN Application__PrimitiveComp4_0
+CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_ IN Application__PrimitiveComp4_
 CHANNEL Application__channel3 BRBW 4 8 OUT Application__PrimitiveComp5 IN Application__PrimitiveComp5
-CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
+CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_ IN Application__PrimitiveComp5_
 CHANNEL Application__channel4 BRBW 4 8 OUT Application__PrimitiveComp6 IN Application__PrimitiveComp6
-CHANNEL Application__channel_0 BRBW 4 8 OUT Application__PrimitiveComp1_0 IN Application__PrimitiveComp2_0
+CHANNEL Application__channel_0 BRBW 4 8 OUT Application__PrimitiveComp1_ IN Application__PrimitiveComp2_
 
 // Events
-EVENT Application__event_0__Application__event_0() NIB 8 Application__PrimitiveComp1_0 Application__PrimitiveComp2_0
+EVENT Application__event_0__Application__event_0() NIB 8 Application__PrimitiveComp1_ Application__PrimitiveComp2_
 EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1 Application__PrimitiveComp2
 
 // Requests
@@ -20,7 +22,7 @@ EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1
 TASK Application__PrimitiveComp1
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -32,10 +34,10 @@ TASK Application__PrimitiveComp1
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp1_0
+TASK Application__PrimitiveComp1_
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -50,7 +52,7 @@ ENDTASK
 TASK Application__PrimitiveComp2
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -62,10 +64,10 @@ TASK Application__PrimitiveComp2
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp2_0
+TASK Application__PrimitiveComp2_
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -80,15 +82,15 @@ ENDTASK
 TASK Application__PrimitiveComp3
     TASKOP
     //Local variables
-
+    
     //Behavior
     WRITE Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp3_0
+TASK Application__PrimitiveComp3_
     TASKOP
     //Local variables
-
+    
     //Behavior
     WRITE Application__channel2_0 1
 ENDTASK
@@ -96,15 +98,15 @@ ENDTASK
 TASK Application__PrimitiveComp4
     TASKOP
     //Local variables
-
+    
     //Behavior
     READ Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp4_0
+TASK Application__PrimitiveComp4_
     TASKOP
     //Local variables
-
+    
     //Behavior
     READ Application__channel2_0 1
 ENDTASK
@@ -115,7 +117,7 @@ TASK Application__PrimitiveComp5
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3 1
     EXECI 10
@@ -143,13 +145,13 @@ TASK Application__PrimitiveComp5
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp5_0
+TASK Application__PrimitiveComp5_
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3_0 1
     EXECI 10
@@ -180,8 +182,9 @@ ENDTASK
 TASK Application__PrimitiveComp6
     TASKOP
     //Local variables
-
+    
     //Behavior
     WRITE Application__channel4 1
     READ Application__channel4 1
 ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
index 80a588d37f19c0c5158d2927f24991c8cfb332c4..f57ccb9e7f49c227f9ebf457615ca741895459e2 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
@@ -1,16 +1,22 @@
-// TML Application - FORMAT 0.1
-// Application: /home/levan/Desktop/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
-// Generated: Fri Nov 15 15:19:32 CET 2019
+// TML Application - FORMAT 0.2
+// Application: /Users/ludovicapvrille/TTool/ttool/build/resources/test/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Thu Mar 17 13:31:25 CET 2022
+
+// PRAGMAS
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
 CHANNEL Application__channel2 BRBW 4 8 OUT Application__PrimitiveComp3 IN Application__PrimitiveComp4
-CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_0 IN Application__PrimitiveComp4_0
+CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_ IN Application__PrimitiveComp4_
+CHANNEL Application__channel2_1 BRBW 4 8 OUT Application__PrimitiveComp3_0 IN Application__PrimitiveComp4_0
 CHANNEL Application__channel3 BRBW 4 8 OUT Application__PrimitiveComp5 IN Application__PrimitiveComp5
-CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
+CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_ IN Application__PrimitiveComp5_
+CHANNEL Application__channel3_1 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
 CHANNEL Application__channel4 BRBW 4 8 OUT Application__PrimitiveComp6 IN Application__PrimitiveComp6
+CHANNEL Application__channel_0 BRBW 4 8 OUT Application__PrimitiveComp1_ IN Application__PrimitiveComp2_
 
 // Events
+EVENT Application__event_0__Application__event_0() NIB 8 Application__PrimitiveComp1_ Application__PrimitiveComp2_
 EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1 Application__PrimitiveComp2
 
 // Requests
@@ -18,7 +24,7 @@ EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1
 TASK Application__PrimitiveComp1
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -30,10 +36,25 @@ TASK Application__PrimitiveComp1
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp2
+TASK Application__PrimitiveComp1_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            WRITE Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp2
+    TASKOP
+    //Local variables
+    
     //Behavior
     RAND
         CASERAND 50
@@ -45,45 +66,76 @@ TASK Application__PrimitiveComp2
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp3
+TASK Application__PrimitiveComp2_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            READ Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp3
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp3_0
+TASK Application__PrimitiveComp3_
     TASKOP
     //Local variables
-
+    
     //Behavior
     WRITE Application__channel2_0 1
 ENDTASK
 
-TASK Application__PrimitiveComp4
+TASK Application__PrimitiveComp3_0
     TASKOP
     //Local variables
+    
+    //Behavior
+    WRITE Application__channel2_1 1
+ENDTASK
 
+TASK Application__PrimitiveComp4
+    TASKOP
+    //Local variables
+    
     //Behavior
     READ Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp4_0
+TASK Application__PrimitiveComp4_
     TASKOP
     //Local variables
-
+    
     //Behavior
     READ Application__channel2_0 1
 ENDTASK
 
+TASK Application__PrimitiveComp4_0
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ Application__channel2_1 1
+ENDTASK
+
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3 1
     EXECI 10
@@ -111,13 +163,13 @@ TASK Application__PrimitiveComp5
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp5_0
+TASK Application__PrimitiveComp5_
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3_0 1
     EXECI 10
@@ -145,11 +197,46 @@ TASK Application__PrimitiveComp5_0
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp6
+TASK Application__PrimitiveComp5_0
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_1 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_1 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
 
+TASK Application__PrimitiveComp6
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel4 1
     READ Application__channel4 1
 ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
index 48d0654728316da4552c088e187182be5de42643..e887ed115b23c4680eed707b233982d8917ad538 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
@@ -1,15 +1,23 @@
-// TML Application - FORMAT 0.1
-// Application: /home/levan/Desktop/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
-// Generated: Fri Nov 15 15:20:48 CET 2019
+// TML Application - FORMAT 0.2
+// Application: /Users/ludovicapvrille/TTool/ttool/build/resources/test/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Thu Mar 17 13:32:37 CET 2022
+
+// PRAGMAS
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
 CHANNEL Application__channel2 BRBW 4 8 OUT Application__PrimitiveComp3 IN Application__PrimitiveComp4
+CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_ IN Application__PrimitiveComp4_
+CHANNEL Application__channel2_1 BRBW 4 8 OUT Application__PrimitiveComp3_0 IN Application__PrimitiveComp4_0
 CHANNEL Application__channel3 BRBW 4 8 OUT Application__PrimitiveComp5 IN Application__PrimitiveComp5
-CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
+CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_ IN Application__PrimitiveComp5_
+CHANNEL Application__channel3_1 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
+CHANNEL Application__channel3_2 BRBW 4 8 OUT Application__PrimitiveComp5_1 IN Application__PrimitiveComp5_1
 CHANNEL Application__channel4 BRBW 4 8 OUT Application__PrimitiveComp6 IN Application__PrimitiveComp6
+CHANNEL Application__channel_0 BRBW 4 8 OUT Application__PrimitiveComp1_ IN Application__PrimitiveComp2_
 
 // Events
+EVENT Application__event_0__Application__event_0() NIB 8 Application__PrimitiveComp1_ Application__PrimitiveComp2_
 EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1 Application__PrimitiveComp2
 
 // Requests
@@ -17,7 +25,7 @@ EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1
 TASK Application__PrimitiveComp1
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -29,10 +37,25 @@ TASK Application__PrimitiveComp1
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp2
+TASK Application__PrimitiveComp1_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            WRITE Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp2
+    TASKOP
+    //Local variables
+    
     //Behavior
     RAND
         CASERAND 50
@@ -44,29 +67,76 @@ TASK Application__PrimitiveComp2
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp3
+TASK Application__PrimitiveComp2_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            READ Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp3
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp4
+TASK Application__PrimitiveComp3_
     TASKOP
     //Local variables
+    
+    //Behavior
+    WRITE Application__channel2_0 1
+ENDTASK
 
+TASK Application__PrimitiveComp3_0
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    WRITE Application__channel2_1 1
+ENDTASK
+
+TASK Application__PrimitiveComp4
+    TASKOP
+    //Local variables
+    
     //Behavior
     READ Application__channel2 1
 ENDTASK
 
+TASK Application__PrimitiveComp4_
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ Application__channel2_0 1
+ENDTASK
+
+TASK Application__PrimitiveComp4_0
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ Application__channel2_1 1
+ENDTASK
+
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3 1
     EXECI 10
@@ -94,13 +164,13 @@ TASK Application__PrimitiveComp5
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp5_0
+TASK Application__PrimitiveComp5_
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3_0 1
     EXECI 10
@@ -128,11 +198,80 @@ TASK Application__PrimitiveComp5_0
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp6
+TASK Application__PrimitiveComp5_0
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_1 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_1 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
+
+TASK Application__PrimitiveComp5_1
+    TASKOP
+    //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_2 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_2 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
 
+TASK Application__PrimitiveComp6
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel4 1
     READ Application__channel4 1
 ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
index 0c0473efbefb44f02f5c6ed11a1d8c57785a1248..7072799baaa95a1d887c9ed76540774c7a651f7f 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
@@ -1,15 +1,24 @@
-// TML Application - FORMAT 0.1
-// Application: /home/levan/Desktop/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
-// Generated: Fri Nov 15 15:21:23 CET 2019
+// TML Application - FORMAT 0.2
+// Application: /Users/ludovicapvrille/TTool/ttool/build/resources/test/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Thu Mar 17 13:34:26 CET 2022
+
+// PRAGMAS
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
 CHANNEL Application__channel2 BRBW 4 8 OUT Application__PrimitiveComp3 IN Application__PrimitiveComp4
+CHANNEL Application__channel2_0 BRBW 4 8 OUT Application__PrimitiveComp3_ IN Application__PrimitiveComp4_
+CHANNEL Application__channel2_1 BRBW 4 8 OUT Application__PrimitiveComp3_0 IN Application__PrimitiveComp4_0
 CHANNEL Application__channel3 BRBW 4 8 OUT Application__PrimitiveComp5 IN Application__PrimitiveComp5
+CHANNEL Application__channel3_0 BRBW 4 8 OUT Application__PrimitiveComp5_ IN Application__PrimitiveComp5_
+CHANNEL Application__channel3_1 BRBW 4 8 OUT Application__PrimitiveComp5_0 IN Application__PrimitiveComp5_0
+CHANNEL Application__channel3_2 BRBW 4 8 OUT Application__PrimitiveComp5_1 IN Application__PrimitiveComp5_1
 CHANNEL Application__channel4 BRBW 4 8 OUT Application__PrimitiveComp6 IN Application__PrimitiveComp6
-CHANNEL Application__channel4_0 BRBW 4 8 OUT Application__PrimitiveComp6_0 IN Application__PrimitiveComp6_0
+CHANNEL Application__channel4_0 BRBW 4 8 OUT Application__PrimitiveComp6_ IN Application__PrimitiveComp6_
+CHANNEL Application__channel_0 BRBW 4 8 OUT Application__PrimitiveComp1_ IN Application__PrimitiveComp2_
 
 // Events
+EVENT Application__event_0__Application__event_0() NIB 8 Application__PrimitiveComp1_ Application__PrimitiveComp2_
 EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1 Application__PrimitiveComp2
 
 // Requests
@@ -17,7 +26,7 @@ EVENT Application__event__Application__event() NIB 8 Application__PrimitiveComp1
 TASK Application__PrimitiveComp1
     TASKOP
     //Local variables
-
+    
     //Behavior
     RAND
         CASERAND 50
@@ -29,10 +38,25 @@ TASK Application__PrimitiveComp1
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp2
+TASK Application__PrimitiveComp1_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            WRITE Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp2
+    TASKOP
+    //Local variables
+    
     //Behavior
     RAND
         CASERAND 50
@@ -44,29 +68,76 @@ TASK Application__PrimitiveComp2
     ENDRAND
 ENDTASK
 
-TASK Application__PrimitiveComp3
+TASK Application__PrimitiveComp2_
     TASKOP
     //Local variables
+    
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT Application__event_0__Application__event_0
+        ENDCASERAND
+        CASERAND 50
+            READ Application__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
 
+TASK Application__PrimitiveComp3
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel2 1
 ENDTASK
 
-TASK Application__PrimitiveComp4
+TASK Application__PrimitiveComp3_
     TASKOP
     //Local variables
+    
+    //Behavior
+    WRITE Application__channel2_0 1
+ENDTASK
 
+TASK Application__PrimitiveComp3_0
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    WRITE Application__channel2_1 1
+ENDTASK
+
+TASK Application__PrimitiveComp4
+    TASKOP
+    //Local variables
+    
     //Behavior
     READ Application__channel2 1
 ENDTASK
 
+TASK Application__PrimitiveComp4_
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ Application__channel2_0 1
+ENDTASK
+
+TASK Application__PrimitiveComp4_0
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ Application__channel2_1 1
+ENDTASK
+
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
     int attr1
     bool attr2
     int loop__0 = 0
-
+    
     //Behavior
     WRITE Application__channel3 1
     EXECI 10
@@ -94,20 +165,123 @@ TASK Application__PrimitiveComp5
     ENDFOR
 ENDTASK
 
-TASK Application__PrimitiveComp6
+TASK Application__PrimitiveComp5_
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_0 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_0 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
+
+TASK Application__PrimitiveComp5_0
+    TASKOP
+    //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_1 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_1 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
 
+TASK Application__PrimitiveComp5_1
+    TASKOP
+    //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
+    
+    //Behavior
+    WRITE Application__channel3_2 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms isActiveDelay false
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms isActiveDelay false
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_2 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
+ENDTASK
+
+TASK Application__PrimitiveComp6
+    TASKOP
+    //Local variables
+    
     //Behavior
     WRITE Application__channel4 1
     READ Application__channel4 1
 ENDTASK
 
-TASK Application__PrimitiveComp6_0
+TASK Application__PrimitiveComp6_
     TASKOP
     //Local variables
-
+    
     //Behavior
     WRITE Application__channel4_0 1
     READ Application__channel4_0 1
 ENDTASK
+