diff --git a/MPSoC/Makefile.forsoclib b/MPSoC/Makefile.forsoclib
index a7abb1e60665e4a03c647299101be110d9b14daa..92efe42353bb649ef2d5764affdac58032f58abe 100755
--- a/MPSoC/Makefile.forsoclib
+++ b/MPSoC/Makefile.forsoclib
@@ -18,8 +18,8 @@ updateruntime:
 	cp mutekh/libmwmr/include/mwmr/mwmr.h mutekh/examples/avatar
 	cp mutekh/libsyscams/*.c mutekh/examples/avatar
 	cp mutekh/libsyscams/*.h mutekh/examples/avatar
-	cp src/*.c ~/TTool/MPSoC/mutekh/examples/avatar
-	cp src/*.h ~/TTool/MPSoC/mutekh/examples/avatar
+	cp src/*.c mutekh/MPSoC/mutekh/examples/avatar
+	cp src/*.h mutekh/MPSoC/mutekh/examples/avatar
 
 	
 updategeneratedcode:
diff --git a/src/main/java/elntranslator/toELN/TopCellGenerator.java b/src/main/java/elntranslator/toELN/TopCellGenerator.java
index 44ccd478c42081d9f2a7725ced74b55d9f67a3d7..d80e64324b4dd1e5283d04dca7303e7ce1af3ae0 100644
--- a/src/main/java/elntranslator/toELN/TopCellGenerator.java
+++ b/src/main/java/elntranslator/toELN/TopCellGenerator.java
@@ -62,8 +62,11 @@ import elntranslator.*;
 public class TopCellGenerator {
 	public static ELNSpecification eln;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
+    //private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    //private final static String GENERATED_PATH2 = "generated_H" + File.separator;
+
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
 
 	public TopCellGenerator(ELNSpecification _eln) {
 		eln = _eln;
@@ -93,13 +96,19 @@ public class TopCellGenerator {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+    public void saveFile(String path, Boolean standalone) {
 		ELNTCluster cluster = TopCellGenerator.eln.getCluster();
 		LinkedList<ELNTConnector> connectorsModule = TopCellGenerator.eln.getAllConnectorsInModule();
 		LinkedList<ELNTConnector> connectorsCluster = TopCellGenerator.eln.getAllConnectorsInCluster();
 
 		String top;
 
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
+		
 		try {
 			// Save file .cpp
 			System.err.println(path + GENERATED_PATH1 + cluster.getName() + ".cpp");
@@ -111,13 +120,19 @@ public class TopCellGenerator {
 			ex.printStackTrace();
 		}
 		// Save files .h
-		saveFileModule(path, cluster, connectorsModule);
+		saveFileModule(path, cluster, connectorsModule, standalone);
 	}
 
-	public void saveFileModule(String path, ELNTCluster cluster, List<ELNTConnector> connectors) {
+    public void saveFileModule(String path, ELNTCluster cluster, List<ELNTConnector> connectors, Boolean standalone) {
 		LinkedList<ELNTModule> modules = cluster.getModule();
 		
 		String code;
+
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (ELNTModule module : modules) {
 			try {
@@ -131,4 +146,4 @@ public class TopCellGenerator {
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java b/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
index 07a99113fb6b29e7dc8cb43712af7a6969b8e326..ad82e10c6bffab4b538958bd8d16c7a2f2a8fae3 100644
--- a/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
+++ b/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
@@ -61,9 +61,12 @@ import java.util.LinkedList;
 public class TopCellGenerator {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
+    //private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    //private final static String GENERATED_PATH2 = "generated_H" + File.separator;
+   
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+    
 	public TopCellGenerator(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
@@ -94,12 +97,19 @@ public class TopCellGenerator {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+	public void saveFile(String path, Boolean standalone) {
 		SysCAMSTCluster cluster = TopCellGenerator.syscams.getCluster();
 		LinkedList<SysCAMSTConnector> connectors = TopCellGenerator.syscams.getAllConnectorCluster();
 
 		String top;
 
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
+
+		
 		try {
 			// Save file .cpp
 			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + ".cpp");
@@ -111,13 +121,19 @@ public class TopCellGenerator {
 			ex.printStackTrace();
 		}
 		// Save files .h
-		saveFileBlock(path, cluster);
+		saveFileBlock(path, cluster, standalone);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+	public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
diff --git a/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java b/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
index ccdc017d7be379f32c1fb7009b54b10c84c975f0..7f6a6282c93e5cad6f1d2bf345970cebf0a055e0 100644
--- a/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
+++ b/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
@@ -63,9 +63,10 @@ import java.util.LinkedList;
 public class TopCellGeneratorCluster {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+    
+     
 	public TopCellGeneratorCluster(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
@@ -96,12 +97,17 @@ public class TopCellGeneratorCluster {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+    public void saveFile(String path, Boolean standalone) {
 		SysCAMSTCluster cluster = TopCellGeneratorCluster.syscams.getCluster();
 		LinkedList<SysCAMSTConnector> connectors = TopCellGeneratorCluster.syscams.getAllConnectorsCluster4Soclib();
 
 		String top;
 
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
+		
 		try {
 			// Save file .cpp
 			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
@@ -113,13 +119,18 @@ public class TopCellGeneratorCluster {
 			ex.printStackTrace();
 		}
 		// Save files .h
-		saveFileBlock(path, cluster);
+		saveFileBlock(path, cluster, standalone);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+    public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
diff --git a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/ClusterCodeRodrigo.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/ClusterCodeSoclib.java
similarity index 97%
rename from src/main/java/syscamstranslator/toSysCAMS_rodrigo/ClusterCodeRodrigo.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/ClusterCodeSoclib.java
index fa186bc8d1a4d114a8c3516e9f357af34ee9d3c0..73bd3aa4b5a847f15e616d58deb89d04b75c9163 100644
--- a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/ClusterCodeRodrigo.java
+++ b/src/main/java/syscamstranslator/toSysCAMSSoclib/ClusterCodeSoclib.java
@@ -50,19 +50,19 @@ import java.util.LinkedList;
 import syscamstranslator.*;
 
 /**
- * Class ClusterCodeRodrigo
+ * Class ClusterCodeSoclib
  * Principal code of a cluster component
  * Creation: 14/05/2018
  * @version 1.0 14/05/2018
  * @author Irina Kit Yan LEE
 */
 
-public class ClusterCodeRodrigo {
+public class ClusterCodeSoclib {
 	static private String corpsCluster;
 	private final static String CR = "\n";
 	private final static String CR2 = "\n\n";
 
-	ClusterCodeRodrigo() {}
+	ClusterCodeSoclib() {}
 
 	public static String getClusterCode(SysCAMSTCluster cluster, LinkedList<SysCAMSTConnector> connectors) {
 		int nb_con = 0;
diff --git a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/HeaderRodrigo.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/HeaderSoclib.java
similarity index 100%
rename from src/main/java/syscamstranslator/toSysCAMS_rodrigo/HeaderRodrigo.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/HeaderSoclib.java
diff --git a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/MakefileCodeRodrigo.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/MakefileCodeSoclib.java
similarity index 95%
rename from src/main/java/syscamstranslator/toSysCAMS_rodrigo/MakefileCodeRodrigo.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/MakefileCodeSoclib.java
index 0482f7b278eed16a4a0b329974f948aa18ee12b3..4021cf7d678bb13b71e136d846ea042111bdd866 100644
--- a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/MakefileCodeRodrigo.java
+++ b/src/main/java/syscamstranslator/toSysCAMSSoclib/MakefileCodeSoclib.java
@@ -50,21 +50,21 @@ import java.util.LinkedList;
 import syscamstranslator.*;
 
 /**
- * Class MakefileCodeRodrigo Principal code of a makefile Creation: 02/06/2018
+ * Class MakefileCodeSoclib Principal code of a makefile Creation: 02/06/2018
  * 
  * @version 1.0 02/06/2018
  * @author Irina Kit Yan LEE
  */
 
-public class MakefileCodeRodrigo {
+public class MakefileCodeSoclib {
 	static private String corpsMakefile;
 	private final static String CR = "\n";
 	private final static String CR2 = "\n\n";
 
-	MakefileCodeRodrigo() {
+	MakefileCodeSoclib() {
 	}
 
-	public static String getMakefileCodeRodrigo(LinkedList<SysCAMSTCluster> clusters) {
+	public static String getMakefileCodeSoclib(LinkedList<SysCAMSTCluster> clusters) {
 		if (clusters != null) {
 			corpsMakefile = "# Compiler and linker flags" + CR + "CXXFLAGS = -g -Wall -I. $(SYSTEMC_INCLUDE_DIRS)" + CR
 					+ "LDFLAGS = $(SYSTEMC_LIBRARY_DIRS)" + CR2 + "# List of all ecutables to be compiled" + CR
diff --git a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/PrimitiveCodeRodrigo.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/PrimitiveCodeSoclib.java
similarity index 96%
rename from src/main/java/syscamstranslator/toSysCAMS_rodrigo/PrimitiveCodeRodrigo.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/PrimitiveCodeSoclib.java
index ef1f58c8cd4421ac0d28ccb25a35f99fe6d6601e..be3ae8a5eb4334210ace9707fd5cee92f4fd3e2b 100644
--- a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/PrimitiveCodeRodrigo.java
+++ b/src/main/java/syscamstranslator/toSysCAMSSoclib/PrimitiveCodeSoclib.java
@@ -50,20 +50,20 @@ import java.util.LinkedList;
 import syscamstranslator.*;
 
 /**
- * Class PrimitiveCodeRodrigo
+ * Class PrimitiveCodeSoclib
  * Principal code of a primive component
  * Creation: 14/05/2018
  * @version 1.0 14/05/2018
  * @author Irina Kit Yan LEE
  */
 
-public class PrimitiveCodeRodrigo {
+public class PrimitiveCodeSoclib {
 	static private String corpsPrimitiveTDF;
 	static private String corpsPrimitiveDE;
 	private final static String CR = "\n";
 	private final static String CR2 = "\n\n";
 
-	PrimitiveCodeRodrigo() {}
+	PrimitiveCodeSoclib() {}
 
 	public static String getPrimitiveCodeTDF(SysCAMSTBlockTDF tdf) {
 		corpsPrimitiveTDF = "";
diff --git a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/TopCellGeneratorRodrigo.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
similarity index 74%
rename from src/main/java/syscamstranslator/toSysCAMS_rodrigo/TopCellGeneratorRodrigo.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
index 0d24c64c61194d50ab7a2f3c4125dc2c7e604a04..3a203848ca159fb1ac1bed4764910594cddb1e78 100644
--- a/src/main/java/syscamstranslator/toSysCAMS_rodrigo/TopCellGeneratorRodrigo.java
+++ b/src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
@@ -58,13 +58,15 @@ import java.util.LinkedList;
  * @author Irina Kit Yan LEE
 */
 
-public class TopCellGeneratorRodrigo {
+public class TopCellGeneratorSoclib {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
-	public TopCellGeneratorRodrigo(SysCAMSSpecification sys) {
+   
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+  
+   
+	public TopCellGeneratorSoclib(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
 
@@ -72,37 +74,43 @@ public class TopCellGeneratorRodrigo {
 		if (c == null) {
 			System.out.println("***Warning: require at least one cluster***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbBlockTDF() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbBlockTDF() == 0) {
 			System.out.println("***Warning: require at least one TDF block***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbPortTDF() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbPortTDF() == 0) {
 			System.out.println("***Warning: require at least one TDF port***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbBlockDE() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbBlockDE() == 0) {
 			System.out.println("***Warning: require at least one DE block***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbPortDE() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbPortDE() == 0) {
 			System.out.println("***Warning: require at least one DE port***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbPortConverter() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbPortConverter() == 0) {
 			System.out.println("***Warning: require at least one converter port***");
 		}
-		if (TopCellGeneratorRodrigo.syscams.getNbConnectorCluster() == 0) {
+		if (TopCellGeneratorSoclib.syscams.getNbConnectorCluster() == 0) {
 			System.out.println("***Warning: require at least one connector***");
 		}
-		String top = HeaderRodrigo.getClusterHeader(c) + ClusterCodeRodrigo.getClusterCode(c, connectors);
+		String top = HeaderSoclib.getClusterHeader(c) + ClusterCodeSoclib.getClusterCode(c, connectors);
 		return (top);
 	}
 
-	public void saveFile(String path) {
-		SysCAMSTCluster cluster = TopCellGeneratorRodrigo.syscams.getCluster();
-		LinkedList<SysCAMSTConnector> connectors = TopCellGeneratorRodrigo.syscams.getAllConnectorCluster();
+	public void saveFile(String path, Boolean standalone) {
+		SysCAMSTCluster cluster = TopCellGeneratorSoclib.syscams.getCluster();
+		LinkedList<SysCAMSTConnector> connectors = TopCellGeneratorSoclib.syscams.getAllConnectorCluster();
 
 		String top;
 
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}    
+		
 		try {
 			// Save file .cpp
-			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
+
+		  System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
 			FileWriter fw = new FileWriter(path + GENERATED_PATH1 + "/" + cluster.getClusterName() + "_tdf.h");
 			top = generateTopCell(cluster, connectors);
 			fw.write(top);
@@ -114,18 +122,23 @@ public class TopCellGeneratorRodrigo {
 		saveFileBlock(path, cluster);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+	public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
 				System.err.println(path + GENERATED_PATH2 + t.getName() + "_tdf.h");
 				FileWriter fw = new FileWriter(path + GENERATED_PATH2 + "/" + t.getName() + "_tdf.h");
-				headerTDF = HeaderRodrigo.getPrimitiveHeaderTDF(t);
+				headerTDF = HeaderSoclib.getPrimitiveHeaderTDF(t);
 				fw.write(headerTDF);
-				codeTDF = PrimitiveCodeRodrigo.getPrimitiveCodeTDF(t);
+				codeTDF = PrimitiveCodeSoclib.getPrimitiveCodeTDF(t);
 				fw.write(codeTDF);
 				fw.close();
 			} catch (Exception ex) {
@@ -136,9 +149,9 @@ public class TopCellGeneratorRodrigo {
 			try {
 				System.err.println(path + GENERATED_PATH2 + t.getName() + "_tdf.h");
 				FileWriter fw = new FileWriter(path + GENERATED_PATH2 + "/" + t.getName() + "_tdf.h");
-				headerDE = HeaderRodrigo.getPrimitiveHeaderDE(t);
+				headerDE = HeaderSoclib.getPrimitiveHeaderDE(t);
 				fw.write(headerDE);
-				codeDE = PrimitiveCodeRodrigo.getPrimitiveCodeDE(t);
+				codeDE = PrimitiveCodeSoclib.getPrimitiveCodeDE(t);
 				fw.write(codeDE);
 				fw.close();
 			} catch (Exception ex) {
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index bf434c3004d2477ca1fdf64a6a38efb42710852c..80a152de55d2a3da75a1cae7716c6df5e70b2843 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -107,6 +107,7 @@ import ui.procsd.ProCSDComponent;
 import ui.procsd.ProactiveCSDPanel;
 import ui.prosmd.ProactiveSMDPanel;
 import ui.req.RequirementDiagramPanel;
+import ui.syscams.SysCAMSComponentTaskDiagramPanel;
 import ui.sysmlsecmethodology.SysmlsecMethodologyDiagramPanel;
 import ui.tmlad.*;
 import ui.tmlcd.TMLTaskDiagramPanel;
@@ -6481,10 +6482,10 @@ public class GTURTLEModeling {
             ((AvatarADPanel) tdp).setConnectorsToFront();
         }
 
-        /*if(tdp instanceof SysCAMSComponentTaskDiagramPanel)  {
+        if(tdp instanceof SysCAMSComponentTaskDiagramPanel)  {
             //TraceManager.addDev("Connectors...");
             ((SysCAMSComponentTaskDiagramPanel) tdp).setConnectorsToFront();
-        }*/
+        }
     }
 
     // AVATAR
diff --git a/src/main/java/ui/window/JDialogELNExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogELNExecutableCodeGeneration.java
index 3ef7014b1da3efc007f14429f13a417bfddf491f..80366ab9f54589e4efed13bdde8eee982d11d1e4 100644
--- a/src/main/java/ui/window/JDialogELNExecutableCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogELNExecutableCodeGeneration.java
@@ -500,6 +500,8 @@ public class JDialogELNExecutableCodeGeneration extends javax.swing.JFrame imple
 //        String list;//, data;
 //        hasError = false;
 
+	Boolean standalone = true; //are there any GPIO blocks? Currently ELN is always standalone and has no direct connection to SocLib (via TDF: yes)
+	
         try {
             if (jp1.getSelectedIndex() == 0) {
                 jta.append("Generating executable code (ELN version)\n");
@@ -531,7 +533,7 @@ public class JDialogELNExecutableCodeGeneration extends javax.swing.JFrame imple
                 			pathCode = code2.getText();
 
                 			System.err.println("ELN TOPCELL : " + elnSpec.getCluster().getName() + "saved in " + code2.getText());
-                			topCellGenerator.saveFile(pathCode);
+                			topCellGenerator.saveFile(pathCode, standalone);
 
                 			jta.append("Code saved\n");
                 		} catch (Exception e) {
diff --git a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
index c5c80dd0739270ae2bfee31a50ececaca37d6352..8fc324ade520c32f01175912aac7a5f8ba4d955b 100644
--- a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
@@ -509,6 +509,8 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
 //        String list;//, data;
         hasError = false;
 
+	Boolean standalone = true; //are there any GPIO blocks?
+	
         try {
             if (jp1.getSelectedIndex() == 0) {
                 Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagramPanels = mgui.getListSysCAMSPanel();
@@ -540,6 +542,9 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
                             } 
                             for(SysCAMSTBlockGPIO2VCI gpioBlock : gpioBlocks) {
                                 nbPorts += gpioBlock.getPortDE().size();
+				standalone=false;
+
+				
                             }
                             if(nbPorts != (allConnectors.size()*2)) {
                                 jta.append("Error: There are unconnected ports.\n");
@@ -676,8 +681,8 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
                 			pathCode = code2.getText();
 
                 			System.err.println("SYSCAMS TOPCELL : " + syscalsspec.getCluster().getClusterName() + "saved in " + code2.getText());
-                			topCellGenerator.saveFile(pathCode);
-                            topCellGeneratorCluster.saveFile(pathCode);
+                			topCellGenerator.saveFile(pathCode,standalone);
+                            topCellGeneratorCluster.saveFile(pathCode,standalone);
 
                 			jta.append("Code saved\n");
                 		} catch (Exception e) {